API ouverte v1

Développez avec ElefyMove

Connectez votre plateforme à ElefyMove : publiez des annonces, synchronisez les disponibilités en temps réel et ne réservez plus jamais deux fois la même date.

Ce que permet l'API

Un point d'intégration unique pour les annonces, les disponibilités et la synchronisation en temps réel.

API Annonces

Envoyez des annonces immobilières multilingues vers ElefyMove. Le contenu peut être fourni dans tout sous-ensemble de nos 9 langues prises en charge ; chaque annonce est modérée avant sa mise en ligne.

Synchronisation des disponibilités

Le calendrier maître d'ElefyMove est l'unique source de vérité pour tout ce qui est réservable sur la plateforme. Chaque période porte un statut — disponible, retenue temporairement, réservée ou bloquée — et les délais de battement pour le ménage sont appliqués de manière centralisée, afin qu'aucun canal ne puisse créer de double réservation.

Retenues temporaires

Posez une retenue de courte durée, jusqu'à 10 minutes, le temps que le voyageur termine son paiement sur votre plateforme. Les conflits sont résolus au premier arrivé, premier servi ; la demande perdante reçoit une réponse 409 exploitable par une machine.

Webhooks

Abonnez-vous à des événements signés en HMAC-SHA256 — validations d'annonces, changements de disponibilité, cycle de vie des retenues et statut des réservations — livrés quasiment en temps réel. Les charges utiles ne contiennent que des dates et des références, jamais de données personnelles du voyageur.

Synchronisation iCal

Chaque annonce exporte un flux iCal signé, et ElefyMove peut également interroger le vôtre en retour, afin que les blocages externes restent reflétés des deux côtés sans écrire la moindre ligne de code d'intégration.

Ce que les partenaires peuvent — et ne peuvent pas — faire

Règle zéro : chaque opération est limitée à vos propres données. Il n'existe aucun accès entre partenaires, dans aucun sens.

Vous pouvez

  • Créer, mettre à jour et retirer vos propres annonces de biens, dans l'une de nos 9 langues
  • Consulter vos propres annonces et leur statut de modération
  • Consulter la disponibilité de vos propres annonces et enregistrer des blocages de canal externe avec une référence
  • Poser et libérer des retenues temporaires, jusqu'à 10 minutes, pendant votre processus de paiement
  • Enregistrer des webhooks et recevoir des événements signés — dates et références uniquement
  • Exporter les calendriers d'annonces (iCal) et enregistrer vos propres flux iCal
  • Consulter la hiérarchie de localisation publique

Vous ne pouvez pas

  • Faire transiter un paiement, un remboursement ou un dépôt de garantie par cette API
  • Créer des réservations ou des contrats ElefyMove — une réservation externe n'est enregistrée que sous forme de blocage de calendrier
  • Envoyer ou recevoir des données personnelles de voyageurs ou de locataires
  • Accéder aux annonces, retenues, blocages ou paramètres d'un autre partenaire, ou les modifier
  • Envoyer des messages, contacter ou démarcher les utilisateurs d'ElefyMove
  • Consulter ou republier des annonces qui ne vous appartiennent pas
  • Dépasser les limites de débit, partager des clés ou automatiser la création de comptes

Obtenir un accès

Créez un compte développeur, vérifiez votre e-mail et émettez vos propres clés API directement depuis le tableau de bord. Pour publier des annonces réelles, l'équipe ElefyMove doit en plus associer votre clé à un compte propriétaire vérifié.

Créez vos clés API

En créant un compte, vous acceptez les Conditions d'utilisation de l'API.

Périmètres disponibles

listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:manage

Limite de débit par défaut : 120 requêtes par minute par clé.

Démarrage rapide

Chaque requête est authentifiée via un en-tête X-Api-Key contenant votre clé attribuée.

Consulter la disponibilité d'une annonce

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" }
]

Poser une retenue temporaire

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" }

La demande perdante reçoit une réponse 409 exploitable par une machine

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

Référence complète de l'API

Tous les schémas de requête et de réponse, les formats d'erreur et les exemples figurent dans la référence OpenAPI interactive — testez chaque endpoint en direct avec votre propre clé.

Ouvrir la documentation de l'APIParcourir la documentation complète

Tous les endpoints en un coup d'œil

L'intégralité de l'Open API v1. Chaque requête porte votre clé dans l'en-tête X-Api-Key et chaque route n'accède qu'à vos propres données.

URL de base https://elefymove.com

Annonces

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.

Disponibilités et blocages

MéthodeEndpointPortéeRôle
GET/api/public/v1/listings/{id}/availabilityavailability:readConsultez le calendrier unifié d'une annonce sur une période : disponible, retenu, réservé ou bloqué.
POST/api/public/v1/listings/{id}/blocksavailability:writeCréez ou mettez à jour un blocage de canal externe, identifié par votre propre référence.
DELETE/api/public/v1/listings/{id}/blocks/{externalRef}availability:writeSupprimez un blocage de canal externe que vous avez créé.

Réservations temporaires

MéthodeEndpointPortéeRôle
POST/api/public/v1/listings/{id}/holdsholds:writeRetenez une période pendant que le voyageur finalise son paiement chez vous. La requête perdante reçoit un 409 avec SLOT_TAKEN.
DELETE/api/public/v1/holds/{id}holds:writeLibérez une de vos retenues avant son expiration.

Synchronisation du calendrier (iCal)

MéthodeEndpointPortéeRôle
GET/api/public/v1/listings/{id}/calendar.icsURL signée, sans cléTéléchargez le calendrier d'une annonce sous forme de flux iCal. Le jeton signé dans l'URL fait office d'authentification : les applications de calendrier peuvent s'y abonner directement.
PUT/api/public/v1/listings/{id}/ical-sourcesavailability:writeEnregistrez ou remplacez le flux iCal entrant qu'ElefyMove interroge pour une de vos annonces.
GET/api/public/v1/listings/{id}/ical-sourcesavailability:readConsultez le flux enregistré d'une annonce, avec son statut de synchronisation et la dernière erreur.
DELETE/api/public/v1/listings/{id}/ical-sourcesavailability:writeArrêtez l'interrogation et supprimez le flux enregistré d'une annonce.

Webhooks

En v1, les webhooks n'ont pas d'endpoint appelable par le partenaire. Communiquez-nous l'URL de destination lors de votre demande de clé : l'équipe ElefyMove l'enregistre, avec le secret HMAC-SHA256 qui signe chaque envoi. Les envois en échec sont réessayés avec un délai croissant, et les charges utiles ne contiennent que des dates et des références.

Événements que vous pouvez recevoir
listing.approvedlisting.rejectedavailability.changedhold.createdhold.releasedhold.expiredbooking.createdbooking.cancelledping

Général

MéthodeEndpointPortéeRôle
GET/api/public/v1/pingToute clé valideVérifiez que votre clé fonctionne et récupérez le nom du client et les portées associées.

Données et usage loyal

  • Aucune donnée personnelle du voyageur ne transite par l'API : les blocages externes ne contiennent que des dates et une référence, conformément à la PDPA thaïlandaise.
  • Les annonces importées via l'API renvoient toujours vers leur page canonique sur elefymove.com.
  • Les clés ont un périmètre défini et peuvent être révoquées à tout moment par l'équipe ElefyMove.

API ouverte v1 — actuellement en phase d'intégration des partenaires.