maesn

Xentral-Schnittstelle und API-Integration

Xentral ist ein deutsches Cloud-ERP für produktbezogene kleine und mittlere Unternehmen, und es ist der Ort, an dem ein E-Commerce-Betrieb seine Aufträge, seinen Bestand und seine Bücher an einer Stelle hält. Jedes Produkt, das die Finanzen eines deutschsprachigen Händlers berührt, begegnet ihm früher oder später. Binden Sie es über Maesn an, und Sie erreichen es mit derselben REST API und demselben Datenmodell wie jedes andere unterstützte System.

IHR PRODUKT+28
Diese Software-Teams vertrauen uns
HubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicapHubSpotTipaltiPaywiseRallyQredNordhealthFindityFintoClockinHEROHolviLanes & PlanesAgicap
Was es braucht

Was eine Xentral-Anbindung kostet

Xentral ist keine schwer aufzurufende API. Ungewöhnlich ist, was es vor der ersten Anfrage verlangt und ein Jahr später wieder: Der Schlüssel, den es ausstellt, verhält sich ganz anders als ein OAuth-Token, die Instanz des Kunden entscheidet die Adresse, und die Version gehört zum Endpunkt und nicht zur API. Maesn nimmt alle drei.

Xentral: Der Schlüssel läuft nie ab

Je Mandant verwahrt, an einer Stelle entzogen

Ein persönliches Zugriffstoken von Xentral trägt kein Ablaufdatum und keinen Berechtigungs-Scope. Es erreicht also alles, was das Konto Ihres Kunden erreicht, und tut das so lange, bis jemand es löscht. Xentral zeigt es genau einmal an und rät davon ab, es in eine externe Anwendung zu geben. Maesn verwahrt es an der Verbindung, es lebt damit an einer Stelle und nicht in jedem Produkt, das es braucht.

Xentral: Die Instanz ist der Hostname

Einmal eingesammelt, bei jedem Aufruf geroutet

Jeder Xentral-Kunde antwortet auf einem eigenen Host, und die ID vor xentral.biz ist Teil der Adresse und kein Parameter, den man übergeben kann. Schicken Sie den richtigen Schlüssel an den falschen Host, sagt Ihnen nichts am Fehler, welche Hälfte falsch war. Maesn sammelt die Instanz-ID zusammen mit dem Schlüssel ein, wenn Ihr Kunde sich verbindet, und baut von da an den richtigen Host.

Xentral: Die Versionen sitzen an den Endpunkten

Eine Schnittstelle über drei Generationen

Xentral versioniert jeden Endpunkt für sich und nicht die API als Ganzes, und eine neue Version setzt die vorige auf veraltet. Drei Generationen antworten unter demselben Schlüssel, und die zwei älteren können damit nicht jeden Endpunkt bedienen. Über Maesn rufen Sie stattdessen eine Schnittstelle auf. Eine Abkündigung auf der Seite von Xentral ist damit keine Änderung auf Ihrer.

Auf Ihrer Seite bleibt ein REST-Aufruf gegen ein Datenmodell, das Sie einmal implementieren. Teams sind in Tagen produktiv, statt ein Quartal auf die Eigenheiten eines Herstellers zu verwenden.

Ein kurzes Gespräch genügt meist, um zu klären, ob Maesn zu Ihrem Anwendungsfall passt.

Kundenstimme

Paywise hat manuelle Rechnungsimporte durch Integrationen ersetzt

Paywise treibt unbezahlte Rechnungen für Unternehmen ein, von der ersten Mahnung bis zur gerichtlichen Durchsetzung. Ihre Kunden haben diese Rechnungen früher von Hand hochgeladen, und die Liste der offenen Posten kommt jetzt aus dem System, das jeder von ihnen ohnehin einsetzt. Xentral ist eines der fünf, die sie nennen.

“Unsere Kunden können ihre vorhandenen Werkzeuge sofort anbinden. Das erhöht die Nutzung und macht Maesn zu einem festen Bestandteil unserer Erfolgsstrategie.”
Felix Pieper
CIO, Paywise
Warum Unternehmen Maesn wählen

Drei Gründe, die Xentral-Schnittstelle über Maesn anzubinden

Xentral direkt anzubinden ist ein Projekt, das ein Team abschließen kann. Es zu besitzen, und danach das nächste System zu besitzen, entscheidet über eine Roadmap.

01

Eine Anbindung, und die nächste ist Konfiguration

Kunden, Rechnungen, Rechnungspositionen und Lieferanten kommen hier in derselben Form an wie auf jedem anderen angebundenen System, und was Ihr Anwendungsfall darüber hinaus braucht, ist eine Anfrage und kein Umbau. Das Routing zur Instanz, der dauerhafte Schlüssel und die Versionen je Endpunkt werden einmal gelöst, hier, für jeden Kunden, den Sie anbinden.

02

Die Verwahrung eines dauerhaften Schlüssels

Nichts an einem Xentral-Token erzwingt eine Rotation, und das ist bequem, bis man die Kopien davon zählt. Zentral verwahrt liegt es in einem System mit einem Weg zum Entzug. Je Produkt verwahrt liegt es dort, wo die letzte Integration es gelassen hat, und Xentral rät selbst dazu, es überhaupt nicht in eine externe Anwendung zu geben.

03

Das nächste System kostet nichts

Sobald Xentral läuft, antwortet jedes andere unterstützte Buchhaltungs- und ERP-System auf derselben Schnittstelle. Ihre zweite Integration ist ein Konfigurationsschritt, und die Schlüsselverwahrung und das Routing zur Instanz, die Sie hier bezahlt haben, zahlen Sie kein zweites Mal.

Authentifizierung

Ein Xentral-Schlüssel, eine Instanz je Kunde

Xentral fährt keinen OAuth-Handshake. Ihr Kunde erzeugt in seiner eigenen Instanz ein persönliches Zugriffstoken und übergibt es, und das macht die Verbindung einfacher zu beschreiben und schwerer zu betreuen: Der Schlüssel läuft nicht ab, er ist auf nichts eingegrenzt, und die Instanz, zu der er gehört, ist Teil der Adresse und nicht Teil der Nutzlast.

Auth-Verfahren
Persönliches Zugriffstoken
Von einem Administrator in der eigenen Instanz des Kunden angelegt

Ein Schlüssel und eine Instanz-ID je Kunde. Maesn verwahrt beide und setzt jeden davon dorthin, wo eine Anfrage ihn braucht.

Was Maesn für Sie verwahrt
Das Token, einmal und je Mandant
Xentral zeigt den Wert ein einziges Mal und bietet keinen Weg, ihn zurückzulesen. Maesn verwahrt ihn an der Verbindung. Er muss also nie durch Ihre Logs oder Ihren Support-Posteingang laufen, und das Token in Xentral zu löschen bleibt der eine saubere Weg, den Zugriff zu beenden.
Die Instanz-ID, in den Host aufgelöst
Die ID entscheidet, welcher xentral.biz-Host antwortet, und sie wird zusammen mit dem Schlüssel eingereicht und nicht aus ihm abgeleitet. Maesn hält das Paar zusammen und baut die Adresse bei jeder Anfrage. Ihr Code sendet für einen Xentral-Kunden also dieselbe URL-Form wie für jedes andere System.

Headless ändert hier, wie Ihr Produkt aussieht, und nicht, was es tut. Xentral gehört zu den Systemen, die sich mit einem Schlüssel statt mit einem Redirect authentifizieren. Die zwei Werte lassen sich also entweder auf einer von Maesn gehosteten Seite einsammeln oder an einen Endpunkt senden, der den Account-Key direkt zurückgibt. Der zweite Weg hält die ganze Verbindung in Ihrer eigenen Oberfläche, und bei einem System, dessen Zugangsdaten ein dauerhafter Schlüssel sind, ist das meist die Fassung, die eine Sicherheitsprüfung vorzieht.

Wie Ihr Kunde sich verbindet
  1. 1

    Ihr Kunde erzeugt das Token

    Ein Administrator öffnet Kontoeinstellungen, dann Entwicklereinstellungen, dann Personal Access Tokens, benennt das Token und kopiert es. Dieses Kopieren ist der einzige Moment, in dem der Wert sichtbar ist, und das Administratorrecht ist es, was den Bildschirm überhaupt erreichbar macht.

  2. 2

    Schlüssel und Instanz-ID kommen zusammen an

    Beide gehen in die Verbindung, entweder über die Seite, die Maesn hostet, oder direkt über die API. Die Instanz-ID lässt sich von Ihrer Seite vorbelegen. Ein Kunde, der Ihnen seine Xentral-Adresse bereits genannt hat, tippt sie also kein zweites Mal.

  3. 3

    Sie arbeiten mit einem Account-Key

    Maesn gibt einen Account-Key zurück und hält das Paar dahinter. Ab da trägt jede Anfrage Ihren API-Schlüssel und diesen Account-Key, dieselben zwei Header, die Sie für jedes andere unterstützte System ohnehin schon senden.

Jedes System im Katalog authentifiziert anders, und bei Xentral gibt es keinen nennenswerten Handshake und die Zugangsdaten sind das ganze Problem: ein Schlüssel, der nie altert, nie enger wird und nur ein einziges Mal erscheint. Dafür ist Unified Authentication da. Die gehostete Seite, der Headless-Weg und die Speicherung hinter beiden werden einmal für alle Systeme erledigt und nicht einmal je System, was Ihr Code hält, ist also ein Account-Key.

Synchron bleiben

Was Xentral zu Events dokumentiert, und was heute freigeschaltet ist

Kein Xentral-Objekt sendet heute ein Event über Maesn. Xentral dokumentiert 152 eigene Event-Typen, von salesOrder.created bis invoice.released, und die Funktion ist in der Beta. Sie wird je Instanz freigeschaltet statt je Integration. Jeder Ihrer Kunden müsste also mit seinem eigenen Konto am Beta-Programm von Xentral teilnehmen, bevor ein einziges Event Sie erreichen könnte.

Was Xentral dokumentiert

Einen Katalog von 152 Event-Typen mit einem festgelegten Umschlag für die Nutzlast, zugestellt per HTTP POST an eine Ziel-URL von höchstens 255 Zeichen. Die Funktion ist in der Beta, und die Anmeldung dafür gehört Ihrem Kunden und nicht Ihnen: Seine Instanz tritt dem Programm von Xentral bei, Konto für Konto.

Was Sie stattdessen fahren

Ein geplanter Lesezugriff, mit demselben lastModifiedAt-Filter und derselben Paginierung, die Sie für jedes andere System schon benutzen. Der Code, der eine Änderung in Xentral bemerkt, ist der Code, den Sie einmal geschrieben haben, nur auf einen anderen Account-Key gerichtet.

Das Intervall ist eine Produktentscheidung mit einer veröffentlichten Obergrenze dahinter. Xentral beantwortet 100 Anfragen pro Minute unabhängig vom Tarif und nennt diese Zahl vorläufig. Ein Delta-Lesezugriff über vier Objekte passt also bequem, während ein erster vollständiger Massenabzug Tempo braucht. Ein Lesezugriff erholt sich außerdem von selbst: Was ein Push während eines Ausfalls verloren hätte, holt der nächste Aufruf durch ein breiteres Fenster nach.

Ein Lesezugriff nach Zeitplan ist die Schleife, die es übersteht, falsch zu liegen. Ein Push, der ankommt, während Ihr Endpunkt nicht erreichbar ist, ist weg, sofern ihn nichts wiederholt, und ein Lesezugriff fragt einfach noch einmal mit einem breiteren Fenster. Was er dafür braucht, sind ein Filter und ein Seitenmodell, denen Sie trauen, und auf einem System, das jeden Endpunkt einzeln versioniert, driften genau diese beiden zuerst. Ein Weg, zu filtern und zu paginieren nimmt diese Fehlerklasse weg, denn der Cursor und der Zeitstempel sind keine Fragen je Endpunkt mehr. Was Sie über das Event-Modell verarbeiten und was Sie nach Zeitplan abholen, bleiben zwei getrennte Wege, und bei Xentral ist nur der zweite eingeschaltet.

Bevor Sie starten

Was eine Xentral-Anbindung vorab braucht

Xentral stellt vier Dinge vor eine Integration. Drei sind an einem Nachmittag erledigt, und das zweite entscheidet, ob Sie überhaupt etwas bauen können, bevor Ihr erster Kunde kommt.

Ein Administrator im Xentral-Konto des Kunden
Das persönliche Zugriffstoken wird unter Kontoeinstellungen und dann Entwicklereinstellungen erzeugt, und Administratorrechte sind es, die diesen Bildschirm überhaupt erreichbar machen. Der Wert erscheint einmal und lässt sich danach nicht erneut lesen, wer ihn erzeugt, muss ihn also in diesem Moment festhalten. Dem Token den Namen Ihres Produkts zu geben macht den späteren Entzug eindeutig.
Eine Sandbox, denn Xentral bietet keine kostenlose Testphase
Ein Xentral-Testkonto, für das man sich selbst anmelden kann, gibt es nicht, und damit bleibt einem Team sonst nur, gegen die Live-Instanz eines Kunden zu bauen. Maesn stellt für jedes unterstützte System eine Sandbox bereit, auch für die ohne Testphase. Die erste Fassung Ihrer Integration läuft also gegen Daten, die kaputtgehen dürfen.
Ein Budget von 100 Anfragen pro Minute
Xentral begrenzt seine API auf 100 Anfragen je Minute, unabhängig davon, in welchem Tarif Ihr Kunde ist, und antwortet darüber mit einem 429. Es schreibt außerdem, dass der Wert noch ausgewertet wird und sich höchstwahrscheinlich ändert. Man entwirft einen Abgleich also darum herum, statt dagegen zu rechnen.
Eine Entscheidung darüber, welche Generation aufgerufen wird
Ein Token authentifiziert gegen die aktuelle Xentral-API, die ältere REST-API und die Standard-API gleichermaßen, und die zwei älteren können damit nicht jeden Endpunkt bedienen. Xentral führt dreizehn auf, die nicht verfügbar sind, und schreibt, dass die Liste nicht vollständig ist. Maesn ruft die aktuelle API auf. Die Frage folgt Ihnen also nicht in den Produktivbetrieb.

Wir gehen das Token, die Instanz-ID und die Sandbox mit Ihnen durch.

Das Datenmodell

Eine Form für Xentral, und für das nächste System

Xentral routet je Instanz, versioniert je Endpunkt und gibt einen Schlüssel aus, der nie altert. Eine gemeinsame Form hält alle drei aus Ihrem Code heraus.

Die lesbare Seite ist die Hauptbuchseite

Xentral verkauft Auftragsverwaltung, Lagerhaltung und Mehrkanalhandel, und was heute zum Lesen freigeschaltet ist, ist das Forderungsende davon: Kunden, Rechnungen, Rechnungspositionen und Lieferanten. Bestellungen, Wareneingänge und Buchungssätze werden nicht angeboten, Kundenaufträge und Artikel sind auf Anfrage verfügbar. Ein Anwendungsfall aus der Logistik fängt deshalb mit einem anderen Gespräch an als einer aus der Finanzabteilung.

Ein Schreibweg, und nichts lässt sich bearbeiten

Kunden sind das einzige Objekt, das zum Anlegen freigeschaltet ist, und zum Aktualisieren oder Löschen ist überhaupt kein Objekt freigeschaltet. Ein Produkt, das Datensätze an Ort und Stelle korrigiert, statt neue zu buchen, sollte das gegen seinen eigenen Anwendungsfall prüfen, bevor es die Schreibseite entwirft. Die Buchhaltungspraxis erwartet Korrekturen ohnehin als neue Belege.

Auf Anfrage ist eine Anfrage und keine Sackgasse

Objekte mit der Kennzeichnung auf Anfrage fehlen nicht, sie sind nur nicht standardmäßig freigeschaltet. Fünfundfünfzig Kombinationen aus Objekt und Operation stehen dort, darunter die Kundenaufträge, Artikel und Zahlungen, mit denen ein Ablauf vom Auftrag bis zum Zahlungseingang anfängt. Sagen Sie uns, welche Ihr Anwendungsfall braucht, und sie kommen dazu.

Die Zeilen, die ein Leser gefüllt erwartet und leer vorfindet, sind hier keine Grenze von Maesn, sondern eine von Xentral. Xentral wird als ERP für Händler verkauft, Bestellungen, Wareneingänge und Auftragspositionen sind also das, wonach eine Logistikintegration zuerst greift, und Xentrals eigene Schnittstelle liefert sie noch nicht. Der Hersteller veröffentlicht eine Liste von Endpunkten, die nicht verfügbar sind, und sagt dazu, dass die Liste nicht vollständig ist, was eine faire Beschreibung einer API ist, die noch im Aufbau ist.

Das lohnt sich zu wissen, bevor Sie den Umfang festlegen, denn es bewegt sich mit der Zeit und nicht mit Ihrem Aufwand. Verfügbar ist heute das Debitorenende desselben Produkts: Kunden, Rechnungen, Rechnungspositionen und Lieferanten, also die Oberfläche, die ein Finanz-Anwendungsfall tatsächlich braucht. Sobald Xentral den Rest ausliefert, kommen die Objekte hier an, ohne dass auf Ihrer Seite eine zweite Integration nötig wäre.

Das ist der Moment, in dem sich ein gemeinsames Modell bezahlt macht. Ein Kunde aus Xentral kommt in derselben Form an wie ein Kunde aus einem System, das jede Geschäftsbeziehung in einem einzigen Kontaktdatensatz führt, denn das Common Data Model nimmt den Unterschied auf. Der Code, den Sie hier schreiben, ist der Code, den Sie für das nächste System wiederverwenden, und die Objekte, die als auf Anfrage markiert sind, sind eine Anfrage und kein Neubau.

Die Obergrenze gehört von Anfang an in den Entwurf des Abgleichs. Xentral beantwortet 100 Anfragen pro Minute, gleich welchen Tarif Ihr Kunde hat, was ein Delta-Lesezugriff über vier Objekte leicht schafft und ein erster vollständiger Abzug nicht. Xentral ergänzt, dass die Zahl noch geprüft wird, das Tempo baut man also besser ein, bevor sie sich bewegt. Wenn der 429 kommt, verhindert ein Fehlerkontrakt, dass daraus eine Xentral-förmige Verzweigung in Ihrem Code wird.

Sagen Sie uns, welche Objekte Ihr Anwendungsfall braucht, und wir bestätigen, was möglich ist.

Xentral FAQ

Xentral API-Fragen

Was ist Xentral?

Xentral ist ein Cloud-ERP für kleine und mittlere Unternehmen mit physischen Produkten, mit Auftragsverwaltung, Lagerhaltung, Rechnungsstellung und Buchhaltung in einem System. Es ist ein deutsches Produkt, im Einsatz in Deutschland, Österreich und der Schweiz, und deshalb taucht es häufiger bei Händlern und im E-Commerce auf als bei Dienstleistern.

Wie funktioniert die Authentifizierung bei Xentral über Maesn?

Xentral hat keinen OAuth-Ablauf. Ein Administrator in der Instanz Ihres Kunden erzeugt unter Kontoeinstellungen und dann Entwicklereinstellungen ein persönliches Zugriffstoken. Dieses Token und die Instanz-ID bilden die Verbindung. Maesn verwahrt beide an der Verbindung und gibt Ihnen einen Account-Key zurück. Ihre Anfragen tragen also Ihren API-Schlüssel und diesen Account-Key und nichts Xentral-Eigenes.

Was ist die Xentral-Instanz-ID, und muss ich mich darum kümmern?

Jeder Xentral-Kunde antwortet auf einem eigenen Host, und die Instanz-ID ist der Teil dieses Hosts vor xentral.biz. Sie wird zusammen mit dem Token eingereicht und nicht aus ihm abgeleitet, und deshalb muss sie beim Verbinden eingesammelt werden. Maesn hält die beiden zusammen und baut die Adresse bei jeder Anfrage. Die ID taucht also nie in Ihrem Code auf.

Unterstützt Xentral Webhooks?

Xentral dokumentiert 152 eigene Event-Typen, und die Funktion ist in der Beta. Sie wird je Instanz freigeschaltet und nicht je Integration. Jeder Kunde müsste also mit seinem eigenen Konto dem Beta-Programm von Xentral beitreten, bevor irgendetwas zugestellt werden könnte. Über Maesn hat heute kein Xentral-Objekt ein Event freigeschaltet, aktuell bleiben Sie also über einen geplanten Lesezugriff mit dem lastModifiedAt-Filter. Beides stimmt gleichzeitig, und das Zweite ist das, worauf Ihre Integration läuft.

Was kann ich über Maesn in Xentral lesen und schreiben?

Kunden, Rechnungen, Rechnungspositionen und Lieferanten sind heute lesbar, und Kunden sind das Objekt, das Sie anlegen können. Aktualisieren und Löschen sind noch nicht eingeschaltet, und das ist unser Stand der Freischaltung und keine Grenze der Xentral-API. Weitere Kombinationen aus Objekt und Operation sind mit auf Anfrage gekennzeichnet, und das heißt nicht standardmäßig eingeschaltet und nicht unverfügbar, sagen Sie uns also, welche Sie brauchen.

Wie sind die Ratenbegrenzungen von Xentral?

Xentral erlaubt 100 Anfragen je Minute, unabhängig vom Tarif Ihres Kunden, und antwortet darüber mit einem 429, und es schreibt, dass der Wert noch ausgewertet wird. Ein Delta-Lesezugriff über vier Objekte bleibt gut darunter. Ein erster vollständiger Nachlauf tut das nicht. Er wird deshalb getaktet, und der 429 kommt in derselben Fehlerform an wie bei jedem anderen System.

Kann ich eine Xentral-Integration ohne Kundenkonto testen?

Ja. Xentral bietet keine kostenlose Testphase, für die Sie sich selbst anmelden könnten. Maesn stellt deshalb eine Sandbox bereit. Damit ist der Fall abgedeckt, den Teams am Anfang tatsächlich treffen, nämlich die Integration zu bauen, bevor es einen Kunden gibt, der bereit ist, Administratorzugang zu seiner Live-Instanz zu geben.

Wie lange dauert eine Xentral-Integration?

Die meisten Teams haben in wenigen Tagen eine funktionierende Integration. Token und Instanz-ID werden einmal je Kunde eingesammelt, die Objekte kommen in derselben Form an wie bei jedem anderen System, und die Teile, die auf diesem System sonst einen Sprint kosten, das Routing je Instanz und der Versionsdrift je Endpunkt, liegen hinter der Schnittstelle und nicht in Ihrem Code.

Wie werden die Daten meiner Kunden verarbeitet und gespeichert?

Maesn benutzt für jede Datenübertragung HTTPS und TLS und speichert keine Kundendaten. Die Plattform läuft auf Microsoft Azure in Frankfurt, ist nach ISO 27001 zertifiziert und DSGVO-konform.
Jede Integration, nach der Ihre Kunden fragen. In Tagen, nicht in Monaten.