elefymove

Entwicklerdokumentation

Leitfäden und Referenz für die ElefyMove Open API.

Diese Leitfäden sind derzeit nur auf Englisch verfügbar.

Endpoints

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.

How listings work

  • You identify each listing by your own externalId — ElefyMove never asks you to store its internal ids.
  • Content is multilingual: submit any subset of the 9 supported locales, and ElefyMove serves the right language to each visitor.
  • New and updated listings pass moderation before going live. Subscribe to listing.approved / listing.rejected webhooks instead of polling for status.
  • PATCH is a partial update — any field you omit is left unchanged. DELETE unlists (it does not erase history).
  • Add or remove a single photo without a full PATCH round-trip. A photo you submit as a URL is fetched and re-hosted by ElefyMove — your URL is never stored or linked directly.
  • Removing a photo is refused with a MIN_PHOTOS_REQUIRED 400 if it would drop a currently-published listing below the minimum photo count.
  • Listings sourced through the API link back to their canonical page on elefymove.com.

Reference data

These routes need no scope — any valid key can read them. They expose the exact enum, locale, and currency values POST /listings validates against, and the canonical location hierarchy, so you never have to hard-code or guess them:

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.

amenities has no fixed catalog — it is free text validated only by a count and a per-item length limit. GET /reference/amenities returns those limits with an empty values array and freeText: true; do not treat the empty array as "no amenities allowed".