Wir fangen nicht bei der Objektliste an, sondern beim Feld-Mapping. Auf
der einen Seite steht, was aus FlowFact herauskommt — Objektart, Vermarktungsart, Preise,
Flächen, Zimmer, Ausstattung, Energieangaben, Texte, Bilder, Dokumente. Auf der anderen Seite
steht das Inhaltsmodell des CMS. Dazwischen
liegt eine Tabelle, die für jedes Feld sagt: Quelle, Ziel, Datentyp, Pflicht oder optional, und
was passiert, wenn es fehlt. Diese Tabelle ist die eigentliche Schnittstelle. Alles danach ist
Handwerk.
Beim OpenImmo-Weg läuft es so: FlowFact packt die Objektdaten als
XML-Datei zusammen mit allen referenzierten Bildern und Dokumenten in ein ZIP-Archiv und legt es
per FTP im Zielverzeichnis ab — derselbe Mechanismus, mit dem auch die Portale beliefert werden.
Auf der Website wartet ein Importer: Er entpackt, prüft das XML gegen das Schema, mappt die
Felder, holt Medien einmalig herunter, erzeugt daraus AVIF-
und WebP-Derivate und schreibt die Objekte in den
Bestand. Der Lauf ist idempotent: Dieselbe Lieferung zweimal verarbeitet ergibt denselben
Zustand, keine Dubletten.
Beim API-Weg dreht sich die Richtung um: Nicht das CRM liefert, sondern
die Website fragt. FlowFact betreibt dafür ein öffentliches Entwicklerportal; die dort
dokumentierte Cloud-API ist eine HTTPS-Schnittstelle im REST-Stil, deren Dienste nach
Zuständigkeiten geschnitten sind — Entitäten und Schemata, Kontakte, Exposés, Medien, Suche,
Anfragen. Die Endpunkte antworten nur mit gültigen Zugangsdaten, und der Zugang wird laut
Serviceportal im CRM selbst angelegt. Was ein konkreter Vertrag freischaltet, steht nicht in der
öffentlichen Dokumentation. Deshalb sichten wir vor dem Angebot immer den echten Zugang, statt
aus einer Funktionsliste zu schließen — so
arbeiten wir bei jeder Schnittstelle.
Der größte Hebel liegt danach im Betrieb. Ein Importer, der nur beim ersten Lauf funktioniert,
ist kein Importer. Er braucht einen festen Turnus, ein Protokoll pro Lauf, eine Meldung, wenn
eine Lieferung ausbleibt oder halb ankommt — und eine Regel für den Cache, damit die
Auslieferung schnell bleibt, ohne dass ein
geänderter Preis eine Stunde alt aussieht.