Websites & Software

CRM, Shop und Website verbinden: Was bei API-Integrationen schiefgeht

Kurz gesagt

API-Integrationen zwischen CRM, Shop, ERP und Website brauchen Fehlerbehandlung, Versionierung und Dokumentation – sonst brechen sie bei jedem Update eines beteiligten Systems still zusammen. REST, GraphQL und Webhooks haben unterschiedliche Einsatzfelder. Wer keine Fehlertoleranzen einplant, baut ein fragiles System.

Wenn Systeme sprechen – aber sich nicht verstehen

Der Wunsch ist verständlich: CRM, Webshop, Website und ERP sollen zusammenarbeiten. Neue Kunden aus dem Shop landen automatisch im CRM, Lagerbestände synchronisieren sich in Echtzeit, Bestellstatus-Updates erscheinen sofort im Kundenportal. Was in der Präsentation glatt klingt, ist in der Realität oft ein fragiles Konstrukt aus Schnittstellen, das bei jedem Update eines beteiligten Systems auseinanderfällt.

Wir begleiten regelmäßig Projekte, bei denen Integrationen nachträglich stabilisiert werden müssen. Das Muster ist erstaunlich gleichförmig: Die Verbindung zwischen zwei Systemen wurde aufgebaut, funktionierte beim Launch – und niemand hat sich Gedanken gemacht, was passiert, wenn der externe Dienst kurz nicht erreichbar ist, sich die API-Version ändert oder die übertragenen Daten ein unerwartetes Format haben. Das Ergebnis: Datenverlust, doppelte Einträge oder Prozesse, die still stehenbleiben, ohne dass jemand eine Fehlermeldung bekommt.

Eine API-Integration ist keine einmalige technische Aufgabe, sondern eine dauerhaft zu wartende Systemkomponente. Wer das unterschätzt, baut sich eine technische Schuld auf, die früher oder später fällig wird.

REST, GraphQL, Webhooks, WebSockets: Was passt wann?

REST (Representational State Transfer) ist der am weitesten verbreitete API-Standard: Ein Client schickt eine HTTP-Anfrage, der Server antwortet mit Daten, meist im JSON-Format. REST ist gut dokumentiert, von nahezu allen Systemen unterstützt und für die meisten Integrationsfälle die richtige Wahl. Die Schwäche: Bei komplexen Abfragen muss der Client oft mehrere Anfragen hintereinander schicken.

GraphQL löst genau dieses Problem: Der Client definiert selbst, welche Felder er benötigt, und bekommt in einer einzigen Anfrage genau diese Daten zurück. Das spart Datenvolumen und reduziert Latenz – besonders sinnvoll, wenn viele verschiedene Client-Typen (Mobile App, Web, Partner-API) dieselben Daten in unterschiedlichen Formaten benötigen. Der Nachteil: Die serverseitige Implementierung ist aufwendiger, und Caching ist komplexer als bei REST.

Webhooks funktionieren umgekehrt: Statt dass der Client regelmäßig fragt, ob es Neuigkeiten gibt, schickt der Server aktiv eine Benachrichtigung, sobald ein Ereignis eintritt – ideal für Zahlungsbestätigungen, neue Bestellungen oder CRM-Events. Wichtig: Webhooks brauchen eine zuverlässige Empfangsinfrastruktur mit Bestätigungs-Logik, sonst gehen Events im Fehlerfall verloren. WebSockets ermöglichen echte bidirektionale Echtzeit-Kommunikation, etwa für Live-Chats oder Dashboards. Sie sind der technisch aufwendigste Ansatz und lohnen sich nur bei echten Echtzeit-Anforderungen.

Häufigste Fehler bei API-Integrationen im Mittelstand

  • Keine Fehlerbehandlung: Ohne Timeout-Logik und Retry-Mechanismus hängt die eigene Anwendung oder verliert stillschweigend Daten, wenn die externe API 30 Sekunden nicht antwortet.
  • Keine API-Versionierung beachtet: Externe APIs ändern sich; ohne Versionsstrategie fallen Breaking Changes erst auf, wenn Produktionsprozesse ausfallen.
  • Unsichere Token-Verwaltung: API-Schlüssel im Quellcode, in Git-Repositories oder in Log-Dateien sind ein ernstes und in der Praxis erschreckend häufiges Sicherheitsrisiko.
  • Keine Dokumentation der Integration: Verlässt der Entwickler das Unternehmen, ist die Integration eine Blackbox – niemand weiß mehr, welche Felder gemappt werden oder was bei Fehler X zu tun ist.
  • Keine Überwachung und kein Alerting: Integrationen, die still fehlschlagen, sind die gefährlichsten; ohne Monitoring bemerkt niemand, dass seit gestern keine Bestellungen mehr ins CRM übertragen wurden.
  • Falsche Daten-Mapping-Annahmen: Speichert das CRM Namen als „Vorname Nachname" und der Shop als „Nachname, Vorname", entstehen ohne sorgfältiges Mapping Dubletten und fehlerhafte Datensätze.
  • Keine Rate-Limiting-Behandlung: Viele APIs begrenzen die Anzahl der Anfragen pro Minute; wer das ignoriert, riskiert geblockte Verbindungen in Lastspitzen.
  • Synchrone statt asynchrone Verarbeitung: Wer den Nutzer auf die Antwort einer externen API warten lässt, liefert schlechte Performance – ohne Lösung, wenn die externe API langsam ist.

Stabile API-Integrationen in sechs Schritten aufbauen

  • Integrations-Anforderungen vor der Implementierung dokumentieren: Welche Daten fließen von wo nach wo, bei welchen Ereignissen, und wer ist bei Ausfällen der externen API verantwortlich?
  • Fehlerszenarien von Anfang an einplanen: Timeout, HTTP-500-Fehler, unerwartetes Datenformat – jede Situation braucht eine definierte Reaktion, mindestens eine Fehlermeldung im Monitoring.
  • API-Schlüssel sicher verwalten: in Umgebungsvariablen oder einem sicheren Key-Store, nie im Quellcode oder in Git-Repositories, mit minimalen Zugriffsrechten und geplanten Rotationszyklen.
  • Asynchrone Verarbeitung für zeitkritische Prozesse nutzen: Statt einer CRM-Übertragung synchron im selben Request eine Queue-basierte Verarbeitung, die im Hintergrund mit Retry-Logik arbeitet.
  • Monitoring und Alerting von Tag eins: Logs mit Fehlerdetails und ein System, das bei wiederholten Fehlern aktiv benachrichtigt – bei uns löst ein automatischer Alarm aus, wenn eine Integration mehr als drei Fehler in Folge produziert.
  • Änderungen der externen API beobachten: Provider-Ankündigungen zu API-Deprecations abonnieren, Changelogs verfolgen, API-Versionsnummern explizit konfigurieren.

Ein häufiges Szenario zeigt, wie viel dabei auf dem Spiel steht: Ein Webshop überträgt neue Bestellungen per Webhook an das CRM. Alles läuft, bis das CRM-System zwei Stunden wegen Wartungsarbeiten nicht erreichbar ist. Der Webshop schickt die Webhook-Events, bekommt keine erfolgreiche Antwort – und macht nichts weiter. Keine Fehlermeldung, keine Wiederholung, keine Benachrichtigung. Das CRM-Team bemerkt den Datenverlust erst drei Tage später bei einer manuellen Prüfung; die fehlenden Bestellungen müssen von Hand nacherfasst werden. Eine einfache Retry-Queue hätte das verhindert.

Typische Integrations-Szenarien im Mittelstand

Im Mittelstand sind API-Integrationen längst Standard, keine Ausnahme. Die häufigsten Szenarien: Shop-zu-CRM-Synchronisation (neue Kunden, Bestellhistorie, Kundenstatus), ERP-zu-Shop-Produktdaten (Bestände, Preise, Produktinformationen), Website-Kontaktformulare zu CRM (automatische Lead-Anlage), Buchhaltungssysteme zu Shop (Rechnungsstellung, Steuerinformationen) sowie externe Dienste wie Versanddienstleister, Zahlungsanbieter oder Marketing-Automation-Tools.

Jede dieser Integrationen hat eigene Tücken. Shop-zu-ERP-Verbindungen müssen Bestandsreservierungen in Echtzeit abbilden – zu langsame Synchronisation führt zu Überverkäufen. Buchhaltungsintegrationen sind besonders kritisch, weil Fehler direkte steuerliche Konsequenzen haben können. Marketing-Automation-Anbindungen müssen DSGVO-konform gestaltet werden: Welche Daten dürfen übertragen werden, welche nicht?

Für komplexere Integrationslandschaften empfehlen wir eine zentrale Middleware-Schicht, die als Vermittler zwischen den Systemen agiert. Statt dass Shop direkt mit CRM, CRM direkt mit ERP und ERP direkt mit dem Versanddienstleister kommuniziert, läuft alles über einen zentralen Integration-Layer. Das reduziert die Zahl der Schnittstellen, vereinfacht das Monitoring und macht es einfacher, einzelne Systeme auszutauschen, ohne alle anderen Verbindungen anzupassen.

Häufige Fragen

Was ist der Unterschied zwischen REST und GraphQL?
REST ist der Standard für die meisten Integrationen, GraphQL erlaubt flexiblere Abfragen und ist effizienter, wenn viele Client-Typen dieselbe API nutzen.
Was sind Webhooks und wann sollte man sie verwenden?
Ereignisgesteuerte Benachrichtigungen, ideal für Zahlungsbestätigungen, neue Bestellungen oder CRM-Events; die Empfangsinfrastruktur muss Events zuverlässig bestätigen.
Warum schlägt meine API-Integration nach Updates fehl?
Meist weil die API-Version nicht explizit verwaltet wird und die eigene Integration noch die alte Datenstruktur erwartet.
Wie schütze ich API-Schlüssel in meiner Anwendung?
In Umgebungsvariablen oberhalb des Web-Roots, nie direkt im Quellcode oder in Git-Repositories, mit minimalen Berechtigungen und regelmäßiger Rotation.