Открытый API v1

Создавайте вместе с ElefyMove

Подключите свою платформу к ElefyMove: публикуйте объекты, синхронизируйте доступность в реальном времени и больше никогда не бронируйте одну и ту же дату дважды.

Что умеет API

Единая точка интеграции для объявлений, доступности и синхронизации в реальном времени.

API объявлений

Передавайте многоязычные объявления об объектах в ElefyMove. Контент можно отправлять на любом сочетании из 9 поддерживаемых языков — каждое объявление проходит модерацию перед публикацией.

Синхронизация доступности

Главный календарь ElefyMove — единственный достоверный источник данных обо всём, что можно забронировать на платформе. Каждый временной диапазон имеет статус — свободно, временно удержано, забронировано или заблокировано, — а буферное время на уборку применяется централизованно, поэтому двойное бронирование через разные каналы исключено.

Временное удержание

Устанавливайте кратковременное удержание — до 10 минут, — пока гость завершает оплату на вашей стороне. Конфликты разрешаются по принципу «кто первый — того и слот»: проигравший запрос получает машиночитаемый ответ 409.

Вебхуки

Подписывайтесь на события, подписанные по алгоритму HMAC-SHA256, — одобрение объявлений, изменение доступности, жизненный цикл удержаний и статус бронирований, — доставляемые почти в реальном времени. В теле события передаются только даты и идентификаторы, никогда — персональные данные гостя.

Синхронизация iCal

Каждое объявление экспортирует подписанную ссылку iCal, а ElefyMove, в свою очередь, может опрашивать вашу собственную ленту — внешние блокировки остаются согласованными на обеих сторонах без написания дополнительного кода интеграции.

Что партнёры могут — и не могут — делать

Правило номер один: любая операция ограничена только вашими собственными данными. Доступ между партнёрами отсутствует в любом направлении.

Вы можете

  • Создавать, обновлять и снимать с публикации собственные объявления о недвижимости на любом из 9 поддерживаемых языков
  • Просматривать собственные объявления и статус их модерации
  • Просматривать доступность собственных объявлений и записывать блокировки из внешних каналов с указанием идентификатора
  • Создавать и снимать временные удержания, до 10 минут, во время оформления заказа
  • Регистрировать webhook и получать подписанные события — только даты и идентификаторы
  • Экспортировать календари объявлений (iCal) и регистрировать собственные iCal-фиды
  • Просматривать публичную иерархию местоположений

Вы не можете

  • Проводить какие-либо платежи, возвраты или залоги через этот API
  • Создавать бронирования или договоры ElefyMove — внешнее бронирование фиксируется только как блокировка в календаре
  • Отправлять или получать персональные данные гостей или арендаторов
  • Получать доступ к объявлениям, удержаниям, блокировкам или настройкам другого партнёра либо изменять их
  • Отправлять сообщения, связываться с пользователями ElefyMove или привлекать их
  • Просматривать или повторно публиковать объявления, которые вам не принадлежат
  • Превышать лимиты запросов, передавать ключи третьим лицам или автоматизировать создание аккаунтов

Как получить доступ

Создайте аккаунт разработчика, подтвердите e-mail и выпускайте собственные API-ключи прямо из панели управления. Для публикации реальных объявлений команда ElefyMove дополнительно должна привязать ваш ключ к проверенному аккаунту арендодателя.

Создайте свои API-ключи

Создавая аккаунт, вы принимаете Условия использования API.

Доступные области действия

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

Лимит запросов по умолчанию: 120 запросов в минуту на ключ.

Быстрый старт

Каждый запрос аутентифицируется через заголовок X-Api-Key с вашим выданным ключом.

Проверить доступность объявления

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

Создать временное удержание

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

Проигравший запрос получает машиночитаемый ответ 409

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

Полный справочник API

Все схемы запросов и ответов, форматы ошибок и примеры собраны в интерактивной документации OpenAPI — любой эндпоинт можно вызвать прямо там своим ключом.

Открыть документацию APIОткрыть полную документацию

Все эндпоинты сразу

Полный набор Open API v1. Каждый запрос передаёт ваш ключ в заголовке X-Api-Key, и любой маршрут работает только с вашими собственными данными.

Базовый URL https://elefymove.com

Объявления

МетодЭндпоинтОбласть доступаНазначение
POST/api/public/v1/listingslistings:writeОтправить новое объявление на модерацию — содержимое можно передать на любых из 9 поддерживаемых языков.
GET/api/public/v1/listingslistings:readПолучить все объявления этого ключа с текущим статусом модерации.
GET/api/public/v1/listings/{externalId}listings:readПрочитать одно из своих объявлений по заданному вами внешнему идентификатору.
PATCH/api/public/v1/listings/{externalId}listings:writeОбновить своё объявление; не переданные поля остаются без изменений.
DELETE/api/public/v1/listings/{externalId}listings:writeСнять своё объявление с публикации.

Доступность и блокировки

МетодЭндпоинтОбласть доступаНазначение
GET/api/public/v1/listings/{id}/availabilityavailability:readПолучить сводный календарь объявления за период — свободно, придержано, забронировано или заблокировано.
POST/api/public/v1/listings/{id}/blocksavailability:writeСоздать или обновить блокировку внешнего канала с вашим собственным идентификатором.
DELETE/api/public/v1/listings/{id}/blocks/{externalRef}availability:writeУдалить ранее созданную блокировку внешнего канала.

Временные брони

МетодЭндпоинтОбласть доступаНазначение
POST/api/public/v1/listings/{id}/holdsholds:writeПридержать даты, пока гость оформляет оплату на вашей стороне. Проигравший запрос получает 409 с кодом SLOT_TAKEN.
DELETE/api/public/v1/holds/{id}holds:writeСнять свою временную бронь до истечения срока.

Синхронизация календаря (iCal)

МетодЭндпоинтОбласть доступаНазначение
GET/api/public/v1/listings/{id}/calendar.icsПодписанный URL, без ключаСкачать календарь объявления в виде ленты iCal. Подписанный токен в URL и есть авторизация, поэтому календарные приложения могут подписаться напрямую.
PUT/api/public/v1/listings/{id}/ical-sourcesavailability:writeЗарегистрировать или заменить входящую ленту iCal, которую ElefyMove опрашивает для вашего объявления.
GET/api/public/v1/listings/{id}/ical-sourcesavailability:readПосмотреть зарегистрированную ленту объявления вместе со статусом опроса и последней ошибкой.
DELETE/api/public/v1/listings/{id}/ical-sourcesavailability:writeПрекратить опрос и удалить зарегистрированную ленту объявления.

Вебхуки

В v1 у вебхуков нет эндпоинта, который партнёр вызывает сам. Пришлите адрес приёма вместе с заявкой на ключ — команда ElefyMove зарегистрирует его и выдаст секрет HMAC-SHA256, которым подписывается каждая доставка. Неудачные доставки повторяются с нарастающей паузой, а в полезной нагрузке передаются только даты и ссылки.

Какие события можно получать
listing.approvedlisting.rejectedavailability.changedhold.createdhold.releasedhold.expiredbooking.createdbooking.cancelledping

Общее

МетодЭндпоинтОбласть доступаНазначение
GET/api/public/v1/pingЛюбой действующий ключПроверить работоспособность ключа и получить имя клиента и привязанные области доступа.

Данные и добросовестное использование

  • Персональные данные гостей никогда не передаются через API — внешние блокировки содержат только даты и идентификатор, в соответствии с тайским законом о защите персональных данных (PDPA).
  • Объявления, полученные через API, всегда ведут обратно на канонический адрес на elefymove.com.
  • У каждого ключа есть заданная область действия, и команда ElefyMove может отозвать его в любой момент.

Открытый API v1 — сейчас идёт подключение партнёров по интеграции.