Zweck der API
Häufig soll FLOWWER in die bestehende Infrastruktur integriert werden. Um das oder andere Drittsoftware effizient an FLOWWER anbinden zu können, haben wir dem Systeme eine REST-API (Programmierschnittstelle) hinzugefügt.
Auf diese Weise kann Software ohne die grafische Benutzeroberfläche nutzen zu müssen, direkt mit dem FLOWWER-System Daten austauschen. Das ist besonders nützlich, wenn eine Datenschnittstelle zur Anbindung an eine kundenspezifische Softwarelösung entwickelt werden soll. Auch für automatische Aufgaben (z.B. den regelmäßigen Upload oder Download von Dokumenten / Belegen) ist die FLOWWER REST-API sehr nützlich.
API-Format
Die FLOWWER-API folgt der OpenAPI-Specification - einem Standard zur Beschreibung REST-konformer Programmierschnittstellen. Damit wird die Nutzung API-Tools wie z.B. Postman oder verschiedener Client-Generatoren möglich.
Beschreibung der API
Jedes FLOWWER-Konto verfügt über eine eigene REST-API. Zur einfacheren Orientierung steht 'Swagger UI' jedem FLOWWER-Konto unter folgendem URI zur Verfügung:
https://Ihre-FLOWWER-Kontokennung.flowwer.de/swagger
Beachten Sie bitte, dass Sie den vollständigen Befehlssatz angezeigt bekommen, indem Sie die Definition in swagger auf "V1" umstellen:

Das optionale Marktplatz-Feature „REST-API“ (früher „alternativer Download“) ermöglicht es, freigegebene Dokumente an weitere Ziele (zusätzlich zu DATEV Unternehmen Online) zu übertragen.
Der Upload von Daten in das FLOWWER-System ist auch ohne Aktivierung des Features möglich.
Authentifizierung / Sicherheit
Die Authentifizierung findet über ein Token ("X-FLOWWER-ApiKey") im HTTP-Header des REST-Calls statt.
Ein Token können Sie über ein Dienstkonto für API-Zugriffe (bevorzugte Methode) erstellen.
Arbeiten mit Schnittstellen-Clients
Die nachfolgende Erklärung ist für fortgeschrittene Benutzer / Entwickler gedacht.
Einfache Aktionen können entweder mit FLOWWER.exe (alternativ FLOWWER-PWSH) oder einem eigenen Python/PowerShell-Script erledigt werden.
Unter Zuhilfenahme des Drittanbieterprogramms 'OpenAPI-Generator' kann aus der OpenAPI-Spezifikation von FLOWWER ein passender Schnittstellen-Client erstellt werden.
Erstellung über die Kommandozeile
Die folgenden Schritte sind unter Verwendung von PowerShell beschrieben und lediglich als gedanklicher Einstieg in die Thematik zu verstehen. Die Ort zu passenden java.exe wird als Bestandteil der PATH-Umgebungsvariable vorausgesetzt.
Download des OpenAPI Generators (derzeit (2021-06-28) aktuelle Version ist 5.1.1):PS > Invoke-WebRequest -OutFile openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/5.1.1/openapi-generator-cli-5.1.1.jar
Erzeugen eines FLOWWER-ApiClients unter Verwendung des csharp-netcore Generators (-g csharp-netcore) mit Einschränkung auf die Download-API (--global-property apis=Download).PS C:\temp> java -jar .\openapi-generator-cli.jar generate -g csharp-netcore -i https://200001.flowwer.de/swagger/v1/swagger.json -o FLOWWER-API --global-property apis=Download
Erstellung mit dem Online-Generator
Zum aktuellen Zeitpunkt (2021-06-14) beherrscht der online Swagger Editor leider nicht die Erstellung von 'csharp-netcore'-Clients.
Den Swagger Online-Generator finden Sie unter folgendem URI: Swagger Editor (online)
Schlagworte: Automatisierung, RefDoc, übertragen