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.





