Awesome Automation: Mit der Fastbill-API arbeiten
Zusammenfassung
Was du erfährst
- Wie du verschiedene Tools miteinander verbindest
- Welche Funktionen die API erfüllt
- Was dedizierte Partnerschnittstellen sind
- Wie du API-Endpoints ansteuerst
- Wie du deine Buchhaltung mit der Fastbill-API automatisierst
In den letzten Artikeln unserer Awesome Automation Reihe haben wir uns angeguckt, wie du mit sogenannten IpaaS-Tools deine Prozesse automatisieren kannst. Von Sales über HR bis hin zum Accounting – überall gibt es Automatisierungspotentiale. Mit Tools wie Zapier ist das Verbinden der verschiedenen Systeme super leicht – aber was ist, wenn du kein Zapier nutzt oder die Anwendung, die du in deine automatisierten Workflows einbinden möchtest, keine Zapier App bereitstellt?
Keine Panik, automatisieren kannst du trotzdem, solang die Anwendung eine digitale Schnittstelle, eine sogenannte API (Application Programming Interface) bereitstellt. Wie du eine API auch ohne App ansteuern kannst, zeigen wir dir in diesem Artikel am Beispiel der Fastbill API.
Viele Wege führen zur Automatisierung
Im Businessalltag kommt es oft vor, dass man verschiedene Services, Tools und Datenquellen miteinander verbinden möchte. Zum Beispiel, wenn man Kundendaten vom Sales-Tool in sein Rechnungsprogramm schicken möchte – am besten automatisiert. Hierfür gibt es verschiedene Möglichkeiten.
1.) API
Die erste ist die Verbindung via Programmierschnittstelle (API). Die API dient dazu, andere Programme an das System anzubinden. Sie ermöglicht also die Kommunikation zwischen zwei Programmen. Dies geschieht auf Quelltext-Ebene. Der Datenaustausch geschieht in einem standardisierten Format. FastBill hat eine offene API, das heißt, jeder kann sie nutzen und eine Dokumentation zur Nutzung ist öffentlich zugänglich. Diese Möglichkeit ist sehr flexibel aber man benötigt Programmierkenntnisse.
2.) Dedizierte Partnerschnittstellen
Eine andere Möglichkeit, zwei Tools miteinander zu verbinden, sind dedizierte Partnerschnittstellen. Diese beruhen auch auf der API, allerdings wurden bereits festgelegte Szenarien definiert und für diese eine anwenderfreundliche Bedienung im Frontend der Tools untergebracht. So eine Schnittstellen hat FastBill zum Beispiel mit GetMyInvoices. Der Vorteil: Äußerst einfach zu bedienen für den Endanwender, allerdings auf die festgelegten Anwendungsfälle begrenzt und dadurch meist nicht ganz so flexibel.
3.) iPaaS-Tools
Über diese Möglichkeit haben wir in den letzten Artikeln der Reihe "Awesome Automation" ausgiebig geschrieben. Die Apps, die du in Zapier, Make, Workato und Co. findest, sind nichts anderes als “Frontends” für die API. Auch sie machen die Verbindung von zwei oder mehreren Tools benutzerfreundlicher. Statt per Code kannst du deine Anforderungen zum Beispiel aus einem Dropdown auswählen oder ein Formular ausfüllen. FastBill hat eine Zapier-App. Wie ihr diese nutzt, könnt ihr im Artikel "Zapier: Verbinde FastBill mit über 4.000 Tools" nachlesen.
4.) iPaaS + API
Die vierte Möglichkeit ist eine Kombination aus 1.) und 3.) und diese wollen wir dir heute näher vorstellen. Auch wenn eine Software keine iPaaS-App hat, heißt das nicht, dass du damit nicht arbeiten kannst. FastBill hat zum Beispiel keine App für Make (ehemals Integromat). Wenn aber das Tool, mit dem du FastBill verbinden willst, eine Make-App hat, kannst du dennoch diesen Weg gehen. In Make kannst du nämlich mithilfe des HTTP-Request Moduls jede beliebige API ansteuern.
Welche Möglichkeiten dir die FastBill API-bietet, kannst du in der API-Dokumentation nachlesen, die wir im Folgenden erklären.
API Dokumentation lesen
Eine API muss für jedes Programm programmiert werden. Das ist inzwischen Standard bei den meisten Tools – und mit jeder API kommt auch eine eigene API-Dokumentation.
Dort sind die sogenannten API-Endpoints aufgelistet, die du ansteuern kannst. Jeder Endpunkt benötigt eine festgeschrieben Struktur, wie Anfragen an ihn gesendet werden können – sonst kann der Endpunkt die gesendeten Daten nicht interpretieren. Das wirkt im ersten Moment vielleicht etwas unflexibel, genau das macht das System aber auch ziemlich stabil. Endpunkte in der Fastbill-API sind unter anderem:
- Customer.create : einen neuen Kunden anlegen
- Invoice.create : eine neue Rechnung erstellen
- Invoice.sendbyemail : eine Rechnung per E-Mail senden
Alle Endpunkte sind in der Fastbill-API-Dokumentation dokumentiert. Wie du so eine API Dokumentation lesen kannst, schauen wir uns jetzt am Beispiel der Fastbill API an. Und hier findest du die Fastbill API Dokumentation.
Auf der linken Seite siehst du verschiedene Themenbereiche, für die verschiedene Endpunkte angelegt sind. Diese findest du, wenn du dich durch die Themenblöcke klickst. In der Beschreibung der Endpunkte sind die Daten aufgelistet, die du in deiner Anfrage an die API mitschicken kannst, welche davon erforderlich sind und welche Daten du als Antwort zurück erhältst.
Das ist jetzt alles noch ziemlich theoretisch – wie funktioniert das ganze denn jetzt, wenn du zum Beispiel automatisiert einen neuen Kunden anlegen möchtest?
Das schauen wir uns am Beispiel Make (Integromat) an. Make ist, wie Zapier, ein IpaaS-Tool, mit dem du verschiedene Systeme miteinander verknüpfen und deine Prozesse automatisieren kannst. Wenn du mehr über Make wissen willst, schau mal hier vorbei. In Make gibt es keine App für Fastbill – also behelfen wir uns mit der Fastbill-API.
In Make können wir mithilfe des HTTP-Request-Moduls jede beliebige API ansteuern. Ein HTTP-Request ist nicht anderes als die Anfrage, die wir an die API senden – also sozusagen eine Bestellung, die aufgeben.
Um einen HTTP-Request an eine API zu senden, sollte dein erster Blick immer in die entsprechende API-Dokumentation gehen. Bei den meisten APIs musst dich authentifizieren, damit deine Anfrage an die API akzeptiert wird. So auch bei Fastbill – du willst ja schließlich nicht, dass irgendjemand anderes auf deine Buchhaltungsdaten Zugriff bekommt. In der API-Doku finden wir unter dem Punkt “Authentifizierung” folgenden Satz: "Die Authentifizierung wird mithilfe der HTTP-Basic Authentification-durchgeführt".
Also schauen wir in Make nach, ob das HTTP Modul eine solche Auswahl anbietet. Hier können wir die Aktion “Make a Basic Auth Request” auswählen.
Mit einem Klick auf die aufgepoppte Bubble öffnet sich das folgende Dialogfenster:
Als erstes musst du dich authentifizieren. Dafür erstellt du einen sogenannten Key – so musst du nicht immer wieder deine Credentials bei jedem neuen Request eingeben, sondern kannst den Authentifizierungs-Key immer wieder verwenden.
Gib deinen Usernamen ein und als Passwort deinen API-Key, den du in deinen FastBill-Accounteinstellungen findest.
Weiter geht’s mit der URL. Ein Endpunkt einer API kann immer in Form einer URL angesteuert werden. Welche URL du brauchst, findest du wieder in der API-Dokumentation.
Im Fall von Fastbill steuerst du einfach immer dieselbe URL an, um mit der API zu interagieren. Die findest du ganz oben in der Dokumentation:
In Make gibst du dann diese URL in das entsprechende Feld ein und wählst im Feld “Method” die Option “Post” aus.
Jetzt sind die Basics für unseren API-Call schonmal eingerichtet. Als nächstes wollen wir unseren Request genauer definieren – die Fastbill API muss ja schließlich wissen, was wir von ihr wollen.
Wir erinnern uns, wir wollen automatisch einen neuen Kunden anlegen. Also gehst du als nächstes auf den Reiter “Kunden” und klickst auf “customer.create”. Dort findest du alle Felder, die du in deiner Anfrage senden kannst – einige davon sind optional, andere sind erforderlich.
Aber wie kriegen wir diese Daten jetzt strukturiert in unser HTTP-Modul in Make?
Zurück in der Fastbill-API-Dokumentation klickst du dazu einmal auf den Button “Try me”. Dort findest du in dem großen Kasten ein paar Zeilen XML-Code. Keine Angst, damit kannst du ganz einfach arbeiten, auch wenn du keine Programmierkenntnisse hast.
Kopier einfach einmal den gesamten Text und gehe zurück zu Make.
Dort wählst du im Feld “Body Type” die Option “Raw” aus und im Feld “Content Type” die Option “XML (application/xml)” aus. Damit definieren wir das Format, in dem wir unsere Anfrage schicken.
In das Feld “Request content” kannst du jetzt einfach den Text aus der Fastbill-API Dokumentation kopieren.
Der Text, den du gerade kopiert hast, ist eine Datennotation im Format XML. Wenn du genau hinsiehst, kannst du erkennen, dass es im Text Platzhalter gibt wie “Musterfirma” oder “Mustermann”. Diese kannst du mit deinen Daten ersetzen, bzw. Dynamische Daten einfügen. Für welches Feld die Daten bestimmt sind, kannst du an den Spezifizierungen vor und hinter den Platzhaltern erkennen. Sieht vielleicht erstmal kompliziert aus – mit ein bisschen Übung wird das Ganze aber kinderleicht.
Wenn du deine dynamischen Daten eingefügt hast, sieht dein Request zum Beispiel so aus:
Nach diesem Prinzip kannst du deine gesamte Rechnungsstellung automatisieren – vom Kunden anlegen bis hin zu Rechnungsversand. Wie genau das funktioniert, zeige ich dir in diesem Tutorial.
Mehr automatisieren mit der Fastbill API
Mit der Fastbill-API kannst du deine Rechnungsstellung und Buchhaltung flexibel automatisieren, selbst wenn du kein Zapier nutzt. Vom Erstellen eines Kunden über die Erstellung einer Rechnung bis hin zum Rechnungsversand - nahezu alles, was du in Fastbill manuell bearbeiten kannst, kannst du auch über die API steuern. Das bietet das Potential, dir enorm viel Zeit mit deiner Buchhaltung zu sparen - und etwaige manuelle Fehler zu vermeiden.