elefymove

Entwickeln Sie mit ElefyMove

Verbinden Sie Ihre Plattform mit ElefyMove: Inserate veröffentlichen, Verfügbarkeiten in Echtzeit synchronisieren und dasselbe Datum nie wieder doppelt buchen.

Was die API kann

Eine einzige Integrationsschnittstelle für Inserate, Verfügbarkeit und Echtzeit-Synchronisation.

Listings-API

Übertragen Sie mehrsprachige Immobilieninserate an ElefyMove. Inhalte können in jeder Teilmenge unserer 9 unterstützten Sprachen eingereicht werden; jedes Inserat wird vor der Veröffentlichung geprüft.

Verfügbarkeits-Synchronisation

Der Master-Kalender von ElefyMove ist die einzige verbindliche Datenquelle für alles Buchbare auf der Plattform. Jeder Zeitraum trägt einen Status — verfügbar, temporär reserviert, gebucht oder gesperrt —, und Pufferzeiten für die Reinigung werden zentral durchgesetzt, sodass keine Doppelbuchung über verschiedene Kanäle hinweg entstehen kann.

Temporäre Reservierungen

Legen Sie eine kurzfristige Reservierung von bis zu 10 Minuten an, während der Gast den Bezahlvorgang auf Ihrer Seite abschließt. Konflikte werden nach dem Prinzip „wer zuerst kommt, mahlt zuerst“ gelöst; die unterlegene Anfrage erhält eine maschinenlesbare 409-Antwort.

Webhooks

Abonnieren Sie mit HMAC-SHA256 signierte Ereignisse — Inserat-Freigaben, Verfügbarkeitsänderungen, den Lebenszyklus von Reservierungen und Buchungsstatus — nahezu in Echtzeit. Die Payloads enthalten ausschließlich Daten und Referenzen, niemals personenbezogene Gästedaten.

iCal-Synchronisation

Jedes Inserat exportiert einen signierten iCal-Feed, und ElefyMove kann umgekehrt auch Ihren eigenen Feed abrufen — externe Sperrungen bleiben so auf beiden Seiten konsistent, ganz ohne zusätzlichen Integrationscode.

Was Partner dürfen — und was nicht

Regel null: Jede Operation ist auf Ihre eigenen Daten beschränkt. Es gibt keinen partnerübergreifenden Zugriff, in keine Richtung.

Sie dürfen

  • Ihre eigenen Immobilieninserate erstellen, aktualisieren und deaktivieren, in jeder unserer 9 Sprachen
  • Ihre eigenen Inserate und deren Moderationsstatus einsehen
  • Die Verfügbarkeit Ihrer eigenen Inserate abrufen und externe Kanalsperren mit einer Referenz eintragen
  • Temporäre Reservierungen anlegen und wieder freigeben, bis zu 10 Minuten, während Ihres Checkouts
  • Webhooks registrieren und signierte Ereignisse empfangen — nur Datum und Referenz
  • Inseratskalender (iCal) exportieren und Ihre eigenen iCal-Feeds registrieren
  • Die öffentliche Standort-Hierarchie abrufen
  • Community-Beiträge veröffentlichen, vorbehaltlich der Moderation durch ElefyMove, bevor sie sichtbar werden
  • Ihre eigenen Marketplace-Buchungen einsehen und solche ablehnen, die noch auf die Zahlung warten

Sie dürfen nicht

  • Zahlungen, Rückerstattungen oder Kautionen über diese API bewegen
  • ElefyMove-Buchungen oder -Verträge erstellen — eine externe Buchung wird nur als Kalendersperre erfasst
  • Personenbezogene Daten von Gästen oder Mietern senden oder empfangen
  • Auf Inserate, Reservierungen, Sperren oder Konfigurationen anderer Partner zugreifen oder diese ändern
  • ElefyMove-Nutzer kontaktieren, anschreiben oder umwerben
  • Inserate einsehen oder erneut veröffentlichen, die Ihnen nicht gehören
  • Ratenlimits überschreiten, Schlüssel weitergeben oder die Kontoerstellung automatisieren

Zugang erhalten

Erstellen Sie ein Entwicklerkonto, bestätigen Sie Ihre E-Mail-Adresse und stellen Sie Ihre eigenen Test-API-Schlüssel direkt im Dashboard aus. Live-Schlüssel erstellt der Vermieter im ElefyMove-Backoffice.

API-Schlüssel erstellen

Mit der Kontoerstellung stimmen Sie den API-Nutzungsbedingungen zu.

Verfügbare Berechtigungen (Scopes)

listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:managecommunity:readcommunity:writemarketplace:readmarketplace:write

Standard-Ratenlimit: 120 Anfragen pro Minute je Schlüssel.

Schnellstart

Jede Anfrage wird über einen X-Api-Key-Header mit Ihrem ausgestellten Schlüssel authentifiziert.

Verfügbarkeit eines Inserats abfragen

curl "https://elefymove.com/api/public/v1/listings/{listingId}/availability?from=2026-09-01&to=2026-09-30" \
  -H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx"

# Response — 200 OK
[
  { "from": "2026-09-01", "to": "2026-09-14", "state": "AVAILABLE" },
  { "from": "2026-09-15", "to": "2026-09-20", "state": "BLOCKED", "source": "partner-site", "externalRef": "HMXYZ123" },
  { "from": "2026-09-21", "to": "2026-09-30", "state": "AVAILABLE" }
]

Eine temporäre Reservierung anlegen

curl -X POST "https://elefymove.com/api/public/v1/listings/{listingId}/holds" \
  -H "X-Api-Key: efy_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"from": "2026-09-15", "to": "2026-09-20", "ttlSeconds": 300}'

# Response — 201 Created
{ "holdId": "hld_9f3a2c1b", "expiresAt": "2026-08-13T10:15:00Z" }

Die unterlegene Anfrage erhält eine maschinenlesbare 409-Antwort

# Same request, the dates were just taken by another channel
# Response — 409 Conflict
{
  "code": "SLOT_TAKEN",
  "conflictingState": "HELD",
  "wonBy": "external"
}

Vollständige API-Referenz

Alle Request- und Response-Schemas, Fehlerformate und Beispiele stehen in der interaktiven OpenAPI-Referenz — jeden Endpunkt live mit dem eigenen Key ausprobieren.

API-Dokumentation öffnenZur vollständigen Dokumentation

Alle Endpunkte auf einen Blick

Die vollständige Open API v1. Jede Anfrage trägt Ihren Key im Header X-Api-Key, und jede Route greift ausschließlich auf Ihre eigenen Daten zu.

Basis-URL https://elefymove.com

Inserate

MethodeEndpunktScopeFunktion
POST/api/public/v1/listingslistings:writeEin neues Inserat zur Prüfung einreichen — mit Inhalten in beliebigen der 9 unterstützten Sprachen.
GET/api/public/v1/listingslistings:readAlle Inserate dieses Keys mit ihrem aktuellen Prüfstatus auflisten.
GET/api/public/v1/listings/{externalId}listings:readEin eigenes Inserat über die von Ihnen vergebene externe ID abrufen.
PATCH/api/public/v1/listings/{externalId}listings:writeEin eigenes Inserat aktualisieren; ausgelassene Felder bleiben unverändert.
DELETE/api/public/v1/listings/{externalId}listings:writeEin eigenes Inserat offline nehmen.
POST/api/public/v1/listings/{externalId}/photoslistings:writeEin Foto zu einem Inserat hinzufügen, ohne eine vollständige Aktualisierung. Das Bild wird von ElefyMove abgerufen und neu gehostet — Ihre URL wird nie direkt gespeichert.
DELETE/api/public/v1/listings/{externalId}/photos/{photoId}listings:writeEin Foto von einem Inserat entfernen. Wird mit einem 400 abgelehnt, wenn dadurch ein veröffentlichtes Inserat unter die Mindestanzahl an Fotos fallen würde.

Referenzdaten

MethodeEndpunktScopeFunktion
GET/api/public/v1/locationsJeder gültige KeyDie kanonische Standort-Baumstruktur Provinz → Bezirk → Gebiet abrufen.
GET/api/public/v1/locations/searchJeder gültige KeyTypeahead-Suche über die kanonische Standort-Hierarchie.
GET/api/public/v1/reference/property-typesJeder gültige KeyDie genaue Menge an Immobilientyp-Werten, die ein Inserat akzeptiert.
GET/api/public/v1/reference/amenitiesJeder gültige KeyDie Längen- und Anzahlgrenzen, die Ausstattungsmerkmale einhalten müssen — Ausstattungsmerkmale sind Freitext, kein fester Katalog.
GET/api/public/v1/reference/localesJeder gültige KeyDie genaue Menge an Sprachcodes, die die Übersetzungen eines Inserats akzeptieren.
GET/api/public/v1/reference/currenciesJeder gültige KeyDie Währung, in der der Preis eines Inserats angegeben ist. ElefyMove ist ausschließlich in Thailand tätig, daher immer THB.

Verfügbarkeit und Sperren

MethodeEndpunktScopeFunktion
GET/api/public/v1/listings/{id}/availabilityavailability:readDen zusammengeführten Kalender eines Inserats für einen Zeitraum abrufen — frei, reserviert, gebucht oder gesperrt.
GET/api/public/v1/availabilityavailability:readVerfügbarkeit für bis zu 50 Inserate in einem einzigen Aufruf abrufen. Eine ID, die Ihnen nicht gehört oder nicht existiert, wird in notFound aufgeführt, statt die gesamte Anfrage fehlschlagen zu lassen.
GET/api/public/v1/listings/{id}/blocksavailability:readIhre eigenen aktiven externen Kanalsperren für ein Inserat abrufen, optional eingegrenzt auf einen Zeitraum.
POST/api/public/v1/listings/{id}/blocksavailability:writeEine Sperre aus einem externen Kanal anlegen oder aktualisieren, identifiziert über Ihre eigene Referenz.
POST/api/public/v1/listings/{id}/blocks/batchavailability:writeBis zu 100 externe Kanalsperren für ein Inserat in einem einzigen Aufruf anlegen oder aktualisieren, mit einem Erfolgs-/Fehlerergebnis pro Eintrag.
DELETE/api/public/v1/listings/{id}/blocks/batchavailability:writeBis zu 100 externe Kanalsperren für ein Inserat in einem einzigen Aufruf entfernen, mit einem Erfolgs-/Fehlerergebnis pro Eintrag.
DELETE/api/public/v1/listings/{id}/blocks/{externalRef}availability:writeEine zuvor geschriebene Sperre aus einem externen Kanal entfernen.

Temporäre Reservierungen

MethodeEndpunktScopeFunktion
GET/api/public/v1/holdsholds:writeIhre eigenen Reservierungen auflisten, neueste zuerst. Standardmäßig werden nur aktive angezeigt; mit ?status=all erweitern.
GET/api/public/v1/holds/{id}holds:writeEine eigene Reservierung anhand der ID abrufen.
POST/api/public/v1/listings/{id}/holdsholds:writeEinen Zeitraum reservieren, während der Gast bei Ihnen bezahlt. Die unterlegene Anfrage erhält einen 409 mit SLOT_TAKEN.
POST/api/public/v1/holds/{id}/extendholds:writeDen Ablauf einer Reservierung ab jetzt hinausschieben. Die Gesamtlaufzeit einer Reservierung ist ab ihrer Erstellung auf 30 Minuten begrenzt — eine Verlängerung, die dieses Limit überschreiten würde, wird mit einem 409 abgelehnt.
DELETE/api/public/v1/holds/{id}holds:writeEine eigene Reservierung vor Ablauf freigeben.

Kalendersynchronisierung (iCal)

MethodeEndpunktScopeFunktion
GET/api/public/v1/listings/{id}/calendar.icsSignierte URL, kein KeyDen Kalender eines Inserats als iCal-Feed abrufen. Das signierte Token in der URL ist die Authentifizierung, sodass Kalender-Apps direkt abonnieren können.
PUT/api/public/v1/listings/{id}/ical-sourcesavailability:writeDen eingehenden iCal-Feed registrieren oder ersetzen, den ElefyMove für eines Ihrer Inserate abruft.
GET/api/public/v1/listings/{id}/ical-sourcesavailability:readDen registrierten Feed eines Inserats samt Abrufstatus und letztem Fehler abrufen.
DELETE/api/public/v1/listings/{id}/ical-sourcesavailability:writeDen Abruf beenden und den registrierten Feed eines Inserats löschen.

Webhooks

MethodeEndpunktScopeFunktion
PUT/api/public/v1/webhookswebhooks:manageDie URL Ihres Webhook-Endpunkts festlegen und optional die Liste der abonnierten Ereignisse ersetzen.
GET/api/public/v1/webhookswebhooks:manageIhre aktuelle Webhook-Konfiguration abrufen. Gibt niemals das Signatur-Secret zurück.
DELETE/api/public/v1/webhookswebhooks:manageIhre Webhook-URL löschen und Zustellungen stoppen.
POST/api/public/v1/webhooks/testwebhooks:manageEin signiertes Test-Event an Ihren konfigurierten Endpunkt senden, unabhängig von Ihrem Abonnement.
GET/api/public/v1/webhook-deliverieswebhooks:manageIhre eigenen Webhook-Zustellversuche mit Status, Zeitstempel und Wiederholungsverlauf auflisten.
POST/api/public/v1/webhook-deliveries/{id}/redeliverwebhooks:manageEine fehlgeschlagene oder als unzustellbar markierte Zustellung manuell erneut versuchen.

Community-Beiträge

MethodeEndpunktScopeFunktion
POST/api/public/v1/community/postscommunity:writeEinen Community-Beitrag einreichen. Jeder von einem Partner erstellte Beitrag durchläuft die Moderation und wird nicht sofort veröffentlicht.
GET/api/public/v1/community/postscommunity:readIhre eigenen Community-Beiträge und deren Moderationsstatus auflisten.
GET/api/public/v1/community/posts/{externalId}community:readEinen eigenen Community-Beitrag über die von Ihnen vergebene externe ID abrufen.
PATCH/api/public/v1/community/posts/{externalId}community:writeEinen eigenen Community-Beitrag aktualisieren; ausgelassene Felder bleiben unverändert.
DELETE/api/public/v1/community/posts/{externalId}community:writeEinen eigenen Community-Beitrag depublizieren.

Marketplace-Buchungen

MethodeEndpunktScopeFunktion
GET/api/public/v1/marketplace/bookingsmarketplace:readIhre eigenen Marketplace-Buchungen paginiert und gefiltert auflisten. Antworten enthalten ausschließlich Datum und Referenz.
GET/api/public/v1/marketplace/bookings/{id}marketplace:readEine eigene Marketplace-Buchung anhand der ID abrufen.
POST/api/public/v1/marketplace/bookings/{id}/declinemarketplace:writeEine Buchung ablehnen, die noch auf die Zahlung wartet. Es gibt keine Bestätigungsroute — eine Buchung wird bestätigt, sobald die Zahlung erfasst wird, nie durch eine Genehmigung des Anbieters.

Allgemein

MethodeEndpunktScopeFunktion
GET/api/public/v1/pingJeder gültige KeyPrüfen, ob der Key funktioniert, und Clientname sowie zugeordnete Scopes auslesen.
GET/api/public/v1/meJeder gültige KeyDie Identität Ihres eigenen API-Clients abrufen — Name, Umgebung und die dem Key zugeordneten Scopes.

Daten und faire Nutzung

  • Über die API werden niemals personenbezogene Gästedaten übertragen — externe Sperrungen enthalten ausschließlich Datum und Referenz, im Einklang mit dem thailändischen Datenschutzgesetz PDPA.
  • Über die API eingebrachte Inserate verlinken stets zurück auf ihre kanonische Seite auf elefymove.com.
  • Schlüssel sind mit klar definiertem Umfang versehen und können vom ElefyMove-Team jederzeit widerrufen werden.

Offene API v1 — derzeit läuft die Aufnahme von Integrationspartnern.