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:
- Kontakte
- Arbeitszeit
- Zeiterfassung
- Rechnungen
- Lager
- Bautagebuch
- und viele weitere.
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.