diff --git a/.gitignore b/.gitignore index a0089d03cde594084f554ac5331c1a11220bc0c9..bb7153f4debdfc58e59bda600f0ba5af6629cb6a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,8 +4,6 @@ .idea/ dist/ -spec/zustelldienst-bundled.yml - # Dependencies node_modules/ diff --git a/docs/apis/delivery-service.mdx b/docs/apis/submission-api.mdx similarity index 55% rename from docs/apis/delivery-service.mdx rename to docs/apis/submission-api.mdx index 5335ab2d6c4b760d0d6da21c8b56b8eba6e551b3..05ff5ded25c66a624a79e531285eb9a2fb829cc9 100644 --- a/docs/apis/delivery-service.mdx +++ b/docs/apis/submission-api.mdx @@ -5,4 +5,4 @@ hide_table_of_contents: true import ApiSpec from '@site/src/components/ApiSpec' -<ApiSpec gitlabProjectId={"1"} path={"openapi"} artifact={"zustelldienst.yml"} /> +<ApiSpec gitlabProjectId={"1"} path={"submission-api"} artifact={"submission-api.yaml"} /> diff --git a/docs/getting-started/authentication.mdx b/docs/getting-started/authentication.mdx index 77a6bc284e9e0cca51f670508ba9d16705a79b53..31ad91de07a239928eb193e6ecd21c947f31fb0e 100644 --- a/docs/getting-started/authentication.mdx +++ b/docs/getting-started/authentication.mdx @@ -12,7 +12,7 @@ Als Voraussetzungen hierfür ist es notwendig, Accounts für [API-Clients im Sel ## Abruf von Access Tokens beim OAuth-Dienst Fast alle Anfragen an die FIT-Connect Submission API müssen authentifiziert werden. -Hierfür ist ein Access Token notwendig, das beim OAuth-Dienst über die hierfür vorgesehene `Token URL` abgerufen werden kann (siehe Abschnitt `AUTHENTICATION` in der [Schnittstellenspezifikation](../apis/delivery-service)). +Hierfür ist ein Access Token notwendig, das beim OAuth-Dienst über die hierfür vorgesehene `Token URL` abgerufen werden kann (siehe Abschnitt `AUTHENTICATION` in der [Schnittstellenspezifikation](../apis/submission-api)). Für den Abruf von Access Tokens ist die [Konfiguration eines API-Client im Self-Service-Portal](../account.mdx) nötig. Das Token kann anschließend bei Anfragen über den `Authorization` Header mitgeschickt werden. diff --git a/docs/getting-started/receiving/process-and-acknowledge.mdx b/docs/getting-started/receiving/process-and-acknowledge.mdx index 0325de5f893b3dc47295389a6ef4423f7e9b885a..291fac49e2f480314549f7fa99106480ff51afc9 100644 --- a/docs/getting-started/receiving/process-and-acknowledge.mdx +++ b/docs/getting-started/receiving/process-and-acknowledge.mdx @@ -44,7 +44,7 @@ Weiterhin ist es notwendig, dass die Id der Einreichung und des zugehörigen Vor ``` Die Payload- und Header-Attribute des SET müssen wie oben beschrieben definiert werden (siehe markierte Zeilen). - Im dritten markierten Block wird das SET mit dem Schlüssel signiert und danach kann der serialisierte Wert an den [Zustelldienst](../../apis/delivery-service.mdx#post-/submissions/-submissionId-/events) gesendet werden. + Im dritten markierten Block wird das SET mit dem Schlüssel signiert und danach kann der serialisierte Wert an den [Zustelldienst](../../apis/submission-api.mdx#post-/submissions/-submissionId-/events) gesendet werden. ```java {3-10,12-16,22-24} try { diff --git a/docs/getting-started/sending/start-submission.mdx b/docs/getting-started/sending/start-submission.mdx index 0068805566ae572ec19a1ca17611283511e3b4c0..d6b8689b2f2794c5b50a3e3045bc485fdf95b21a 100644 --- a/docs/getting-started/sending/start-submission.mdx +++ b/docs/getting-started/sending/start-submission.mdx @@ -7,7 +7,7 @@ import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' ## Eine neue Einreichung anlegen -Das Anlegen einer neuen Einreichung über die API erfordert den Versand einer [HTTP-POST-Nachricht](../../apis/delivery-service.mdx#post-/submissions), die definiert, an welchen Zustellpunkt der Einreichung versendet werden soll und welche Inhalte übermittelt werden sollen. +Das Anlegen einer neuen Einreichung über die API erfordert den Versand einer [HTTP-POST-Nachricht](../../apis/submission-api.mdx#post-/submissions), die definiert, an welchen Zustellpunkt der Einreichung versendet werden soll und welche Inhalte übermittelt werden sollen. Die Inhalte umfassen hierbei die Identifikatoren der Anlagen als UUIDs und die Information, ob Fachdaten mit versendet werden oder nicht. Die UUIDs der Anlagen müssen eindeutig sein und werden vom sendenden System festgelegt. diff --git a/docs/getting-started/sending/submit.mdx b/docs/getting-started/sending/submit.mdx index 372d4b6e2b97b3f68632ae8f222dfbee7e80e6fb..23938c44692606160af61957787fba9bdca5017b 100644 --- a/docs/getting-started/sending/submit.mdx +++ b/docs/getting-started/sending/submit.mdx @@ -6,7 +6,7 @@ sidebar_position: 8 import Tabs from '@theme/Tabs' import TabItem from '@theme/TabItem' -Die Einreichung kann abgeschlossen werden, indem mit einem PUT auf den Endpunkt [/submissions/{submissionId}](../../apis/delivery-service.mdx#put-/submissions/-submissionId-) der Metadatensatz und der Fachdatensatz hochgeladen wird. +Die Einreichung kann abgeschlossen werden, indem mit einem PUT auf den Endpunkt [/submissions/{submissionId}](../../apis/submission-api.mdx#put-/submissions/-submissionId-) der Metadatensatz und der Fachdatensatz hochgeladen wird. Diese PUT Methode kann nur folgreich durchgeführt werden, wenn folgende Bedingungen vorliegen: - Es muss immer ein Metadatensatz hochgeladen werden diff --git a/docs/getting-started/submission-structure.md b/docs/getting-started/submission-structure.md index 0f568ebfe224a2d27ba3ad0c21b9b1a4f8ca3cc8..d673da4b2ebc6c8a55a2e6551fc565dbfe265847 100644 --- a/docs/getting-started/submission-structure.md +++ b/docs/getting-started/submission-structure.md @@ -16,7 +16,7 @@ Eine Einreichung, die über die Submission API übermittelt wird, besteht aus dr - Ein optionaler Fachdatensatz (`data`), der die Daten eines Antrags oder Berichts enthält und einem im Zustellpunkt vorgegebenen Datenschema (`submissionSchema`) entspricht. - Eine oder mehrere optionale Anlagen (`attachments`) ergänzend zum Fachdatensatz. Die können Nachweise in Form von PDF-Urkunden, Bauanlagen wie XPlanGML-basierte Baupläne oder auch technische Laufzettel vom sendenden System sein. - Ein obligatorischer Metadatensatz `metadata`), der die Einreichung beschreibt und zusammen mit der Submission API im Rahmen von FIT-Connect standardisiert wird. -Dieser enthält Strukturinformationen zum Fachdatensatz und Anlagen sowie prozessrelevante Informationen wie die Authentizierung des Absenders, Zahlungsinformationen (z.B. von Verfahrensgebühren) oder Rückkanalwünschen. +Dieser enthält Strukturinformationen zum Fachdatensatz und Anlagen sowie prozessrelevante Informationen wie die Authentizierung des Absenders, Zahlungsinformationen (z.B. von Verfahrensgebühren) oder Rückkanalwünschen. ## Wie stimmen sich sendende und empfangende Systeme beim Inhalt einer Einreichung ab? @@ -60,7 +60,7 @@ Die Fachschemarefenz ist im Zustellpunkt daher immer einer dazugehörigen Leistu ``` -Wenn ein sendendes System die Angaben eines Zustellpunkts ermittelt (bspw. über [GET /destinations/{destinationId}](../apis/delivery-service.mdx#get-/destinations/-destinationId-) oder zukünftig die Routing API), so muss der Fachdatensatz diesem Schema entsprechen. +Wenn ein sendendes System die Angaben eines Zustellpunkts ermittelt (bspw. über [GET /destinations/{destinationId}](../apis/submission-api.mdx#get-/destinations/-destinationId-) oder zukünftig die Routing API), so muss der Fachdatensatz diesem Schema entsprechen. Wenn mehrere Schemata (bspw. innerhalb des `submissionSchemas` Array) im Zustellpunkt referenziert werden, so muss der Fachdatensatz einem dieser referenzierten Schemata entsprechen. ## Warum muss das sendende System über den Metadatensatz eine Fachschemareferenz mitliefern? @@ -82,7 +82,7 @@ Insbesondere wenn ein empfangendes System viele unterschiedliche Schemata über ## Sind Vorgaben für die Anzahl der Anlagen und deren Format möglich? -Aktuell sind keine konkreten Vorgaben für die Anzahl und das Format der Anlagen durch ein empfangendes Sytem über die Angaben im Zustellpunkt möglich. +Aktuell sind keine konkreten Vorgaben für die Anzahl und das Format der Anlagen durch ein empfangendes Sytem über die Angaben im Zustellpunkt möglich. Aktuell existieren lediglich Vorgaben für die Gesamtgröße einer Einreichung (Fachdatensatz+Anlagen), die den Umfang der Anlagen hinsichtlich der Datengrößen begrenzen. Für sonstige technische Vorgaben für Anlagen wird aktuell davon ausgegangen, dass die Fachstandards, zu denen ein genutzter Fachdatensatz gehört, technische Vorgaben für Anlagen machen. Ansonsten sollte ein empfangendes System im Mimimum PDF als Format für Anlagen akzeptieren. diff --git a/docs/status-and-error-codes.md b/docs/status-and-error-codes.md index c993e2c5f701f8fc6fab88ca5fac221e2c45302e..7619015d9e88dea491fb14f1dce140d17d744110 100644 --- a/docs/status-and-error-codes.md +++ b/docs/status-and-error-codes.md @@ -36,35 +36,35 @@ abgebildet. Fachliche schon. | `type` des technischen Fehlers | Titel laut [httpstatus.es](https://httpstatuses.com/) | Beschreibung | |------------------------------------------------------------------------|---------------------------------------------------------|--------------| -| https://schema.fitko.de/fit-connect/problems/constraint-violation | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/request-binding-error | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/no-handler-found | 404 Not Found | | -| https://schema.fitko.de/fit-connect/problems/missing-request-part | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/missing-request-parameter | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/socket-timeout | 504 Gateway Timeout | | -| https://schema.fitko.de/fit-connect/problems/type-mismatch | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/multipart-error | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/message-not-readable | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/method-not-supported | 405 Method Not Allowed | | -| https://schema.fitko.de/fit-connect/problems/media-type-not-supported | 415 Unsupported Media Type | | -| https://schema.fitko.de/fit-connect/problems/media-type-not-acceptable | 406 Not Acceptable | | -| https://schema.fitko.de/fit-connect/problems/unsupported-operation | 501 Not Implemented | | -| https://schema.fitko.de/fit-connect/problems/invalid-state-transition | 500 Internal Server Error | | +| https://schema.fitko.de/fit-connect/submission-api/problems/constraint-violation | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/request-binding-error | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/no-handler-found | 404 Not Found | | +| https://schema.fitko.de/fit-connect/submission-api/problems/missing-request-part | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/missing-request-parameter | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/socket-timeout | 504 Gateway Timeout | | +| https://schema.fitko.de/fit-connect/submission-api/problems/type-mismatch | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/multipart-error | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/message-not-readable | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/method-not-supported | 405 Method Not Allowed | | +| https://schema.fitko.de/fit-connect/submission-api/problems/media-type-not-supported | 415 Unsupported Media Type | | +| https://schema.fitko.de/fit-connect/submission-api/problems/media-type-not-acceptable | 406 Not Acceptable | | +| https://schema.fitko.de/fit-connect/submission-api/problems/unsupported-operation | 501 Not Implemented | | +| https://schema.fitko.de/fit-connect/submission-api/problems/invalid-state-transition | 500 Internal Server Error | | ### Fachliche Fehler | `type` des fachlichen Fehlers | Titel laut [httpstatus.es](https://httpstatuses.com/) | Beschreibung | |---------------------------------------------------------------------------|---------------------------------------------------------|--------------| -| https://schema.fitko.de/fit-connect/problems/access-forbidden | 403 Forbidden | | -| https://schema.fitko.de/fit-connect/problems/submission-already-fetched | 410 Gone | | -| https://schema.fitko.de/fit-connect/problems/submission-incomplete | 422 Unprocessable Entity | | -| https://schema.fitko.de/fit-connect/problems/submission-not-found | 404 Not Found | | -| https://schema.fitko.de/fit-connect/problems/not-in-acknowledgeable-state | 422 Unprocessable Entity | | -| https://schema.fitko.de/fit-connect/problems/attachment-not-announced | 422 Unprocessable Entity | | -| https://schema.fitko.de/fit-connect/problems/attachment-not-found | 404 Not Found | | -| https://schema.fitko.de/fit-connect/problems/destination-not-found | 404 Not Found | | -| https://schema.fitko.de/fit-connect/problems/empty-attachment | 400 Bad Request | | -| https://schema.fitko.de/fit-connect/problems/jwk-not-valid | 422 Unprocessable Entity | JWK fachlich nicht zulässig. Details stehen im Feld `detail`. | +| https://schema.fitko.de/fit-connect/submission-api/problems/access-forbidden | 403 Forbidden | | +| https://schema.fitko.de/fit-connect/submission-api/problems/submission-already-fetched | 410 Gone | | +| https://schema.fitko.de/fit-connect/submission-api/problems/submission-incomplete | 422 Unprocessable Entity | | +| https://schema.fitko.de/fit-connect/submission-api/problems/submission-not-found | 404 Not Found | | +| https://schema.fitko.de/fit-connect/submission-api/problems/not-in-acknowledgeable-state | 422 Unprocessable Entity | | +| https://schema.fitko.de/fit-connect/submission-api/problems/attachment-not-announced | 422 Unprocessable Entity | | +| https://schema.fitko.de/fit-connect/submission-api/problems/attachment-not-found | 404 Not Found | | +| https://schema.fitko.de/fit-connect/submission-api/problems/destination-not-found | 404 Not Found | | +| https://schema.fitko.de/fit-connect/submission-api/problems/empty-attachment | 400 Bad Request | | +| https://schema.fitko.de/fit-connect/submission-api/problems/jwk-not-valid | 422 Unprocessable Entity | JWK fachlich nicht zulässig. Details stehen im Feld `detail`. | ## Verhalten von API Clients diff --git a/src/components/ApiLink.js b/src/components/ApiLink.js index 245f654fbd8892cfad09d7bb015a428c8d1e8b54..27286d75b562ecd7e33ead0d8f9ac584970a99fb 100644 --- a/src/components/ApiLink.js +++ b/src/components/ApiLink.js @@ -2,7 +2,7 @@ import React from "react" import Link from '@docusaurus/Link' export default ({ to, withMethod='get', children }) => { - const url = `/docs/apis/delivery-service#${withMethod.toLowerCase()}-${to.replace(/[{}]/g, '-')}` + const url = `/docs/apis/submission-api#${withMethod.toLowerCase()}-${to.replace(/[{}]/g, '-')}` if (children) { return <Link to={url}>{children}</Link> } else {