Integrationen entwickeln
Einige der wertvollsten Apps verbinden eine bestehende SOIS-App mit einem externen Dienst. Ein gängiges Beispiel: Rechnungen aus der SOIS-Buchhaltungs-App mit QuickBooks synchronisieren. Diese Anleitung erklärt, wie eine Integrations-App SOIS-Daten sicher liest und sich mit einem externen Dienst verbindet.
Integrations-Apps sind eine erstklassige Kategorie. Sie lesen die Daten einer anderen App über einen geregelten Vertrag, niemals direkt aus deren Datenbank, und nur mit Zustimmung des Tenants.
Zwei Seiten einer Integration
Eine Integrations-App spricht mit zwei Dingen:
- Eine SOIS-App (zum Beispiel Buchhaltung, Lager oder Kontakte). Du liest oder schreibst ihre Daten über ihren veröffentlichten Vertrag.
- Ein externer Dienst (zum Beispiel QuickBooks). Du rufst ihn mit den eigenen Zugangsdaten des Tenants auf.
Deklariere, womit du integrierst
Dein Projekt deklariert die SOIS-Apps, von denen es abhängt. Diese Deklaration tut zwei Dinge: sie teilt SOIS mit, welche Verträge deine App nutzen darf, und sie lässt den Tenant den Zugriff sehen und genehmigen, wenn er deine App installiert.
SOIS-Daten über den Vertrag lesen
Deine App berührt nicht die Tabellen einer anderen App. Sie liest über den Vertrag dieser App, einen stabilen Satz von Operationen und Datenformen. Dein Agent baut dein Mapping gegen diese Formen. Während der Entwicklung arbeitest du gegen repräsentative Beispieldaten, sodass du den gesamten Ablauf ohne eine Live-Verbindung bauen und in der Vorschau ansehen kannst.
Zur Laufzeit ist der Zugriff geregelt:
- Der Tenant genehmigt den App-übergreifenden Zugriff, wenn er deine App installiert. Das ist Teil der von deiner App angeforderten Scopes.
- Der Vertrag erzwingt, was deine App lesen oder schreiben darf. Die Tenant-Isolation wird nie geschwächt.
Den externen Dienst verbinden
Externe Zugangsdaten gehören dem Tenant, nicht dir. Deine App deklariert die Zugangsdaten, die sie benötigt (zum Beispiel eine OAuth-Verbindung), und jeder installierende Tenant stellt seine eigenen bereit. Du hältst niemals die Zugangsdaten eines anderen Tenants.
Beispiel: Rechnungen mit QuickBooks synchronisieren
- Deklariere, dass deine App mit der Buchhaltungs-App integriert.
- Bitte deinen Agenten, die Form der Buchhaltungsrechnung zu lesen und ein Mapping von einer SOIS-Rechnung zu einer QuickBooks-Rechnung zu bauen. Baue und sieh die Vorschau gegen Beispielrechnungen an.
- Deklariere die QuickBooks-OAuth-Zugangsdaten, die deine App benötigt.
- Wenn ein Tenant deine App installiert, genehmigt er den Buchhaltungszugriff und verbindet sein eigenes QuickBooks-Konto.
- Zur Laufzeit liest deine App Rechnungen über den Buchhaltungsvertrag und schiebt sie mit den Zugangsdaten des Tenants zu QuickBooks, typischerweise nach einem Zeitplan oder Auslöser.
Gute Praxis
- Ordne Felder explizit zu und behandle die Fälle, in denen ein externer Dienst Daten erwartet, die deine Quelle nicht hat.
- Scheitere sanft. Ist der externe Dienst nicht verfügbar, wiederhole es, statt Daten zu verlieren.
- Fordere nur die Scopes an, die du brauchst. Tenants genehmigen engen Zugriff schneller und vertrauen ihm mehr.
Nächste Schritte
- Mit deinem Agenten entwickeln: der grundlegende Build- und Veröffentlichungs-Flow.
- Apps monetarisieren: verdiene an jedem Tenant, der deine Integration nutzt.