elefymove

Documentation développeur

Guides et référence de l'Open API ElefyMove.

Ces guides ne sont disponibles qu'en anglais pour le moment.

Endpoints

MéthodeEndpointPortéeRôle
POST/api/public/v1/listingslistings:writeSoumettez une nouvelle annonce à la modération, avec un contenu dans les langues de votre choix parmi les 9 prises en charge.
GET/api/public/v1/listingslistings:readListez toutes les annonces de votre clé avec leur statut de modération actuel.
GET/api/public/v1/listings/{externalId}listings:readConsultez une de vos annonces via l'identifiant externe que vous lui avez attribué.
PATCH/api/public/v1/listings/{externalId}listings:writeMettez à jour une de vos annonces ; les champs omis restent inchangés.
DELETE/api/public/v1/listings/{externalId}listings:writeRetirez une de vos annonces.
POST/api/public/v1/listings/{externalId}/photoslistings:writeAjoutez une photo à une annonce sans passer par une mise à jour complète. L'image est récupérée puis réhébergée par ElefyMove — votre URL n'est jamais stockée directement.
DELETE/api/public/v1/listings/{externalId}/photos/{photoId}listings:writeRetirez une photo d'une annonce. Refusé avec un 400 si cela ferait passer une annonce publiée sous le nombre minimal de photos.

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:

MéthodeEndpointPortéeRôle
GET/api/public/v1/locationsToute clé valideConsultez l'arborescence canonique province → district → zone.
GET/api/public/v1/locations/searchToute clé valideRecherche à saisie assistée dans la hiérarchie de localisation canonique.
GET/api/public/v1/reference/property-typesToute clé valideL'ensemble exact des valeurs de type de bien acceptées par une annonce.
GET/api/public/v1/reference/amenitiesToute clé valideLes limites de longueur et de nombre que les équipements doivent respecter — les équipements sont du texte libre, pas un catalogue fixe.
GET/api/public/v1/reference/localesToute clé valideL'ensemble exact des codes de langue acceptés par les traductions d'une annonce.
GET/api/public/v1/reference/currenciesToute clé valideLa devise dans laquelle le prix d'une annonce est libellé. ElefyMove n'opère qu'en Thaïlande, donc c'est toujours le 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".