Приложение Realistimo Следите за объектами недвижимости проще. Скачайте из Google Play Google Play Приложение Realistimo Следите за объектами недвижимости проще. Скачайте из App Store App Store

REST API импорта / синхронизации

API для запуска и мониторинга импорта. Формат feed: Спецификация XML.

Overview

Обзор

Два POST endpoint для запуска и мониторинга импорта. Нужен API-ключ. Импорт выполняется асинхронно — после /start проверяйте статус через /latest-log.

Tutorial

Начало работы

  1. Публичный XML feed + агентство → API-ключ от [email protected].
  2. POST /rest-api/import/start → import-in-queue.
  3. Опрашивайте POST /rest-api/import/latest-log, пока не будет completed.
curl -X POST 'https://realistimo.com/rest-api/import/start' \
  -H 'Accept: application/json' \
  -H 'API-KEY: YourApiKeyHere'

curl -X POST 'https://realistimo.com/rest-api/import/latest-log' \
  -H 'Accept: application/json' \
  -H 'API-KEY: YourApiKeyHere'
Тестовый API-ключ не запускает импорт: /start всегда возвращает {"message":"Import in queue"}, а /latest-log — один и тот же пример ответа, где logResult и logOffers являются JSON-строками. Используйте его только для проверки соединения.
How-to

Как синхронизировать после изменений

  1. Обновите XML и задайте новое <updated> (без изменения значение пропускает feed).
  2. Обновите <last_update> у изменённых объявлений.
  3. POST /start. При cooldown или уже идущем импорте подождите и повторите.
  4. Опрашивайте /latest-log и исправляйте объявления с errors.
Reference

Аутентификация

Любая ошибка аутентификации возвращает HTTP 401 с телом {"status":"error","message":"…"}:

messageКогда
API key is missing in requestОтсутствует или пустой API-ключ
API key could not be foundНеизвестный ключ
API key is inactiveОтключённый ключ
API key is expiredИстёкший ключ
User is inactiveПользователь деактивирован
User account is expiredУчётная запись пользователя истекла

POST /rest-api/import/start

messageЗначение
import-in-queueПринято; импорт в очереди или уже ожидает
import-is-allowed-between-the-timeВне окна 08:00–20:59 по болгарскому времени
import-in-progressИмпорт уже выполняется
import-request-cooldown-is-time-givenПрошло меньше 30 минут с последнего импорта — ручного или автоматического
error-while-importingДля агентства не настроен feed
error: Agency not foundКлюч не связан с агентством
Эти ответы приходят с HTTP 200, включая {"error":"Agency not found"}. Проверяйте тело ответа, а не только код статуса.

POST /rest-api/import/latest-log

message — статус импорта: pending | in_progress | completed (или null, если статуса ещё нет). При наличии лога: logDate, logResult, logOffers (uuid, createdAt, errors, offerSourceData).

{
  "message": "completed",
  "logDate": "2024-09-18T01:51:14+03:00",
  "logResult": {
    "0": "success_with_warnings",
    "found_offers": 228,
    "published_found_offers_in_agency": 218,
    "imported_offers": 0,
    "published_offers": 0,
    "not_published": 10,
    "removed_offers": 0,
    "deleted_offers": 0,
    "updated_offers": 228,
    "errors": [{ "type": "…", "count": 10 }]
  },
  "logOffers": [{ "uuid": "…", "errors": [], "offerSourceData": { "offer_uid": "2080525" } }]
}
Reference

Limits

Callback (result_url)

После импорта Realistimo делает POST на URL из XML (result_url) с JSON-телом как в latest-log: message, logDate, logResult, logOffers. Запрос отправляется один раз: при ошибке или недоступном URL повтора не будет. Если callback не пришёл, проверьте /latest-log.

See also

XML и поддержка

Новостная рассылка о недвижимости

Так вы будете в курсе новинок в области недвижимости, статистики и новостей от Realistimo, без спама:

Вы успешно зарегистрировались.
Пожалуйста, введите Имейл. Пожалуйста, введите действительный Емейл. Пожалуйста, выберите тип профиля. Пожалуйста, введите город. Пожалуйста, выберите город из вариантов в выпадающем списке при заполнении поля. Возникла проблема. Пожалуйста, попробуйте позже
US AIzaSyBR3omDZNtlfDZ-DUvziDqXSz06vDg5mk4