Aplicația Realistimo Urmăriți proprietățile mai ușor. Descărcați din Google Play Google Play Aplicația Realistimo Urmăriți proprietățile mai ușor. Descărcați din App Store App Store

REST API import / sincronizare

API pentru pornirea și monitorizarea importurilor. Format feed: Specificație XML.

Overview

Prezentare generală

Două endpoint-uri POST pentru pornirea și monitorizarea importurilor. Este necesară o cheie API. Importurile rulează asincron — după /start, verificați statusul cu /latest-log.

Tutorial

Începeți aici

  1. Feed XML public + agenție → cheie API de la [email protected].
  2. POST /rest-api/import/start → import-in-queue.
  3. Interogați POST /rest-api/import/latest-log până la 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'
O cheie API de test nu pornește un import: /start returnează întotdeauna {"message":"Import in queue"}, iar /latest-log returnează același răspuns exemplu, în care logResult și logOffers sunt șiruri JSON. Folosiți-o doar pentru a verifica conexiunea.
How-to

Cum sincronizați după modificări

  1. Actualizați XML-ul și setați un <updated> nou (valoarea neschimbată omite feed-ul).
  2. Actualizați <last_update> pentru ofertele modificate.
  3. POST /start. La cooldown sau import în curs, așteptați și reîncercați.
  4. Interogați /latest-log și corectați ofertele cu errors.
Reference

Autentificare

Orice eroare de autentificare returnează HTTP 401 cu corpul {"status":"error","message":"…"}:

messageCând
API key is missing in requestCheie API lipsă sau goală
API key could not be foundCheie necunoscută
API key is inactiveCheie dezactivată
API key is expiredCheie expirată
User is inactiveContul de utilizator este dezactivat
User account is expiredContul de utilizator a expirat

POST /rest-api/import/start

messageSemnificație
import-in-queueAcceptat; importul este în coadă sau așteaptă deja
import-is-allowed-between-the-timeÎn afara ferestrei 08:00–20:59 (ora Bulgariei)
import-in-progressUn import rulează deja
import-request-cooldown-is-time-givenAu trecut mai puțin de 30 de minute de la ultimul import — manual sau automat
error-while-importingNiciun feed configurat pentru agenție
error: Agency not foundCheia nu este legată de o agenție
Aceste răspunsuri vin cu HTTP 200, inclusiv {"error":"Agency not found"}. Verificați corpul răspunsului, nu doar codul de status.

POST /rest-api/import/latest-log

message este statusul importului: pending | in_progress | completed (sau null dacă încă nu există). Când există log: 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)

După import, Realistimo face un POST către URL-ul din XML (result_url) cu un corp JSON ca la latest-log: message, logDate, logResult, logOffers. Cererea este trimisă o singură dată: la eroare sau URL inaccesibil nu este reîncercată. Dacă callback-ul nu ajunge, verificați /latest-log.

See also

XML & suport

Buletinul imobiliar

Astfel vei fi la curent cu noutățile imobiliare, statistici și știri de la Realistimo, fără spam:

V-ați înregistrat cu succes.
Vă rog să introduceți o adresă de e-mail. Vă rog să introduceți o adresă de e-mail valabilă. Vă rog să alegeți tipul de profil. Vă rugăm să introduceți un oraș. Vă rugăm să selectați un oraș din opțiunile din lista derulantă atunci când completați câmpul. A apărut o problemă. Vă rugăm să încercați mai târziu.
US AIzaSyBR3omDZNtlfDZ-DUvziDqXSz06vDg5mk4