Zum Inhalt

API-Übersicht

Eine Plattform. Zwei APIs. Klare Zuständigkeiten.

Die Flowtig API bildet die Grundlage der gesamten Plattform.

Jeder Flowtig-Client – ob Webanwendung, native macOS-App oder Hintergrunddienst – kommuniziert über dieselbe öffentliche API-Schicht. Die Geschäftslogik befindet sich im Backend und sorgt dadurch für ein einheitliches Verhalten über alle Clients hinweg.

Flowtig verfolgt einen API-First-Ansatz. Die API ist damit die zentrale Schnittstelle zur Plattform und nicht lediglich ein Implementierungsdetail.

API-First-Architektur

Jede Flowtig-Anwendung kommuniziert über dieselben APIs.

Es gibt keine privilegierten Clients, versteckten Endpunkte oder Frontend-spezifische Geschäftslogik.


Warum zwei APIs?

Flowtig trennt Geschäftsfunktionen von Plattformfunktionen.

Daraus ergeben sich zwei sich ergänzende APIs mit jeweils klar definierten Zuständigkeiten.

API Aufgabe
GraphQL Geschäftsanwendungen und fachliche Daten
REST Plattformdienste und Systemfunktionen

Diese Trennung sorgt dafür, dass die Plattform vorhersehbar, skalierbar und einfach wartbar bleibt.


GraphQL

GraphQL ist die primäre API für Flowtig-Anwendungen.

Alle Geschäftsanwendungen kommunizieren über GraphQL, darunter:

GraphQL ist zuständig für:

  • Geschäftsdaten
  • Abfragen
  • Mutationen
  • Starke Typisierung
  • Mandantenspezifische Daten
  • Präzise Auswahl benötigter Felder

Wenn Sie eine Flowtig-Anwendung entwickeln, ist GraphQL Ihre primäre Schnittstelle.

→ Weiter zur GraphQL-Dokumentation.


REST

REST wird für Funktionen auf Plattformebene verwendet.

Typische Beispiele sind:

  • Authentifizierung
  • Organisationsverwaltung
  • Abonnementverwaltung
  • Abrechnung
  • Systemadministration
  • Dateibereitstellung
  • Update-Feeds

REST-Endpunkte verwalten Funktionen, die zur Plattform selbst gehören und nicht zu einer einzelnen Geschäftsanwendung.

→ Weiter zur REST-Dokumentation.


Mandantenfähig von Grund auf

Jede API-Anfrage wird im Kontext einer einzelnen Organisation ausgeführt.

Flowtig stellt automatisch Folgendes sicher:

  • Mandantentrennung
  • Rollenbasierte Berechtigungen
  • Prüfung der Organisationszugehörigkeit
  • Anwendungsberechtigungen
  • Tokenbasierte Authentifizierung

Anwendungen können niemals auf Daten außerhalb des ihnen zugewiesenen Organisationskontexts zugreifen.

Weitere Informationen finden Sie in der Dokumentation zur Architektur.


Multi-Client-Architektur

Flowtig wurde so entwickelt, dass mehrere Clients dieselbe Geschäftslogik verwenden können.

Zu den aktuellen Clients gehören:

  • Webanwendung
  • Native macOS-Anwendungen
  • Hintergrunddienste

Zusätzliche Clients wie mobile Anwendungen oder Kommandozeilenwerkzeuge können ergänzt werden, ohne Änderungen an der grundlegenden Architektur vornehmen zu müssen.


Designprinzipien

Die Flowtig API folgt einigen grundlegenden Prinzipien.

API First

Jede Funktion wird zunächst über die API bereitgestellt, bevor sie von einem Client verwendet wird.

Klare Zuständigkeiten

Geschäftsfunktionen gehören in GraphQL.

Plattformfunktionen gehören in REST.

Klare Schnittstellen

APIs stellen allen Clients stabile und vorhersehbare Schnittstellen zur Verfügung.

Mandantentrennung

Jede Anfrage wird innerhalb ihres Organisationskontexts ausgewertet.

Langfristige Erweiterbarkeit

Neue Anwendungen können hinzugefügt werden, ohne die Plattformarchitektur verändern zu müssen.


Wie geht es weiter?

Je nachdem, was Sie entwickeln möchten, bieten sich die folgenden Dokumentationen als Einstieg an.

Ich möchte ... Einstieg
Eine Flowtig-Anwendung entwickeln GraphQL
Flowtig in ein anderes System integrieren REST
Die Plattform verstehen Architektur
Bestehende Anwendungen entdecken Anwendungen

Benötigen Sie Hilfe?

Suchen Sie weitere Informationen?

  • Lesen Sie die Dokumentation zur Architektur.
  • Entdecken Sie die verfügbaren Anwendungen.
  • Kontaktieren Sie uns über https://flowtig.com/contact, wenn Sie Fragen zur Plattform haben.