Aller au contenu

Webhook, Links und Weiterleitung

Ce contenu n’est pas encore disponible dans votre langue.

PLUS

Ein statisch gebautes Frontend muss erfahren, wann sich Ihre Immobilien geändert haben, damit es die betroffenen Seiten neu baut. Dafür ruft WP-ImmoMakler nach jeder Übertragung Ihrer Maklersoftware eine Adresse Ihres Frontends auf, den Webhook. Die beiden anderen Optionen auf dieser Seite sorgen dafür, dass Links und Besucher, die noch bei WordPress ankommen, beim Frontend landen.

Alle Einstellungen finden Sie im Backend Ihrer Website (wp-admin) unter WP-ImmoMakler → Integrationen → Headless.

Schalten Sie Webhook senden ein und tragen Sie unter Webhook-Adresse die Adresse ein, die Ihr Frontend für Benachrichtigungen bereitstellt, zum Beispiel https://www.ihre-domain.de/api/revalidate/. Tragen Sie die Adresse genau so ein, wie Ihr Frontend sie beantwortet, beim Astro-Starter mit Schrägstrich am Ende: Leitet das Frontend weiter, etwa von einer Adresse ohne Schrägstrich auf eine mit, folgt WP-ImmoMakler der Weiterleitung nicht und vermerkt im Log “Headless webhook refused by the front end” mit dem Status der Weiterleitung, zum Beispiel 308. WP-ImmoMakler sammelt Änderungen und sendet sie gebündelt: Nach einem Import, der viele Immobilien anlegt, ändert oder löscht, geht eine einzige Nachricht hinaus, sobald die unter Wartezeit eingestellten Sekunden ohne weitere Änderung vergangen sind (Standard: 60). Eine von Hand veröffentlichte oder gelöschte Immobilie wird genauso gemeldet.

Die Nachricht ist ein POST mit einem JSON-Dokument:

{
"event": "properties.changed",
"api_version": 1,
"site": "https://wordpress.ihre-domain.de/",
"api_base": "https://wordpress.ihre-domain.de/wp-json/immomakler-headless/v1",
"sent_at": "2026-10-12T18:30:00+00:00",
"delivery_id": "6f1c…",
"import_counts": { "files_imported": 1, "created": 2, "updated": 14, "deleted": 1 },
"created": [ { "object_number": "WP1240", "post_id": 4711, "title": "…", "frontend_url": "https://www.ihre-domain.de/immobilien/…/" } ],
"updated": [ … ],
"deleted": [ { "object_number": "WP1101", "post_id": 0, "title": "…" } ],
"full_rebuild_hint": false
}

created, updated und deleted nennen die betroffenen Immobilien über ihre Objektnummer; ein Frontend baut die genannten Seiten neu oder stößt einen vollständigen Build an. full_rebuild_hint ist true, wenn sich etwas geändert hat, das sich keiner einzelnen Immobilie zuordnen lässt, etwa Einstellungen, die alle Seiten betreffen. Ein Frontend sollte darauf mit einem vollständigen Build antworten.

Jede Nachricht trägt die Header X-ImmoMakler-Event, X-ImmoMakler-Delivery (eine eindeutige Kennung), X-ImmoMakler-Timestamp (Unix-Zeit des Versands) und X-ImmoMakler-Signature. Die Signatur ist sha256= gefolgt vom HMAC-SHA256 über Zeitstempel.Body mit dem Webhook-Secret aus den Einstellungen als Key. Ihr Frontend berechnet denselben Wert über den unveränderten Body und vergleicht ihn; weicht er ab oder liegt der Zeitstempel mehr als ein paar Minuten zurück, verwirft es die Nachricht.

import { createHmac, timingSafeEqual } from 'node:crypto';
const expected = 'sha256=' + createHmac('sha256', secret).update(`${timestamp}.${rawBody}`).digest('hex');
const valid = timingSafeEqual(Buffer.from(expected), Buffer.from(signatureHeader));

Das Secret erzeugt WP-ImmoMakler beim ersten Aufruf der Einstellungen; mit Neues Secret erzeugen ersetzen Sie es, danach muss auch das Frontend das neue Secret kennen.

Antwortet Ihr Frontend nicht mit einem Status 2xx oder gar nicht, wiederholt WP-ImmoMakler die Zustellung nach 1, 5, 30 Minuten, 2 und 6 Stunden. Danach gibt es die Nachricht auf und vermerkt das im Log immomakler-headless-*.log im Import-Verzeichnis; die nächste Änderung beginnt von vorn. Den Stand der letzten Zustellung sehen Sie in den Einstellungen unter Webhook, und mit Testnachricht senden schicken Sie eine Nachricht mit dem Ereignis ping ab, um die Verbindung zu prüfen.

Mit Links auf das Frontend umschreiben zeigen alle Links, die WordPress auf eine Immobilie, die Immobilienliste oder eine Kategorie baut, auf das Frontend: in den E-Mails zu Kontaktanfragen und Suchaufträgen, in den Feeds, in Menüs und in den “Anzeigen”-Links des Backends. Die Schnittstelle selbst nennt unter wp_url weiterhin die WordPress-Adresse.

Sobald das Frontend die Immobilienseiten ausliefert, schalten Sie Besucher auf das Frontend weiterleiten ein. Ruft ein Besucher oder eine Suchmaschine eine Immobilie, die Immobilienliste oder eine Kategorie auf Ihrer WordPress-Website auf, antwortet WP-ImmoMakler mit einer dauerhaften Weiterleitung (301) auf die entsprechende Seite des Frontends; Suchparameter der Immobilienliste nimmt sie mit. So behalten in Suchmaschinen gelistete Adressen ihren Wert.

Nicht weitergeleitet werden das PDF-Exposé, das Vorschaubild für soziale Netzwerke, der QR-Code, die Galerie- und Karten-Iframes, die Feeds für Kyero und den Facebook-Katalog, Vorschauen sowie angemeldete Benutzer, die Beiträge bearbeiten dürfen. Eine Adresse mit dem Parameter ?noredirect bleibt ebenfalls auf WordPress.