Alles über die Programmierung von WESEO-Schnittstellen für Website-Kunden

WESEO nutzt für die Erstellung von Websites das Content-Management-System WordPress. Das über die Jahre gesammelte Know-how ermöglicht es unserem Entwicklungsteam, laufend Eigenentwicklungen dafür zu programmieren. Mittlerweile arbeiten wir mit unserem eigenen Page Builder und programmieren Plugins zu den externen Portalen unserer Kund*innen.

Inhaltsverzeichnis

Was ist eine API?

API ist die Abkürzung für „Application Programming Interface“, was auf Deutsch „Programmierschnittstelle“ bedeutet. Solche Schnittstellen erlauben es, Daten nach einem festgelegten Muster zwischen verschiedenen Programmen auszutauschen. Im Fall von WESEO sind es die Daten unserer Kund*innen, die wir über APIs in die WordPress-Installation importieren.
Wir programmieren unsere Schnittstellen mit Hilfe von PHP. Dabei versuchen wir die Daten in geordneter Form vom Quellsystem zur WordPress-Installation zu übertragen. Die importierten Daten werden über die Schnittstelle laufend synchronisiert. Unter Verwendung der API können ausgewählte Informationen auch an die Quelle zurückgeschickt werden. Dies ist beispielsweise bei einem Shop notwendig, bei dem die Bestelldaten über die Schnittstelle festgehalten und an die Quelle zurückgegeben werden.
Einfach gesagt: Schnittstellen sind dazu da, Daten automatisiert zu warten.

Informationsaustausch mit REST-APIs und CSV-Schnittstellen

Es gibt verschiedene Methoden, wie die Daten vom Quellsystem abgefragt werden können. Wir erklären die gängigsten Schnittstellenarten im Folgenden näher:

  • REST-API: REST steht für „Representational State Transfer“ und ist ein Webservice, mit welchem Daten bereits im Rohformat strukturiert und geordnet vom externen Portal geliefert werden. Die REST-API ist damit die komfortabelste Methode, um Daten von einem System in ein anderes zu übertragen. Sie ermöglicht die direkte Kommunikation zwischen WordPress und der genutzten Datenbank.
  • CSV-API: CSV ist die Abkürzung für „Comma-separated values“ und bezeichnet den strukturierten Aufbau von Daten in einer Textdatei. Diese Art des Informationsaustauschs wählen wir dann, wenn die Daten unserer Kund*innen tabellarisch in Form einer CSV-Datei gepflegt und beispielsweise auf einem FTP-Server automatisiert abgelegt werden. Die CSV-Schnittstelle holt die Daten von dort ab, aktualisiert und verarbeitet sie.

Für spezielle Anforderungen braucht es allerdings auch noch andere Arten von Schnittstellen. Mit dem OpenImmo-Standard kommen die Daten zum Beispiel über XML („Extensible Markup Language“). Um diese Daten mit PHP anzusprechen und zu verarbeiten, muss der Entwickler genau wissen, wie XML aufgebaut ist. Aber auch SOAP-Schnittstellen sind für gewisse Programmierungen notwendig. Die meisten Firmen, die Schnittstellen für WordPress anbieten, verwenden allerdings bereits REST oder sind dabei, auf diese Form der Datenübertragung umzusteigen.

Beispiel für die Anwendung einer WordPress REST-API für die Synchronisierung von Website-Inhalten

Die 2 größten Vorteile von Schnittstellen

Viele unserer Kund*innen nutzen ihre Daten bereits auf einem oder sogar auf mehreren Portalen. Um diese Portale mit der Website zu verknüpfen, programmieren wir Schnittstellen, die diese Daten möglichst sauber in unsere WordPress-Installation übertragen. Das bringt für die Kund*innen folgende Vorteile:

  1. Befüllung und Wartung über ein einziges System
    Ohne Schnittstelle müssten unsere Kund*innen ihre Inhalte doppelt warten: sowohl in unserer WP-Installation als auch im hauseigenen System, z.B. in ihrem ERP-System. Mit der Programmierung einer API müssen dieInhalte nur in einem System befüllt und aktualisiert werden. Die Wartung erfolgt somit für beide oder sogar mehrere Systeme in einem Schritt.
  2. Automatische Synchronisation
    Über die programmierte Schnittstelle werden die Quelldaten in einem bestimmten Zeitabstand laufend synchronisiert. Das bedeutet, dass in der Website neue Beiträge automatisch angelegt und Beiträge, die im Quellsystem inaktiv geschalten werden, auch automatisch ausgeblendet werden.

Schnittstellen haben besonders für Hotel-Websites zur Aktualisierung der Zimmer- und Paketpreise sowie bei der Abwicklung der Buchungsanfragen eine starke Berechtigung.

Schnittstellen zu Buchungssystemen von Hotels

Sehr viele unserer Tourismus-Kund*innen benötigen Schnittstellen, die Zimmer, Pakete und Beiträge von einem externen System in ihre Website integrieren. Viele unserer Hotel-Kund*innen wie zum Beispiel das Lifestyle DolceVita Resort Lindenhof , der Tirolerhof Tux, das Naturhotel Chesa Valisa oder das Bio-Natur-Resort Retter nutzen als Buchungssoftware Kognitiv oder websLINE. Für diese Systeme haben wir bei WESEO standardisierte Schnittstellen programmiert, die bereits bei zahlreichen Projekten im Einsatz sind.

Wie die APIs zu Kognitiv und websLINE funktionieren

Grundsätzlich kann sich WordPress über beide Schnittstellen einmal stündlich zum Buchungsportal connecten. Dort holt die Schnittstelle aktuelle Daten ab, sortiert sie und spielt die Inhalte in die Website ein. Pakete, Beiträge, Zimmer und auch Zusatzleistungen werden automatisch in der WordPress-Installation angelegt und aktualisiert. Die Buchungsportale haben allerdings feste Vorgaben, welche Daten sie übergeben und welche nicht. Unsere Entwickler passen die Schnittstelle genau darauf an. In manchen Fällen erfordert das die Programmierung einer eigenen Programmroutine und eines eigenen Algorithmus, was wiederum mehr Zeit in Anspruch nimmt.

Produkt-APIs und weitere WESEO-Schnittstellen

Außerhalb von Hotellerie und Tourismus sind Schnittstellen auch für Immobilien- und Jobportale sowie Online-Shops von großem Vorteil. Beispielsweise haben wir für Quality Austria und für Saatbau eigene Produktschnittstellen programmiert.

Maßgeschneiderte Produktschnittstellen

Um die API spezifisch für Kund*innen anzupassen, arbeiten an Projekten wie Quality Austria oder Venta Group auch deren Mitarbeiter*innen aktiv an der Schnittstelle mit. Was einen großen Vorteil für die Funktionen der Schnittstelle schafft, führt auch zu einer sehr individuellen Herangehensweise. Für die Programmierung einer maßgeschneiderten Schnittstelle müssen genügend Ressourcen zur Verfügung stehen, da die auftretenden Problemstellungen im Vorhinein oft schwer abzuschätzen sind. Beispielsweise kommt es vor, dass die Art der Datenübertragung von unseren Kund*innen im Vorhinein noch nicht klar definiert werden kann oder die Übertragung im ursprünglich geplanten Format aus irgendwelchen Gründen nicht möglich ist.

Wie diese Schnittstellen funktionieren:

  • Produktschnittstelle für Quality Austria
    Bei Quality Austria werden die Daten von den Kund*innen im hauseigenen System befüllt. Über die WESEO-Schnittstelle für Quality Austria werden Termine und Trainings für Online-Schulungen synchronisiert. Diese Trainings sind auch in Produktkategorien präsent, welche mitsynchronisiert werden. Und auch Lehrgangsreihen, die unzählige Trainings beinhalten, werden über die Schnittstelle am aktuellen Stand gehalten. Zusätzlich bietet Quality Austria auch physische Produkte wie Bücher, Notizzettel usw. an. Für eine Schnittstelle in diesem Ausmaß benötigen wir über 200 Stunden Arbeitszeit.
  • Produktschnittstelle für Saatbau
    Bei Saatbau kommen die Produkte über ein hauseigenes System. Dieses verwendet eigene Applikationen, über die wir die Produkte von Saatbau automatisiert über eine REST-API in die WordPress-Installation holen. Es geht dabei wieder um das Prinzip, die Daten an einer einzigen Stelle für mehrere Portale zu warten: Saatbau befüllt die Produkte ausschließlich über das eigene System.

„WordPress zu WordPress“-Schnittstelle

Es besteht auch die Möglichkeit, mithilfe einer Schnittstelle Daten von einer WordPress-Installation in die andere zu synchronisieren. Eine API dieser Art haben wir zum Beispiel für KLH programmiert. KLH besitzt drei eigenständige Domains: klh.at, klhuk.com und klh-usa.com. Inhalte wie Referenzen und Beiträge überschneiden sich allerdings in bestimmten Bereichen. Um das mehrmalige Eingeben derselben Daten zu umgehen, haben wir eine zentrale WP-Installation geschaffen, die alle Inhalte sammelt und auf die einzelnen Websites verteilt. Für dieses Portal gibt es eine eigene Domain mit Zugang zum Backend. Von dort aus lässt sich steuern, welche Inhalte auf den einzelnen Websites ausgegeben werden.

Welche Kenntnisse für die Programmierung einer API gefragt sind

Wie bereits erwähnt programmieren wir unsere Schnittstellen mithilfe von PHP. Zusätzlich sind Erfahrungen mit Standardschnittstellen wie REST-API gefragt. Der oder die Entwickler*in sollte außerdem auch ein ausgeprägtes Verständnis für einfache Formate wie CSV, JSON oder XML besitzen. Die Datenverarbeitung kann von System zu System sehr unterschiedlich aussehen. Eine Schnittstelle für WordPress hat andere Anforderungen wie eine Schnittstelle zum CMS Contao. Entwickler*innen müssen wissen, welches Quellsystem verwendet wird und wie das System agiert, wo die Daten am Ende ausgespielt werden sollen. Wer sich als Entwickler*in bei WESEO bewerben möchte, sollte deshalb den Aufbau und die Funktionen von WordPress sehr genau kennen.

Du hast Interesse daran, Teil unserer WESEO-Crew zu werden? Im Interview mit Markus Wiesenhofer erfährst du mehr über den Alltag unseres Senior-Entwicklers.

Jetzt bewerben

Wann zahlt sich eine Schnittstelle für Kund*innen aus?

Schnittstellen aktualisieren und updaten zu jeder Zeit: Sobald im Quellsystem Daten gelöscht oder verändert werden, ändern sich diese auch automatisch für die WordPress-Installation mit. Für Hotelkund*innen, die beispielsweise ein Paket im Kognitiv auf inaktiv stellen und gleichzeitig auch auf der Website ausblenden möchten, ist das ein großer Vorteil. Allerdings gibt es auch Projekte, für die es wenig Sinn macht, eine Schnittstelle zu entwickeln. Vor allem dann, wenn ein Großteil der Inhalte trotz Schnittstelle händisch befüllt werden soll. In so einem Fall sind Aufwand und Kosten für die Programmierung um ein Vielfaches höher als die komplette händische Befüllung.

Sie überlegen, ob die Programmierung einer Schnittstelle in Ihrem Fall von Vorteil wäre? Wir stehen Ihnen gerne beratend zur Seite. Von der Konzeption bis zur Umsetzung sind Sie bei unserem Entwicklungsteam in guten Händen.

Jetzt Kontakt aufnehmen