Zustellpunkte
Verwalten per API-Aufrufe
Diese Seite zeigt, wie Sie per API-Aufrufe Zustellpunkte ändern, abfragen und löschen (verwalten). Sie können Zustellpunkte auch im Self-Service-Portal (SSP) verwalten. Die Seite Zustellpunkte erstellen beschreibt, wie Sie einen Zustellpunkt im SSP anlegen. Die Seite Zustellpunkte löschen zeigt, wie Sie im SSP einen Zustellpunkt löschen.
Voraussetzungen
Um einen Zustellpunkt per API-Aufruf zu verwalten, müssen die folgenden Voraussetzungen erfüllt sein.
- Subscriber-Client
Sie haben im Self-Service-Portal einen Client des Typs Subscriber angelegt. Die Seite Accountregistrierung und Client-Verwaltung beschreibt, wie Sie einen Client des Typs Subscriber erzeugen. - Destination Management API autorisiert
Beim Anlegen eines Clients haben Sie das optionale Feature aktiviert: Diesen Subscriber-Client zur Erstellung von Zustellpunkten über die Destination Management API autorisieren. - Client-ID und Client-Secret
Beim Anlegen des Subscriber-Clients wird die ID und das Secret des Clients angezeigt. Das Client-Secret wird nur beim Anlegen des Zustellpunktes gezeigt, danach nicht mehr. Sie müssen also das Client-Secret kopieren und speichern. - Access-Token
Die ID und das Secret dieses Clients benötigen Sie für den Aufruf des OAuth-Servers, um ein Access-Token zu erhalten, das Sie dazu berechtigt, per API-Aufruf auf diesen Client zuzugreifen. Sie erhalten das Token vom OAuth-Server, der für die jeweilige Umgebung von FIT-Connect zuständig ist. Die Seite Betriebsumgebungen der FIT-Connect-Infrastruktur beschreibt die Umgebungen und enthält für jede Umgebung die URLs für die einzelnen Dienste. Die Seite Authentifizierung beschreibt den Aufruf des OAuth-Servers, um ein Access-Token zu erhalten. - JWK-Token
Beim Aufruf des OAuth-Servers sendet der Server ein JSON-Object zurück, das unter der Eigenschaftaccess_token
ein Token im Format JWT (JSON Web Token) enthält. Speichern Sie das Token in einer Variablen. Die folgenden Beispiele verwenden dafür die VariableJWT_Token
. Ein JWT-Token beginnt zum Beispiel mit "eyJraWQiOiJHb2JOIi..."
Token sind nur für 30 Minuten gültig und müssen dann erneuert werden.
Die folgenden Beispiele für den Aufruf von API-Endpunkten verwenden das Kommandozeilen-Programm cURL.
Zustellpunkt abfragen
Um die Eigenschaften eines Zustellpunkts zu erfragen, steht der folgende API-Endpunkt zur Verfügung:
Diesen Endpunkt ruft das folgende Beispiel auf,
um die Eigenschaften (Parameter) eines Zustellpunkts zu erfragen,
der im Zustelldienst der Testumgebung angelegt wurde.
Dem Zustellpunkt des Beispiels ist die ID bbc2f369-0644-4e77-b23f-9fd679cd9fd6
zugewiesen.
Der Beginn des JWT-Tokens ist im Beispiel "eyJraWQiOiJHb2JOIi...".
Die vollständige URL des Endpunkts lautet in der Testumgebung: https://submission-api-testing.fit-connect.fitko.dev/v1/destinations/bbc2f369-0644-4e77-b23f-9fd679cd9fd6
$ SUBMISSION_API=https://submission-api-testing.fit-connect.fitko.dev
$ JWT_TOKEN=eyJraWQiOiJHb2JOIi...
$ DESTINATION_ID=bbc2f369-0644-4e77-b23f-9fd679cd9fd6
# Eigenschaft einer Destination erfragen
$ curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
$SUBMISSION_API/v1/destinations/$DESTINATION_ID
Die Antwort des Endpunktes lautet:
{
"destinationId":"bbc2f369-0644-4e77-b23f-9fd679cd9fd6",
"status":"active",
"services":[
{
"identifier":"urn:de:fim:leika:leistung:99001001000000",
"submissionSchemas":[
{
"schemaUri":"https://schema.fitko.de/fim/s00000096_1.0.schema.json",
"mimeType":"application/json"
}
],
"regions": [
"DE01001"
],
"replyChannels": {
"eMail": {
"usePgp": false
}
}
}
],
"encryptionKid":"JXu78OPVZ4Vw3lRTnbotySG65n3JRyO3vlJZuywJzmo",
"contactInformation":{
"legalName":"Meine Gemeinde",
"address":"Meine Straße 1,82284,MeineStadt",
"phone":"0880762242",
"email":"info@meineemail.de",
"unit":"Standesamt"
},
"metadataVersions":[
"1.1.0"
]
}
Das folgende Bild zeigt,
wie Sie die Eigenschaften eines Zustellpunktes erfragen,
indem Sie den API-Endpunkt GET /v1/destinations/{destinationId}
mit dem Programm Postman aufrufen.
Im Bild oben ist der Aufruf zu sehen,
im Bild unten die Antwort des Zustelldienstes:
Zustellpunkt anlegen
Um einen neuen Zustellpunkt anzulegen, verwenden Sie das Self-Service-Portal (SSP). Die Seite Zustellpunkte erstellen zeigt, wie Sie im SSP einen Zustellpunkt anlegen. Zukünfig können Sie auch mithilfe eines eigenen Programms einen Zustellpunkt erstellen, indem Sie den folgenden Endpunkt aufrufen:
In der Dokumentation der API ist angegeben, welche Daten für das Anlegen eines Zustellpunktes erforderlich sind. Zudem ist dort ein Beispiel für die Daten zu sehen, unter REQUEST > EXAMPLE.
Zurzeit ist das Anlegen von Zustellpunkten nur im Self-Service-Portal möglich.
Es wird aber in Zukunft möglich sein,
Zustellpunkte auch über den Aufruf des API-Endpunkts POST /v1/destinations
zu erstellen.
Zustellpunkte ändern
Zum Ändern und Aktualisieren eines Zustellpunktes stehen die folgenden Endpunkte zur Verfügung:
- Vollständige Aktualisierung eines Zustellpunktes:
PUT /v1/destinations/{destinationId}
- Partielle Aktualisierung eines Zustellpunktes:
PATCH /v1/destinations/{destinationId}
Für die Aktualisierung der Schlüssel des Zustellpunktes gibt es den folgenden Endpunkt:
Die Details sind der API-Spec zu entnehmen. Eine Beschreibung der Parameter des Zustellpunkt-Objektes finden Sie auf der Seite Aufbau der Zustellpunkt-Informationen.
Aktualisierung des Verschlüsselungsschlüssels eines Zustellpunktes
$ SUBMISSION_API=https://submission-api-testing.fit-connect.fitko.dev
$ JWT_TOKEN=eyJraWQiOiJHb2JOIiwidHlwIjoiYXQrand0...
$ DESTINATION_ID=d2bf7cf7-2625-4737-974f-0dd2054f8c6f
# Hinzufügen eines Schlüssels zu einer Destination
$ curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
--data '{"kty": "RSA", "kid": "new-encryption-key", "alg": "RSA-OAEP-256", "key_ops": ["wrapKey"], "x5c": ["..."], "e": "AQAB", "n": "..."}' \
"$SUBMISSION_API/v1/destinations/$DESTINATION_ID/keys"
# Setzen der Schlüssel-ID als Verschlüsselungsschlüssel
$ curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
--data '{"encryptionKid": "new-encryption-key"}' \
"$SUBMISSION_API/v1/destinations/$DESTINATION_ID"
Zustellpunkt löschen
Sie können Zustellpunkte löschen,
indem Sie den Endpunkt DELETE /v1/destinations/{destinationId}
aufrufen.
Das folgende Beispiel löscht den Zustellpunkt mit der ID c3f1ae54-3844-48a5-8ea3-42db8897120f:
$ SUBMISSION_API=https://submission-api-testing.fit-connect.fitko.dev
$ JWT_TOKEN=eyJraWQiOiJHb2JOIiwidHlwIjoiYXQrand0...
$ DESTINATION_ID=c3f1ae54-3844-48a5-8ea3-42db8897120f
# Löschen einer Destination
$ curl -X DELETE \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
"$SUBMISSION_API/v1/destinations/$DESTINATION_ID"
Das folgende Bild zeigt,
wie Sie einen Zustellpunkt löschen,
indem Sie den API-Endpunkt DELETE /v1/destinations/{destinationId}
mit dem Programm Postman aufrufen.
Im Bild ist der Aufruf zu sehen (oben).
Bei diesem Aufruf sendet der Zustelldienst im Erfolgsfall keine Antwort zurück.
Die Seite Löschen beschreibt, wann Sie Zustellpunkte löschen können.
Status des Zustellpunkts ändern
Der Status kann über den Endpunkt PATCH /v1/destinations/{destinationId}
aktualisiert werden.
$ SUBMISSION_API=https://submission-api-testing.fit-connect.fitko.dev
$ JWT_TOKEN=...
$ DESTINATION_ID=...
# Aktivieren einer Destination
$ curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JWT_TOKEN" \
--data '{"status": "active"}' \
"$SUBMISSION_API/v1/destinations/$DESTINATION_ID"
Das folgende Bild zeigt,
wie Sie die Eigenschaften eines Zustellpunktes ändern (aktualisieren),
indem Sie den API-Endpunkt PATCH /v1/destinations/{destinationId}
mit dem Programm Postman aufrufen.
Das folgende Beispiel aktiviert den Zustellpunkt mit der ID d2bf7cf7-2625-4737-974f-0dd2054f8c6f
,
d. h., der Status des Zustellpunktes soll auf active
gesetzt werden.
Im Bild ist der Aufruf zu sehen (oben).
Die Antwort des Zustelldienstes sehen Sie unten im Bild: Der Status ist jetzt auf active
gesetzt.
Das folgende Bild zeigt das JSON-Objekt,
das mit dem Aufruf des API-Endpunkts PATCH /v1/destinations/{destinationId}
gesendet wurde,
um den Status auf active
zu setzen:
Wartefrist vor dem Wechsel von inactive
zu decommissioned
Wird ein Zustellpunkt in den Status decommissioned
versetzt, so kann er nicht mehr reaktiviert werden.
Daher wurde eine Wartefrist von 30 Tagen im Status inactive
vorgesehen.
Erst nach Ablauf dieser Zeit kann er in den Status decommissioned
versetzt werden.
Sofern Sie den Statuswechsel zu früh versuchen, erhalten Sie über das Self-Service-Portal folgende Fehlermeldung:
Über die Submission-API erhalten Sie folgende Meldung.
{
"type": "https://schema.fitko.de/fit-connect/submission-api/problems/destination-state-invalid",
"title": "Destination State invalid",
"status": 422,
"detail": "Destination df7fb66a-8c25-45a7-8325-793e42822eac has the wrong state for this operation."
}