Arbeiten mit Webhooks
Webhooks sind Rückrufe an Ihre App, die bei bestimmten Events ausgelöst werden (z. B. Datenänderungen bei einem Standortobjekt). Statt die API zur Erkennung von Veränderungen in der Knowledge Engine abzufragen, empfehlen wir dringend, Webhook-Events zu abonnieren.

Webhooks sind nicht dynamisch über die API konfiguriert. Sie können für jede App auswählen, welche Arten von Webhook-Events Sie abonnieren möchten. Daneben können Sie den Endpunkt in Ihrer App bestimmen, der diese Webhook-Events verfolgen wird. Auf der Seite „App-Einstellungen“ in der Entwicklerkonsole können Sie die Webhooks für jede App verwalten.

Webhooks verwalten
Webhooks verwalten


Events für alle Konten, die mit Ihrer App verbunden sind, werden an die Webhook-Endpunkte gesendet, die Sie konfigurieren. Wenn Ihre App zum Beispiel über zehn verbundene Kunden verfügt und Sie den Standorte-Webhook abonnieren, werden Sie auf demselben Webhook-Endpunkt Webhook-Events für alle zehn Kunden erhalten. Um zu unterscheiden, welche Webhook-Nutzdaten welchem Yext-Konto zugeordnet sind, beinhalten die Webhook-Nutzdaten eine App-spezifische Konto-ID im Meta-Objekt, die dem Wert entspricht, der während des OAuth-Vorgangs zurückgegeben wird.
ACCOUNTID Verlassen Sie sich nicht auf accountId-Referenzen und vermeiden Sie deren Verwendung, da diese ID ein von Kunden einstellbarer Wert ist, der in der Yext Knowledge Engine nicht eindeutig ist. Mehr zu diesem Thema erfahren Sie unter Identifikation von Yext-Objekten.


Beachten Sie bitte, dass für Webhook-Events, bei denen ein Objekt zurückgegeben wird, die Webhook-Nutzdaten das vollständig aktualisierte Objekt enthalten, und nicht nur die Felder, die geändert wurden. Diese Funktion erlaubt Ihrer App, sofort auf das Event zu reagieren, ohne einen anderen API-Endpunkt zum Abrufen des Objekts aufrufen zu müssen. Allerdings müssen Sie gegebenenfalls bestimmen, welche Daten sich im Objekt verändert haben. Für den Standorte-Endpunkt enthält das Meta-Objekt ein changedFields-Objekt, welches die Felder aufführt, die sich seit der letzten Auslösung eines Webhook-Events verändert haben (oder seit der Webhook abonniert wurde).
CHANGEDFIELDS-OBJEKT Das changedFields-Objekt ist zum Zeitpunkt der Abfassung dieser Beschreibung nicht verfügbar, wird jedoch demnächst hinzugefügt werden.

Beispielhafte Webhook-Nutzdaten mit App-spezifischer Konto-ID und Metadaten zu geänderten Feldern
// Location webhook payload
{
    "location": {
        // Full location object
    },
    "meta": {
        "uuid": "bb0c7e19-4dc3-4891-bfa5-8593b1f124ad",
        "timestamp": 1461191143000,
        "accountId": "12345",
        "appSpecificAccountId": "<SPEZIFISCHE_KONTO_ID_HINZUFÜGEN>",
        "eventType": "AKTUALISIERTER_STANDORT",
        "actor": "App 123 - u0027Hello World Appu0027",
        "changedFields": [
             {"language": “en", "fieldName": "name"},
             {"language": “en", "fieldName": "website"},
        ]
    }
}
Weitere Informationen über die Webhook-Nutzdaten finden Sie in der Dokumentation zur API.

Webhook-Events

  • Standorte
    • Sendet eine Anforderung, sobald ein Standort erstellt oder geändert wird. Die Anforderung enthält die vollständigen Informationen zum betroffenen Standort.
  • Speisekarten
    • Sendet eine Anforderung, sobald eine Speisekarte erstellt, geändert oder gelöscht wird. Die Anforderung enthält die vollständigen Informationen zur betroffenen Speisekarte.
  • Über uns
    • Sendet eine Anforderung, sobald eine Profilliste erstellt, geändert oder gelöscht wird. Die Anforderung enthält die vollständigen Informationen zur betroffenen Profilliste.
  • Produkte
    • Sendet eine Anforderung, sobald eine Produktliste erstellt, geändert oder gelöscht wird. Die Anforderung enthält die vollständigen Informationen zur betroffenen Produktliste.
  • Events
    • Sendet eine Anforderung, sobald eine Eventliste erstellt, geändert oder gelöscht wird. Die Anforderung enthält die vollständigen Informationen zur betroffenen Eventliste.
  • Listings-Status
    • Sendet eine Anforderung, sobald sich der Status eines Eintrags ändert. Die Anforderung enthält Metadaten zum Eintrag, einschließlich des neuen Status.
  • Reviews
    • Sendet eine Anforderung, sobald ein neuer Eintrag erfasst oder ein vorhandener Eintrag geändert wurde (z. B.: es wurde ein Kommentar hinzugefügt, der Eintrag wurde durch den ursprünglichen Verfasser überarbeitet, oder es wurde eine Antwort erstellt bzw. geändert).
  • Publisher-Vorschläge
    • Sendet eine Anforderung, sobald Änderungen sich im „Neu“-Status befinden und gespeichert werden sollten.
  • Dublette
    • Sendet eine Anforderung, sobald eine Dublette entdeckt, aktualisiert oder gelöscht wurde.
  • Kontoverknüpfung aufheben
    • Sendet jedes Mal eine Anfrage, wenn ein Konto aktualisiert wird. Derzeit ist die einzige Art eines Änderungsevents die Aufhebung einer Kontoverknüpfung.


Hinweis: Um Webhook-Nachrichten von Yext zu erhalten, muss der Endpunkt SSL in Java 8 unterstützen und über ein signiertes Zertifikat von einer Zertifizierungsstelle verfügen.