TYPO3 und Schnittstellen – Wenn Drittsysteme plötzlich kommunizieren

TYPO3 und Schnittstellen – Wenn Drittsysteme plötzlich kommunizieren

CRM, ERP, Bewerbermanagement, Personen- und Satzungsdatenbank – die Liste der Systeme, die mit TYPO3 sprechen müssen, wird immer länger. Wie gelingt die Integration reibungslos? Ein Praxis-Leitfaden für Entwickler und technische Projektleiter.

Dokumentation: Der unterschätzte Erfolgsfaktor

Wussten Sie, dass fehlende oder unvollständige API-Dokumentation der häufigste Grund für Projektverzögerungen bei Schnittstellenanbindungen ist? In unserer Erfahrung kostet jede undokumentierte Schnittstelle mindestens 30% mehr Entwicklungszeit.

"Gibt es dazu eine Dokumentation?" – Diese Frage stellen wir bei jedem Projekt zuerst. Die Antwort bestimmt maßgeblich den weiteren Projektverlauf.

Im Idealfall existiert eine Schnittstellendokumentation, die über das hinausgeht, was Systeme wie Swagger automatisch generieren. Was fast immer fehlt: Beispiel-Requests für gängige Use Cases. "Liste mir alle Datensätze auf", "Finde Datensätze anhand von Eigenschaften", "Lade eine einzelne Datei herunter" – solche Standardanfragen sollten dokumentiert sein.

Die Realität sieht oft anders aus: Keine Dokumentation vorhanden. In diesem Fall erstellen wir als TYPO3-Dienstleister selbst eine – und zwar bevor die erste Zeile Code geschrieben wird.

Unsere Regel: Es muss immer eine Dokumentation existieren. Notfalls erstellen wir sie selbst.

Technische Rahmenbedingungen klären

Bevor die Entwicklung startet, müssen grundlegende Fragen beantwortet werden. Diese Checkliste hat sich in unseren Projekten bewährt:

Sicherheit: Welche Authentifizierung wird verwendet? API-Key, OAuth, Session-Token? Ist eine IP-Whitelist erforderlich oder sinnvoll? Reicht ein reiner Lesezugriff oder werden auch Schreiboperationen benötigt?

Performance und Stabilität: Wie schnell antwortet die API unter Last? Gibt es SLAs zur Verfügbarkeit? Existieren Rate-Limits, die berücksichtigt werden müssen?

Datenvolumen: Wie viele Datensätze enthält das Quellsystem insgesamt? Wie groß ist ein einzelner Datensatz? Lässt sich die Payload reduzieren, indem nur benötigte Felder angefordert werden?

Funktionsumfang: Bietet die API eine Suchfunktion? Gibt es Pagination für große Ergebnismengen? Werden Datensätze eindeutig gekennzeichnet (z.B. durch eine UID)? Wie werden Assets wie Bilder oder PDFs bereitgestellt?

Info: Bei einer kürzlich von uns angebundenen Personendatenbank für eine Universität stellten wir fest, dass die API zwar Pagination unterstützt, aber keine Gesamtanzahl der Ergebnisse zurückgibt. Diese Information kann jedoch entscheidend sein für die Frontend-Entwicklung.

Caching-Strategie: Import oder Ad-hoc?

Erfahrene Entwickler haben nach der technischen Analyse bereits ein Gefühl dafür entwickelt, welche Strategie die richtige ist:

Variante A: Nächtlicher Import via Scheduler

Sinnvoll bei: großen Datenmengen, langsamen APIs, hohen Aufrufzahlen im Frontend, komplexen Filterungen und Sortierungen.

Der Scheduler importiert die Daten regelmäßig in lokale TYPO3-Tabellen. Das Frontend arbeitet ausschließlich mit den lokalen Daten – schnell, zuverlässig, unabhängig von der Verfügbarkeit des Quellsystems.

Variante B: Ad-hoc-Abfrage im Frontend

Sinnvoll bei: Echtzeitanforderungen, kleinen Datenmengen, schnellen APIs, geringen Aufrufzahlen.

Die Daten werden bei jedem Seitenaufruf direkt von der API geholt. Optional mit TYPO3-Cache für eine definierte Zeitspanne.

Tipp: Bei der Einbindung eines HR-Moduls mit Stellenanzeigen in TYPO3 eines Versicherers mit wenigen Dokumenten und moderatem Traffic haben wir uns bewusst gegen einen Import entschieden. Die API war schnell genug, die Daten mussten aktuell sein, und der Entwicklungsaufwand für einen Importer hätte den Nutzen nicht gerechtfertigt.

Erste Tests: Bevor Code geschrieben wird

Bevor die eigentliche Entwicklung beginnt, sind praktische Tests unverzichtbar. Tools wie Postman oder der HTTP-Client in PhpStorm sind populär – wir bevorzugen jedoch einfache CURL-Requests auf der Kommandozeile.

Warum CURL?

  • Einfach und verständlich
  • Von jedem Entwickler nachstellbar
  • Keine Tool-Installation erforderlich
  • Perfekt für die Dokumentation

Beispiel: Authentifizierung gegen eine API

curl -H 'Accept: application/json' \ -H 'Authorization: Bearer IhrApiKey...' \ -k https:// api.beispiel.de/auth/login

Beispiel: Abruf einer Datensatzliste mit Pagination

curl -H 'Accept: application/hal+json' \ -H 'Authorization: Bearer SessionToken...' \ 'https:// api.beispiel.de/records?pagesize=10&page=1'

Beispiel: Gefilterter Abruf nach Eigenschaften

curl -H 'Accept: application/hal+json' \ -H 'Authorization: Bearer SessionToken...' \ 'https:// api.beispiel.de/records?properties={15:["Master"]}'

Diese Tests helfen, ein Gefühl für die API zu entwickeln: Wo hängt es? Welche Felder kommen zurück? Wie sind die Daten strukturiert? Funktioniert die Authentifizierung wie dokumentiert?

Wichtig: Funktionierende Beispiel-Requests gehören in die Dokumentation. Sie sind Gold wert für jeden Entwickler, der später am Projekt arbeitet.

Praxisbeispiel: Satzungsdatenbank der TUM

Bei der Technischen Universität München haben wir eine Satzungsdatenbank angebunden – ein externes System auf Basis einer Oracle-Datenbank. Die Anforderung: Satzungen verschiedener Kategorien und Versionen im TYPO3-Frontend durchsuchbar und filterbar darstellen.

Nach der technischen Analyse war klar: Die API ist performant genug für Ad-hoc-Abfragen. Ein nächtlicher Import wäre Overkill gewesen. Die TYPO3-Extension macht Anfragen direkt an die Datenbank und gibt das Resultat über Fluid aus.

Das Ergebnis: Eine schlanke Extension ohne lokale Datenhaltung, die dennoch alle Anforderungen erfüllt – inklusive Filterung nach Fakultät, Abschluss und Satzungsart sowie Download der PDF-Dokumente.

Fazit: Schnittstellen sind kein Hexenwerk

API-Integrationen folgen einem klaren Muster: Dokumentation sicherstellen, technische Rahmenbedingungen klären, Caching-Strategie festlegen, testen. Wer diese Schritte sauber durchläuft, vermeidet böse Überraschungen.

Die gute Nachricht: TYPO3 bietet alle Werkzeuge für professionelle API-Integrationen – von Scheduler-Tasks über Caching-Framework bis hin zu Extbase-Repositories. Man muss sie nur richtig einsetzen.

Sie planen eine Schnittstellenanbindung für Ihr TYPO3-Projekt? Wir haben bereits eine Vielzahl an APIs angebunden – von simplen REST-Services bis zu komplexen Enterprise-Systemen. Sprechen Sie uns an.

Alexander Kellner

Alex Kellner

Alex Kellner ist nicht nur für seine vielen TYPO3-Erweiterungen wie zum Beispiel powermail, femanager oder lux sondern auch für seinen Community-Einsatz bekannt. Er gibt auch gerne Administrations- oder Entwicklungsschulungen oder Worksshops.

Alexander Kellner  |  Geschäftsführung & COO

KI in TYPO3 – von der Spielerei zur echten Arbeitserleichterung

Warum in2code bereits sechs KI-Integrationen für TYPO3 anbietet – und was Redakteure und Marketingverantwortliche davon haben.

Zum Beitrag
AI in TYPO3

50% Wartungskosten gespart. Ziel erreicht? Nicht ganz.

Warum Website-Konsolidierung mehr ist als ein technisches Projekt

Zum Beitrag
Website Konsolidierung mit TYPO3

Redaktionelle Schulden im CMS – das versteckte Problem bei TYPO3-Relaunches

Technische Schulden kennt jeder Entwickler. Aber was passiert, wenn Redakteure gezwungen sind, das CMS auszutricksen? Wir beleuchten ein unterschätztes Problem, das bei Relaunches zur Kostenfalle...

Zum Beitrag
Chaos im CMS

TYPO3 Backend UX – Wenn Redakteure plötzlich produktiv werden

Warum dauert die Einarbeitung neuer Redakteure ins CMS Wochen? Und warum kommen ständig die gleichen Support-Anfragen? Bei einem TYPO3-Relaunch wird das Backend von uns komplett auf User Experience...

Zum Beitrag
UX im TYPO3 Backend

Kein Chaos mehr bei vollem Büro - so organisieren wir unsere Teamwochen

Mittlerweile arbeitet ein Großteil unseres Teams ortsunabhängig und wir sind stolz, dass diese Arbeitsweise bei in2code so gut klappt. Trotzdem ist es wichtig, die Kollegen und Mitarbeiter auch...

Zum Beitrag

Hinter den Kulissen: Ein Gespräch mit Peter, Teamlead des TYPO3 Localization Teams

Das TYPO3 Localization Team sorgt dafür, dass TYPO3 weltweit verständlich und zugänglich ist – aber nicht auf die Weise, wie viele denken. Wir haben mit Peter gesprochen, Teamlead des Localization...

Zum Beitrag