Zum Hauptinhalt springen

Einreichung anlegen

Eine neue Einreichung anlegen

Das Anlegen einer neuen Einreichung erfolgt über den Endpunkt POST /v1/submissions der Submission API. Hierbei legt das sendende System fest, an welchen Zustellpunkt die Einreichung versendet werden soll und welche Anlagen übermittelt werden sollen.

Hinweis

Eine Übermittlung von Einreichungen an einen Zustellpunkt ist nur möglich, wenn sich dieser im Status active befindet.

Anlagen werden dabei über UUIDs eindeutig identifiziert. Die UUIDs der Anlagen müssen eindeutig sein und werden vom sendenden System festgelegt.

Der Endpunkt erwartet folgende Parameter:

  • Eine Destination-ID. Dies ist die eindeutige UUID des Zustellpunktes, an den die Einreichung vermittelt werden soll (destinationId). Die Seite Zustellpunkt Ermitteln beschreibt, wie diese ermittelt werden kann.
  • Die Liste der angekündigten Anlagen (announcedAttachments). Dies ist eine Liste der Attachment-IDs aller Anlagen, die mit der Einreichung hochgeladen werden sollen. Die Liste enthält eine UUIDv4 für jedes Attachment. Die UUIDs müssen vom sendenden System selbst generiert werden. Für alle announcedAttachments muss anschließend das jeweilige Attachment hochgeladen werden (siehe Anlagen hochladen, bevor sich die Einreichung im Schritt Einreichung versenden abschließen lässt.
  • Der Typ der Verwaltungsleistung (serviceType). Dies ist eine Beschreibung der Art der Verwaltungsleistung. Die Verwaltungsleistung muss eine der angebotenen Verwaltungsleistungen des Zustellpunkts sein. Wenn Sie das .NET- oder Java-SDK der FITKO verwenden, um eine Einreichung anzulegen, dann überprüft das SDK automatisch, ob die angegebene Verwaltungsleistung vom adressierten Zustellpunkt angeboten wird (zudem überprüft das SDK, ob der Zustellpunkt das Fachdatenschema der Einreichung unterstützt). Für die jeweilige Verwaltungsleistung muss immer sowohl ein Name (name), als auch ein eindeutiger Identifier (identifier) angegeben werden. Der Identifier besteht aus einem Leistungsschlüssel und dem Präfix urn:de:fim:leika:leistung:. Ist für die gegebene Verwaltungsleistung kein Leistungsschlüssel vorhanden, kann die Verwaltungsleistung übergangsweise über die Angabe einer anderen eindeutigen Schema-URN beschrieben werden. Bestehende Leistungsschlüssel können über das FIM-Portal oder über die LeiKa-Suche (inoffiziell) ermittelt werden.
  • Optional kann hier auch ein Callback hinterlegt werden, um Benachrichtigungen über neue Events der Einreichung zu erfahren. Näheres dazu wird im Artikel Verwendung von Callbacks beschrieben.
Hinweis

Die für das Anlegen von Einreichungen notwendige Struktur von Einreichungen und die Referenzierung von Fachdatenschemata ist im Artikel Aufbau einer Einreichung näher beschrieben.

Hinweis

Die URL der Submission API findet sich im Artikel Betriebsumgebungen.

Das folgende Beispiel zeigt, wie Sie das .NET-SDK nutzen, um eine Einreichung (Submission) anzulegen. Auf der Seite Einreichung versenden finden Sie ein Beispiel, wie Sie die hier angelegte Submission senden.
Um eine Einreichung anzulegen, stellen Sie zunächst die Werte bereit, die für den Aufruf der Methoden der Klasse SendableSubmission erforderlich sind:

var destinationId = "aa3704d6-8bd7-4d40-a8af-501851f93934";
var serviceIdentifier = "urn:de:fim:leika:leistung:99400048079000";

Anschließend erzeugen Sie eine sendbare Submission. Dazu rufen Sie die Methoden der Klasse SendableSubmission in der folgenden Reihenfolge auf:

var sendableSubmission = SendableSubmission.Builder()
.SetDestination(destinationId)
.SetServiceType(serviceIdentifier, "FIT Connect Demo")
.SetJsonData("{\"message\":\"Hello World\"}")
.AddAttachments(new Attachment("./Attachments/Test.pdf", "Test Attachment"),
new Attachment("./Attachments/Test.pdf", "Test Attachment #2"),
new Attachment(null, "Json Text Attachment", MediaTypeNames.Application.Json,
Encoding.UTF8.GetBytes("{\"message\":\"Hello World\"}"))
)
.SetAuthenticationInformation(new AuthenticationInformation("12345",
AuthenticationInformationType.IdentificationReport, "1.3.5"))
.SetPaymentInformation(new PaymentInformation(PaymentMethod.Creditcard,
PaymentStatus.Booked, "12345445", "2345566"))
.SetReplyChannel(
new ReplyChannel {
DeMail = new DeMail(address: "klaus.fischer@trash.de-mail.de")
})
.Build();

Mit der Klasse SendableSubmission erzeugen Sie eine sendbare Einreichung, der Sie unverschlüsselte Daten übergeben. Die Daten werden dann intern verschlüsselt. Wenn Sie bereits verschlüsselte Daten einer Submission hinzufügen wollen, dann verwenden Sie die Klasse SendableEncryptedSubmission. Die Klassen SendableSubmission und SendableEncryptedSubmission sind im Hauptmenü unter "SDKs > .NET-SDK > Sender entwickeln" beschrieben.
Der Quellcode oben ist ein Auszug aus dem Projekt ConsoleAppExample, das im Repository Codebeispiele - examples der FITKO hinterlegt ist. Eine Beschreibung des .NET-SDKs finden Sie im Hauptmenü unter "SDKs > .NET-SDK".