Zum Hauptinhalt springen

Webhooks

Durch die Verwendung von Webhooks kann EstateSync eine App über Events benachrichtigen, für die sonst ein separater API-Request gemacht werden müsste. Jeder Webhook kann durch die Events ausgelöst werden, welche beim Erstellen des Webhooks übergeben werden. EstateSync versucht, einen POST Request mit einem application/json Body an die angegebene URL zu senden. Der Inhalt hat die Form

{
"eventName": "[event_name]",
"eventPayload": {},
"eventTime": "[event_time_ISO_string]"
}

Das request.created Event#

Um über neue Kontaktanfragen benachrichtigt zu werden, können Sie einen Webhook erstellen, der auf das Event request.created reagiert. Das Feld eventPayload des Bodys enthält die Anfrage. Es hat die gleiche Struktur wie die von GET /requests/{id} zurückgegebenen Antworten. Weitere Informationen darüber, wie Sie diese Benachrichtigungen erhalten, finden Sie unter Kontaktanfragen.

Das request.parsing_failed Event#

Um über Kontaktanfragen benachrichtigt zu werden, welche EstateSync nicht lesen kann, können Sie einen Webhook erstellen, der auf das Event request.parsing_failed reagiert. Das Feld eventPayload des Bodys enthält Details über die empfangene E-Mail und warum sie nicht als Anfrage gelesen werden konnte.

Dieses Event kann auftreten, wenn Sie E-Mails an EstateSync weiterleiten, welche keine echten Kontaktanfragen von einer Zielplattform sind und daher keinen XML-Anhang enthalten. Dies lässt sich am besten verhindern, indem Sie eine E-Mail-Weiterleitung auf Basis der Absenderadresse einrichten, wie unter Kontaktanfragen beschrieben.

{
"targetId": "[id-of-the-email-target]",
"createdAt": "[ISO-datetime-of-failure]",
"failureCode": "[short-error-code]",
"failureMessage": "[readable-error-description]",
"sender": "[sender-address-of-the-email]",
"recipient": "[recipient-address-of-the-email]",
"subject": "[subject-of-the-email]",
"body": "[body-of-the-email]",
}

Das publication.succeeded Event#

Um über erfolgreiche Aktualisierungen von Listings benachrichtigt zu werden, können Sie einen Webhook erstellen, der auf das Event publication.succeeded reagiert. Das Feld eventPayload enthält ein Objekt mit Details der Veröffentlichung:

{
"listingId": "[id-of-the-concerned-listing]",
"propertyId": "[id-of-property-of-the-listing]",
"targetId": "[id-of-the-target-of-the-listing]",
"type": "set" // oder "delete"
}

Das publication.failed Event#

Um über fehlgeschlagene Aktualisierungen von Listings benachrichtigt zu werden, können Sie einen Webhook erstellen, der auf das Event publication.failed reagiert. Das Feld eventPayload enthält ein Objekt mit der Publikation sowie Details zum Fehler:

{
"failureCode": "[short-error-code]",
"failureMessage": "[readable-error-description]",
"listingId": "[id-of-the-concerned-listing]",
"propertyId": "[id-of-property-of-the-listing]",
"targetId": "[id-of-the-target-of-the-listing]",
"type": "set" // oder "delete"
}

Das property.processing_succeeded Event#

Um über erfolgreich abgeschlossene Verarbeitungen von Properties benachrichtigt zu werden (z.B. wenn alle Anhänge eingelesen wurden), können Sie einen Webhook erstellen, der auf das Event property.processing_succeeded reagiert. Das Feld eventPayload des Bodys enthält das verarbeitete Property.

Das property.processing_failed Event#

Um über fehlgeschlagene Verarbeitungen von Properties benachrichtigt zu werden (z.B. wenn ein Anhang aufgrund einer "404 Not Found"-Antwort nicht abgerufen werden konnte), können Sie einen Webhook erstellen, der auf das Event property.processing_failed reagiert. Das Feld eventPayload des Bodys enthält das verarbeitete Property sowie Details zum Fehler.

{
"failureCode": "[short-error-code]",
"failureMessage": "[readable-error-description]",
// ... alle weiteren Felder des Property
}