elefymove

Документация для разработчиков

Руководства и справочник по ElefyMove Open API.

Эти руководства пока доступны только на английском языке.

Endpoints

МетодЭндпоинтОбласть доступаНазначение
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Снять своё объявление с публикации.
POST/api/public/v1/listings/{externalId}/photoslistings:writeДобавить одну фотографию к объявлению без полного обновления. Изображение получает и повторно размещает ElefyMove — ваш URL никогда не сохраняется напрямую.
DELETE/api/public/v1/listings/{externalId}/photos/{photoId}listings:writeУдалить фотографию из объявления. Запрос отклоняется с кодом 400, если это приведёт к тому, что у опубликованного объявления окажется меньше фотографий, чем требуется минимум.

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:

МетодЭндпоинтОбласть доступаНазначение
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.

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