Skip to content
Snippets Groups Projects

Fit-Connect .NET SDK

For an implementation example take a look at the DemoRunner

!! IN DEVELOPMENT NOT FOR PRODUCTION USE !!

Fit-Connect .NET SDK is a .NET library for the Fit-Connect API.

Die Verwendung des SDKs ist in der documentation (ger) erklärt

For information how to use the SDK and FitConnect visit:

Allgemeines

Environment

Das FitConnect SDK kann an

  • Development: FitConnectEnvironment.Development
  • Testing: FitConnectEnvironment.Testing
  • Production: FitConnectEnvironment.Production

Environmenten angebunden werden.

Hierfür muss der Client die Environment auswählen oder einen eigenen Environment-Parameter übergeben.

Credentials

ClientId und ClientSecret sind die Grundlage um einen Token vom OAuth-Server abfragen zu können. Die beiden Werte sind im Self-Service Portal der FIT Connectzu erstellen.

Sender

flowchart LR
    start([GetSender])
    destination(WithDestination)
    service(WithServiceType)
    attachments(WithAttachments)
    data([WithData])
    
    start-->destination-->service-->attachments-->data

Das SDK verhindert auf Grund der FluentAPI, dass die Methoden in der falschen Reihe aufgerufen werden können.

GetSender(FitConnectEnvironment.Development, clientId, clientSecret, logger)

Hier werden die FIT Connect Environment ausgwählt und die Credentials übergeben. Der logger ist optional und muss das interface Microsoft.Extensions.Logging.ILogger implementieren.

.WithDestination(destinationId)

Die Destination ID des Zustelldienstes muss an dieser Stelle übergeben werden.

Noch nicht vollständig getestet!
Eine Möglichkeit die Destination ID zu ermitteln geht über die Methode FindDestinationId() des Senders.

.WithServiceType("FIT Connect Demo", leikaKey)

Der Service Type muss an dieser Stelle übergeben werden. Hierfür wird ein Leika Schlüssel benötigt. Die Leika Schlüssel haben diese Form urn:de:fim:leika:leistung:99400048079000

.WithAttachments(new Attachment("Test.pdf", "Test Attachment"))

Die Anhänge zum Antrag werden mit .WithAttachments übergeben. Diese Methode erwartet ein Array von Attachment Objekten welche als params übergeben werden können. Das Attachment kann mit

  • Metadaten und byte[] content
  • Dateiname und Beschreibung

erstellt werden. Dazu werden zwei Konstruktoren bereitgestellt:

  • Attachment(Api.Metadata.Attachment metadata, byte[] content)
  • Attachment(string fileName, string description,)

.WithData("{"message":"Hello World"}")

Die Fachdaten werden als JSON String übergeben.

.Submit()

Das Abschicken der Submission erfolgt mit diesem Aufruf.

Beispiel

var submission = Client
    .GetSender(FitConnectEnvironment.Development, clientId, clientSecret, logger)
    .WithDestination(destinationId)
    .WithServiceType("FIT Connect Demo", leikaKey)
    .WithAttachments(new Attachment("Test.pdf", "Test Attachment"))
    .WithData("{\"message\":\"Hello World\"}")
    .Submit();

Subscriber

Der Subscriber braucht zusätzliche Informationen um die Submissions abrufen zu können. Hier sind zusätzlich die Schlüssel zum Ver- und Entschlüsseln notwendig.

flowchart LR

    start([GetSubscriber])
    availableSub(GetAvailableSubmission)
    requestSub(RequestSubmission)
    subscriberWithSub([SubscriberWithSubmission])
    subscriberWithSub_([SubscriberWithSubmission])
    data(GetDataJson)
    attachments(GetAttachments)
    accept(AcceptSubmission)
    reject(RejectSubmission)
    forward(ForwardSumbission)
    finished{{Abgeschlossen}}
    rejected{{Zurueckgewiesen}}
    
    start-->availableSub-->requestSub-->subscriberWithSub
    
    subscriberWithSub_-->data-->attachments
    attachments-->accept-->finished
    attachments-->reject-->rejected
    attachments-->forward

        

.GetSubscriber(...)

Hier werden die FIT Connect Environment ausgwählt, die Keys und die Credentials übergeben. Der logger ist optional und muss das interface Microsoft.Extensions.Logging.ILogger implementieren.

.GetAvailableSubmissions()

Liefert eine Liste mit den verfügbaren Submissions zurück.

.RequestSubmission(submissionId)

Hiermit wird die Submission abgerufen und im Subscriber gespeichert. Der Rückgabewert der Funktion ist also Subscriber mit einer Submission

.GetDataJson()

Liefert die Fachdaten als JSON String zurück.

.GetAttachments()

Gibt eine Liste mit den Attachments der Submission zurück. Die Attachments können so gebrüft werden.

.AcceptSubmission()

Akzepiert die Submission und löscht diese vom Server.

.RejectSubmission()

Weißt die Submission zurück.

.ForwardSubmission()

Beispiel

        var subscriber = Client.GetSubscriber(FitConnectEnvironment.Development, clientId,
            clientSecret,
            privateKeyDecryption,
            privateKeySigning,
            publicKeyEncryption,
            publicKeySignatureVerification,
            logger);

        var submissions = subscriber.GetAvailableSubmissions();

        // Alle verfügbaren Submissions laden
        foreach (var submission in submissions) {
            var subscriberWithSubmission = subscriber.RequestSubmission(submission.SubmissionId);
            
            // Laden der Anhänge
            var attachments = subscriberWithSubmission
                .GetAttachments();

            // Ausgabe der Fachdaten auf der Konsole
            logger.LogInformation("Fachdaten: {Data}", subscriberWithSubmission.GetDataJson());
            
            // Submission akzeptieren und abschließen
            subscriberWithSubmission.AcceptSubmission();
        }

Router

Die Client-Implementierung der Router API

Client.GetRouter(FitConnectEnvironment.Development, logger);

glossary

Tickets