Подключите свою платформу к ElefyMove: публикуйте объекты, синхронизируйте доступность в реальном времени и больше никогда не бронируйте одну и ту же дату дважды.
Единая точка интеграции для объявлений, доступности и синхронизации в реальном времени.
Передавайте многоязычные объявления об объектах в ElefyMove. Контент можно отправлять на любом сочетании из 9 поддерживаемых языков — каждое объявление проходит модерацию перед публикацией.
Главный календарь ElefyMove — единственный достоверный источник данных обо всём, что можно забронировать на платформе. Каждый временной диапазон имеет статус — свободно, временно удержано, забронировано или заблокировано, — а буферное время на уборку применяется централизованно, поэтому двойное бронирование через разные каналы исключено.
Устанавливайте кратковременное удержание — до 10 минут, — пока гость завершает оплату на вашей стороне. Конфликты разрешаются по принципу «кто первый — того и слот»: проигравший запрос получает машиночитаемый ответ 409.
Подписывайтесь на события, подписанные по алгоритму HMAC-SHA256, — одобрение объявлений, изменение доступности, жизненный цикл удержаний и статус бронирований, — доставляемые почти в реальном времени. В теле события передаются только даты и идентификаторы, никогда — персональные данные гостя.
Каждое объявление экспортирует подписанную ссылку iCal, а ElefyMove, в свою очередь, может опрашивать вашу собственную ленту — внешние блокировки остаются согласованными на обеих сторонах без написания дополнительного кода интеграции.
Правило номер один: любая операция ограничена только вашими собственными данными. Доступ между партнёрами отсутствует в любом направлении.
Создайте аккаунт разработчика, подтвердите e-mail и выпускайте собственные тестовые API-ключи прямо из панели управления. Рабочие ключи создаёт арендодатель в бэк-офисе ElefyMove.
Создайте свои API-ключиСоздавая аккаунт, вы принимаете Условия использования API.
listings:readlistings:writeavailability:readavailability:writeholds:writewebhooks:managecommunity:readcommunity:writemarketplace:readmarketplace:writeЛимит запросов по умолчанию: 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" }# Same request, the dates were just taken by another channel
# Response — 409 Conflict
{
"code": "SLOT_TAKEN",
"conflictingState": "HELD",
"wonBy": "external"
}Все схемы запросов и ответов, форматы ошибок и примеры собраны в интерактивной документации OpenAPI — любой эндпоинт можно вызвать прямо там своим ключом.
Открыть документацию APIОткрыть полную документациюПолный набор Open API v1. Каждый запрос передаёт ваш ключ в заголовке X-Api-Key, и любой маршрут работает только с вашими собственными данными.
Базовый URL https://elefymove.com
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
/api/public/v1/listings | listings:write | Отправить новое объявление на модерацию — содержимое можно передать на любых из 9 поддерживаемых языков. | |
| GET | /api/public/v1/listings | listings: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 | Снять своё объявление с публикации. |
/api/public/v1/listings/{externalId}/photos | listings:write | Добавить одну фотографию к объявлению без полного обновления. Изображение получает и повторно размещает ElefyMove — ваш URL никогда не сохраняется напрямую. | |
| DELETE | /api/public/v1/listings/{externalId}/photos/{photoId} | listings:write | Удалить фотографию из объявления. Запрос отклоняется с кодом 400, если это приведёт к тому, что у опубликованного объявления окажется меньше фотографий, чем требуется минимум. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/locations | Любой действующий ключ | Получить каноническое дерево местоположений: провинция → район → зона. |
| GET | /api/public/v1/locations/search | Любой действующий ключ | Поиск с автодополнением по канонической иерархии местоположений. |
| GET | /api/public/v1/reference/property-types | Любой действующий ключ | Точный набор значений типа недвижимости, допустимых для объявления. |
| GET | /api/public/v1/reference/amenities | Любой действующий ключ | Ограничения по длине и количеству, которым должны соответствовать удобства — удобства это свободный текст, а не фиксированный список. |
| GET | /api/public/v1/reference/locales | Любой действующий ключ | Точный набор кодов локалей, допустимых для переводов объявления. |
| GET | /api/public/v1/reference/currencies | Любой действующий ключ | Валюта, в которой указана цена объявления. ElefyMove работает только в Таиланде, поэтому это всегда THB. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/listings/{id}/availability | availability:read | Получить сводный календарь объявления за период — свободно, придержано, забронировано или заблокировано. |
| GET | /api/public/v1/availability | availability:read | Получить доступность сразу для 50 объявлений за один вызов. Идентификатор, который вам не принадлежит или не существует, попадает в notFound, а не приводит к отказу всего запроса. |
| GET | /api/public/v1/listings/{id}/blocks | availability:read | Получить собственные активные блокировки внешнего канала для объявления, при необходимости с ограничением по датам. |
/api/public/v1/listings/{id}/blocks | availability:write | Создать или обновить блокировку внешнего канала с вашим собственным идентификатором. | |
/api/public/v1/listings/{id}/blocks/batch | availability:write | Создать или обновить до 100 блокировок внешнего канала для одного объявления за один вызов, с отдельным результатом успех/ошибка по каждой записи. | |
| DELETE | /api/public/v1/listings/{id}/blocks/batch | availability:write | Удалить до 100 блокировок внешнего канала для одного объявления за один вызов, с отдельным результатом успех/ошибка по каждой записи. |
| DELETE | /api/public/v1/listings/{id}/blocks/{externalRef} | availability:write | Удалить ранее созданную блокировку внешнего канала. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/holds | holds:write | Получить список собственных броней, сначала новые. По умолчанию показываются только активные; расширить можно с помощью ?status=all. |
| GET | /api/public/v1/holds/{id} | holds:write | Получить одну из своих броней по идентификатору. |
/api/public/v1/listings/{id}/holds | holds:write | Придержать даты, пока гость оформляет оплату на вашей стороне. Проигравший запрос получает 409 с кодом SLOT_TAKEN. | |
/api/public/v1/holds/{id}/extend | holds:write | Продлить срок действия брони, отсчитывая от текущего момента. Общий срок жизни брони ограничен 30 минутами с момента создания — продление, которое превысило бы этот лимит, отклоняется с кодом 409. | |
| DELETE | /api/public/v1/holds/{id} | holds:write | Снять свою временную бронь до истечения срока. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/listings/{id}/calendar.ics | Подписанный URL, без ключа | Скачать календарь объявления в виде ленты iCal. Подписанный токен в URL и есть авторизация, поэтому календарные приложения могут подписаться напрямую. |
| PUT | /api/public/v1/listings/{id}/ical-sources | availability:write | Зарегистрировать или заменить входящую ленту iCal, которую ElefyMove опрашивает для вашего объявления. |
| GET | /api/public/v1/listings/{id}/ical-sources | availability:read | Посмотреть зарегистрированную ленту объявления вместе со статусом опроса и последней ошибкой. |
| DELETE | /api/public/v1/listings/{id}/ical-sources | availability:write | Прекратить опрос и удалить зарегистрированную ленту объявления. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| PUT | /api/public/v1/webhooks | webhooks:manage | Задать URL эндпоинта webhook и при необходимости заменить список событий подписки. |
| GET | /api/public/v1/webhooks | webhooks:manage | Получить текущую конфигурацию webhook. Секрет подписи никогда не возвращается. |
| DELETE | /api/public/v1/webhooks | webhooks:manage | Очистить URL webhook и остановить доставку. |
/api/public/v1/webhooks/test | webhooks:manage | Отправить подписанное тестовое событие на настроенный эндпоинт независимо от текущей подписки. | |
| GET | /api/public/v1/webhook-deliveries | webhooks:manage | Получить список собственных попыток доставки webhook со статусом, временными метками и историей повторов. |
/api/public/v1/webhook-deliveries/{id}/redeliver | webhooks:manage | Вручную повторить неудачную или помеченную как недоставленную доставку. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
/api/public/v1/community/posts | community:write | Отправить публикацию сообщества. Любая публикация, созданная партнёром, проходит модерацию и не публикуется мгновенно. | |
| GET | /api/public/v1/community/posts | community:read | Получить список собственных публикаций сообщества с их статусом модерации. |
| GET | /api/public/v1/community/posts/{externalId} | community:read | Прочитать одну из своих публикаций сообщества по заданному вами внешнему идентификатору. |
| PATCH | /api/public/v1/community/posts/{externalId} | community:write | Обновить свою публикацию сообщества; не переданные поля остаются без изменений. |
| DELETE | /api/public/v1/community/posts/{externalId} | community:write | Снять свою публикацию сообщества с публикации. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/marketplace/bookings | marketplace:read | Получить список собственных бронирований маркетплейса с постраничным выводом и фильтрами. В ответе только даты и идентификаторы. |
| GET | /api/public/v1/marketplace/bookings/{id} | marketplace:read | Получить одно из своих бронирований маркетплейса по идентификатору. |
/api/public/v1/marketplace/bookings/{id}/decline | marketplace:write | Отклонить бронирование, которое всё ещё ожидает оплаты. Маршрута подтверждения не существует — бронирование подтверждается в момент списания оплаты, а не по одобрению поставщика. |
| Метод | Эндпоинт | Область доступа | Назначение |
|---|---|---|---|
| GET | /api/public/v1/ping | Любой действующий ключ | Проверить работоспособность ключа и получить имя клиента и привязанные области доступа. |
| GET | /api/public/v1/me | Любой действующий ключ | Получить данные собственного API-клиента — имя, окружение и области доступа, привязанные к ключу. |
Открытый API v1 — сейчас идёт подключение партнёров по интеграции.