Wenn von der „POHODA API“ die Rede ist, ist meist die XML-Schnittstelle gemeint. Der Hersteller STORMWARE bezeichnet sie selbst als API, und über sie gelangen Bestellungen aus Onlineshops, Belege aus Kassen und Daten aus anderen Anwendungen in POHODA. Wer Daten nur lesen muss, hat bei den Reihen POHODA SQL und E1 einen zweiten Weg: direkt aus der Datenbank. In diesem Überblick erfahren Sie, wie beide Wege funktionieren, wann welcher passt und worauf Sie achten sollten.
Die kurze Antwort
POHODA bietet drei Wege zu den Daten: XML-Dateien, mServer und das direkte Lesen aus der Datenbank. XML-Dateien werden stapelweise verarbeitet, etwa über die Kommandozeile. mServer ist ein in POHODA eingebauter HTTP-Server, der dasselbe XML über das Netzwerk annimmt. Die Reihen POHODA SQL und E1 laufen auf Microsoft SQL Server, ihre Daten lassen sich daher auch direkt lesen. Schreibvorgänge in POHODA gehören immer in die XML-Schnittstelle, nie in die Datenbank.
Drei Wege zu den Daten
- XML-Import und -ExportSie erstellen eine XML-Datei nach dem Schema, und POHODA verarbeitet sie. Das lässt sich manuell im Programm oder automatisch über die Kommandozeile starten. Geeignet für Stapelverarbeitung, etwa die nächtliche Übertragung von Belegen.
- POHODA mServerDasselbe XML, nur über HTTP oder HTTPS gesendet. Ihre Anwendung schickt eine Anfrage und erhält sofort eine Antwort. Darauf baut der Großteil der Onlineshop-Konnektoren auf.
- Direktes Lesen per SQLNur in den Reihen POHODA SQL und E1. Sie lesen über ein eigenes Konto mit reinen Leserechten, ohne Warteschlange und ohne Last auf dem Programm. Ideal für Auswertungen und Berichte, nicht zum Schreiben.
Wie die XML-Kommunikation aussieht
Jede XML-Datei für POHODA hat denselben Umschlag. Das Wurzelelement dataPack enthält einzelne dataPackItem-Einträge, und jeder davon trägt einen Beleg zum Import oder eine Exportanfrage. Ein dataPack kann Import und Export mischen. Die Struktur beschreiben XSD-Schemas: POHODA hat für jeden Bereich ein eigenes Schema, aktuell ist Version 2.x. Das komplette Schemapaket mit Beschreibung laden Sie auf der Website von Stormware herunter. Die Entwicklerdokumentation mit Strukturbeschreibung, unterstützten Daten und beim Export auch Filterung und Paginierung stellt der Hersteller im Portal api.stormware.cz bereit.
Auf jede Anfrage erhalten Sie eine Antwort. Darin steht für jeden Beleg, ob er durchgegangen ist, und falls nicht, die Fehlernummer, eine Beschreibung und der XPath zum problematischen Element. POHODA kann auch Duplikate verhindern: Ist die Prüfung aktiviert, wird derselbe Beleg anhand der Kennungen im Umschlag kein zweites Mal importiert.
Der Benutzer, unter dem Sie XML verarbeiten, braucht in POHODA die passenden Rechte. Für den Import Schreibrechte im jeweiligen Bereich, für den Export mindestens Leserechte. Fehlende Rechte sind einer der häufigsten Gründe, warum ein Import „nichts tut“.
Welche Bereiche XML abdeckt
Die Liste ist lang. Importieren lassen sich unter anderem Rechnungen, Bestellungen, Angebote, Anfragen, Wareneingänge, Warenausgänge, Umlagerungen, Kassenbons, Kassenbelege, Bankbelege, Aufträge und Produktion. Aus den Stammdaten: Adressen, Artikel, Lager, Nummernkreise, Bankkonten und Onlineshop-Kategorien. Der Export umfasst zusätzlich etwa Salden, das Buchungsjournal, Kostenstellen, Verkaufspreise oder die Liste der Buchungseinheiten. Die genaue, aktuelle Übersicht pflegt Stormware in der Liste der Belege für den Import und für den Export, samt Beispieldateien.
mServer in Kürze
mServer ist Teil des Programms POHODA. Er lauscht auf einem gewählten Port und nimmt XML per POST mit dem Typ text/xml an. Die Anmeldung erfolgt über den Header STW-Authorization mit den Zugangsdaten eines POHODA-Benutzers, und er funktioniert über HTTP wie HTTPS. Anfragen verarbeitet er nacheinander in der Reihenfolge des Eingangs, große Stapel sollten Sie daher verteilen. Den Status prüfen Sie mit einer einfachen Anfrage an /status.
Jede mServer-Konfiguration gehört zu einer Buchungseinheit, also einer Firma in einem Geschäftsjahr. Ein laufender mServer belegt außerdem eine ganze Instanz des Programms, und der Hersteller empfiehlt den Betrieb auf einem Serverbetriebssystem im internen Netz. Betrieb, Kosten und Praxistipps behandelt ausführlich unser Artikel POHODA mServer.
Direktes Lesen aus der Datenbank
Die Reihen POHODA SQL und E1 speichern ihre Daten in Microsoft SQL Server. Zum Lesen brauchen Sie daher weder mServer noch XML. Es genügen ein eigenes Datenbankkonto mit reinen Leserechten und ein gesicherter Weg zum Server. Das Lesen läuft am Programm vorbei, und die Antwort kommt sofort. Die Basisreihe von POHODA nutzt eine dateibasierte Datenbank, dort ist dieser Weg nicht möglich.
Genau so arbeitet unser POHODA MCP: Der KI-Assistent liest direkt aus der SQL-Datenbank und braucht weder mServer noch kostenpflichtige Zusatzmodule. Schreibaktionen im höheren Tarif laufen dagegen über die XML-Schnittstelle, wie bei jeder anderen Integration.
Nicht in die Datenbank schreiben
Direktes Schreiben in die Tabellen umgeht die Logik des Programms: Nummernkreise, USt.-Berechnung, Verknüpfungen zwischen Belegen und Sperren. Das Ergebnis sind oft Belege, die in POHODA korrekt aussehen, in der Buchhaltung aber nicht aufgehen. Schreiben Sie daher immer über die XML-Schnittstelle.
Worauf Sie achten sollten
- Ein neues Geschäftsjahr ist eine neue Buchungseinheit. Zu Jahresbeginn müssen die Konfiguration des mServers und des XML-Imports auf die neue Einheit umgestellt werden, sonst arbeitet die Integration weiter mit dem alten Jahr.
- POHODA-Updates. Nach einem Update muss die Buchungseinheit mitunter in die neue Version überführt werden. Bis das passiert ist, endet die XML-Verarbeitung mit einem Fehler. Prüfen Sie deshalb nach jedem Update, ob die Kommunikation wieder läuft.
- Datensicherung und Datenbankpflege. Ein laufender mServer hält eine Verbindung zur Datenbank und blockiert manche Vorgänge, etwa die Datensicherung. Der Hersteller rät davon ab, ihn dauerhaft laufen zu lassen oder als Windows-Dienst zu starten. Start und Stopp plant man über die Aufgabenplanung.
- Die Warteschlange. mServer arbeitet Anfragen nacheinander ab. Schickt ein Onlineshop Hunderte Bestellungen auf einmal, warten sie in der Reihe. Berücksichtigen Sie das beim Entwurf der Synchronisation.
- Schemaversionen. Stormware erweitert die Schemas laufend. Validieren Sie XML gegen das aktuelle Paket und verfolgen Sie die geplanten Kompatibilitätsänderungen.
Selbst bauen oder nicht?
Für einen einmaligen Import oder ein einfaches Skript reicht die XML-Schnittstelle, und die Dokumentation ist ordentlich. Sobald Sie aber eine zuverlässige Synchronisation in beide Richtungen, Fehlerüberwachung und Wiederholungen brauchen, wächst der Aufwand schnell. Möglichkeiten für Onlineshops vergleicht der Artikel POHODA mit dem Shop verbinden, Automatisierungstools behandelt Make, Zapier, n8n und POHODA. Was die einzelnen Varianten für die Anbindung weiterer Systeme bieten, finden Sie auf der Detailseite POHODA Komplet.
Häufige Fragen
Hat POHODA eine REST-API?
Nicht im üblichen Sinn. Als API versteht der Hersteller die XML-Schnittstelle. Über mServer rufen Sie sie per HTTP auf, die Daten sind aber immer XML nach den POHODA-Schemas, kein JSON.
Brauche ich mServer?
Für die laufende Kommunikation aus einer anderen Anwendung ja. Für die Stapelverarbeitung genügt der XML-Import über die Kommandozeile. Und zum Lesen in den Reihen SQL und E1 brauchen Sie keins von beiden, die Daten lassen sich direkt aus der Datenbank lesen.
Ist mServer auch in den kleineren POHODA-Varianten enthalten?
Laut Hersteller ist mServer Bestandteil aller Varianten des Programms POHODA. Manche Funktionen unterscheiden sich aber je nach Reihe. Die Reihe E1 kann die XML-Kommunikation zum Beispiel automatisch direkt aus dem Programm starten.
Wo finde ich die XSD-Schemas und Beispiele?
Auf der Website von Stormware im Bereich XML. Dort gibt es das komplette Schemapaket in Version 2.x zum Download, eine Beschreibung jedes Schemas sowie Beispielanfragen und -antworten für die einzelnen Bereiche.
Kann ich direkt in die SQL-Datenbank schreiben?
Technisch ja, wir raten aber davon ab. Sie umgehen die Logik des Programms und riskieren Belege, die nicht aufgehen. Schreibvorgänge gehören in die XML-Schnittstelle.
War dieser Artikel hilfreich?
Danke für Ihr Feedback!