Dla biur nieruchomości i deweloperów
Feed ogłoszeń
Prowadź ogłoszenia w systemie, którego już używasz, i pozwól mu publikować plik. Siia odczytuje go co godzinę, dodaje nowe ogłoszenia, aktualizuje zmienione i zdejmuje te, które zniknęły. Ogłoszenia na Siia są bezpłatne, import również.
Akceptowane formaty
- Siia XML i Siia JSON, opisane na tej stronie.
- REDE XML w wersji 0.93 (dokument <Objects> ze schematu na ekfl.ee/schema), z przestrzenią nazw urn:REDE/0.93 lub bez niej. Rozumiemy też pisownię z listy pól kv.ee.
Wysyłasz już ogłoszenia do kv.ee?
kv.ee importuje ogłoszenia w formacie REDE XML (Real Estate Data Exchange), estońskim standardzie z 2007 roku. Siia odczytuje ten sam format, więc twój system nie potrzebuje nowego eksportu: wystarczy, że opublikuje obiekty, które już przygotowuje dla kv.ee, jako jeden dokument <Objects> pod adresem https. Podaj ten adres w zakładce Import albo prześlij plik jednorazowo, aby go wypróbować. Format jest rozpoznawany automatycznie, a zasady z tej strony obowiązują tak samo.
kv.ee pobiera obiekty z twojego systemu jeden po drugim (getObjectById). Siia potrzebuje ich za to w jednym pliku. Poproś dostawcę swojego systemu o eksport REDE pod stałym adresem; to te same dane. Jeśli to niemożliwe, napisz na [email protected].
Jak odczytywany jest plik REDE
- Importowane są tylko obiekty ze statusem active i tylko wtedy, gdy visible ma wartość all lub go brakuje. Obiekt zarchiwizowany, usunięty, sprzedany lub wynajęty traktujemy jak taki, którego nie ma już w feedzie.
- Obiekt oferowany na sprzedaż i na wynajem staje się dwoma ogłoszeniami. Drugie otrzymuje identyfikator obiektu z dopiskiem "-rent" lub "-sale".
- Cena musi być w euro i publiczna. Numer domu lub mieszkania oznaczony jako ukryty nie jest pokazywany.
- Opis pochodzi z tekstów info transakcji (est, rus, eng, lav). Powierzchnie w arach lub hektarach są przeliczane na m².
- Przejmujemy rodzaj, stan, materiał budynku, klasę energetyczną, pokoje, piętra, balkony, lata remontu, zdjęcia, wideo i współrzędne. Opcje bez odpowiednika na Siia są pomijane.
- Agent jest dopasowywany po e-mailu, gdy plik zawiera też rekordy pośredników (<Broker> z <email>). W przeciwnym razie ogłoszenia są podpisywane przez właściciela profilu.
- Garaże, miejsca parkingowe i komórki oraz obiekty poza Estonią są na razie pomijane.
Generujesz już plik dla innego portalu?
Wyślij nam plik, który już generujesz, a dodamy jego obsługę. Import jest zbudowany tak, że nowy format to jeden mały adapter po naszej stronie, bez żadnych zmian po twojej. Napisz na [email protected].
Jak to działa
-
01
Utwórz profil
Zaloguj się i utwórz profil biura lub dewelopera. Zaproś agentów e-mailem, aby ogłoszenia mogły być podpisane ich imionami i nazwiskami.
-
02
Dodaj adres feedu
W zakładce Import wpisz adres https swojego pliku albo prześlij plik jednorazowo, aby go wypróbować.
-
03
Obejrzyj podgląd
Siia odczytuje feed bez publikowania czegokolwiek i pokazuje, ile znalazła ogłoszeń, pierwsze dziesięć tak, jak je zrozumiała, oraz wszystkie uwagi do każdego ogłoszenia.
-
04
Rozpocznij import
Dopiero po twoim potwierdzeniu cokolwiek zostaje opublikowane. Od tej chwili feed jest odczytywany co godzinę.
Struktura
Jeden dokument ze wszystkimi ogłoszeniami, które chcesz mieć na Siia, w UTF-8. W XML elementem głównym jest <listings> z jednym <listing> na nieruchomość. W JSON jest to obiekt z tablicą "listings". Nazwy pól są w obu takie same.
Pola
| Pole | Wymagane | Co to jest |
|---|---|---|
external_id |
tak | Twój własny identyfikator ogłoszenia. Musi pozostać taki sam, dopóki ogłoszenie istnieje: po nim Siia wie, które ogłoszenie zaktualizować. |
deal |
tak | sale lub rent. |
type |
tak | apartment, house, land, commercial lub summer_home. |
price |
tak | Pełne euro. Czynsz miesięczny, gdy deal to rent. |
address |
tak | Albo części (county, city, district, street, house, unit), albo jedna linia, na przykład "Vabriku 12-5, Tallinn". Minimum dla części to miasto i ulica. |
coordinates |
nie | lat i lng w WGS84. Gdy ich brakuje, Siia ustala lokalizację na podstawie adresu w oficjalnym rejestrze adresów. |
area |
tak | Powierzchnia użytkowa w m². Niepotrzebna dla działek. |
plot_area |
dla działek | Powierzchnia działki w m². |
rooms, bedrooms, bathrooms |
nie | Liczby całkowite. |
floor, floors_total |
nie | Piętro nieruchomości i liczba pięter w budynku. |
built_year, renovated_year |
nie | Lata zapisane czterema cyframi. |
condition |
nie | Zobacz listy poniżej. |
energy_label |
nie | Od A do H. |
material |
nie | Zobacz listy poniżej. |
balcony_area |
nie | m². |
features |
nie | Lista wartości podanych poniżej. |
headline |
nie | Krótki tytuł dla każdego języka (et, ru, en), do 80 znaków. |
description |
tak | Tekst dla każdego języka (et, ru, en), do 2000 znaków. Co najmniej jeden język. Prosty HTML jest zamieniany na zwykły tekst. |
agent_email |
nie | E-mail agenta, który prowadzi ogłoszenie. Gdy pasuje do członka twojego profilu, ogłoszenie jest podpisane jego imieniem i nazwiskiem, w przeciwnym razie właściciela profilu. |
photos |
tak | Adresy https plików JPG, PNG lub WebP w kolejności wyświetlania, pierwsze jest okładką. Do 40, do 25 MB każde. |
floor_plan |
nie | Adres https obrazu lub pliku PDF. |
video_url |
nie | Link do YouTube lub Matterport. |
cadastral_number |
nie | Numer katastralny działki. |
updated_at |
nie | Data ostatniej zmiany ogłoszenia, ISO 8601. Dla twojej informacji: Siia sama porównuje treść. |
Akceptowane wartości
Zapisuj wartości jak poniżej. Rozumiemy też typowe słowa estońskie (korter, maja, müük, üür), a nieznana wartość opcjonalna zostaje pusta z uwagą w logu zamiast odrzucenia ogłoszenia.
deal-
salerent type-
apartmenthouselandcommercialsummer_home condition-
new_buildrenovatedgoodneeds_renovation energy_label-
ABCDEFGH material-
stonewoodpanellog features-
balconyterraceliftparkingstoragesaunafireplacefurnishedbicycle_roomunderfloor_heatingfibre
Zasady
- Akceptujemy tylko adresy https, zarówno dla feedu, jak i zdjęć. Feed może mieć do 20 MB i 5000 ogłoszeń, musi odpowiedzieć w ciągu 20 s i może przekierować najwyżej 3 razy.
- Nic nie zostanie opublikowane, zanim właściciel profilu nie zobaczy podglądu i nie naciśnie „Rozpocznij import”. To potwierdzenie jest zapisywane jako twoja zgoda na publikację treści.
- Ogłoszenie jest tworzone jako aktywne. Aby zostało przyjęte, potrzebuje identyfikatora, rodzaju transakcji, rodzaju nieruchomości, ceny, adresu, powierzchni, opisu i co najmniej jednego zdjęcia; pozostałe są pomijane i wymienione w logu z podaniem przyczyny.
- Ogłoszenia są dopasowywane po external_id. Zmienione ogłoszenie jest aktualizowane, niezmienione pozostaje bez zmian, a pobierane są tylko nowe zdjęcia.
- Zdjęcie, którego nie da się pobrać, jest pomijane i pobierane ponownie przy następnym przebiegu. Ogłoszenie i tak zostaje opublikowane.
- Ogłoszenie, którego nie ma już w feedzie, jest zdejmowane dopiero wtedy, gdy brakuje go w 2 kolejnych udanych przebiegach. Jeśli wróci, zostanie ponownie opublikowane.
- Jeśli feedu nie da się odczytać albo jest pusty, nic się nie zmienia: twoje ogłoszenia pozostają bez zmian.
- Po niepowodzeniach feed jest odczytywany ponownie po 1 h, 3 h, 12 h, 24 h. Po trzecim niepowodzeniu z rzędu właściciel profilu dostaje jeden e-mail.
- Import nigdy nie zmienia ogłoszeń wpisanych ręcznie na Siia.
Pełny przykład
Trzy ogłoszenia: pełny wpis, najkrótszy wpis, który zostanie przyjęty, i działka.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Siia listing feed, version 1. Documentation: https://siia.ee/for-agents/feed -->
<listings version="1" generated_at="2026-11-13T08:00:00+02:00">
<!-- A full entry: address in parts, coordinates, three languages. -->
<listing>
<external_id>KB-10231</external_id>
<deal>sale</deal>
<type>apartment</type>
<price currency="EUR">189000</price>
<address>
<county>Harju maakond</county>
<city>Tallinn</city>
<district>Kalamaja</district>
<street>Vabriku</street>
<house>12</house>
<unit>5</unit>
</address>
<coordinates lat="59.447310" lng="24.731420"/>
<area>54.3</area>
<rooms>2</rooms>
<bedrooms>1</bedrooms>
<bathrooms>1</bathrooms>
<floor>3</floor>
<floors_total>5</floors_total>
<built_year>1962</built_year>
<renovated_year>2021</renovated_year>
<condition>renovated</condition>
<energy_label>C</energy_label>
<material>stone</material>
<balcony_area>4.5</balcony_area>
<features>
<feature>balcony</feature>
<feature>storage</feature>
<feature>fibre</feature>
</features>
<headline lang="et">Renoveeritud kahetoaline korter Kalamajas</headline>
<headline lang="ru">Двухкомнатная квартира после ремонта в Каламая</headline>
<headline lang="en">Renovated two-room apartment in Kalamaja</headline>
<description lang="et"><![CDATA[Valgusküllane korter vaikse sisehoovi poole. Uus elektrisüsteem ja torustik, rõdu õhtupäikesega.
Trammipeatus on kolme minuti kaugusel.]]></description>
<description lang="ru"><![CDATA[Светлая квартира с окнами в тихий двор. Новая электрика и трубы, балкон на вечернее солнце.]]></description>
<description lang="en"><![CDATA[A bright apartment facing a quiet courtyard. New wiring and plumbing, a balcony with evening sun.]]></description>
<agent_email>[email protected]</agent_email>
<photos>
<photo>https://media.example.ee/listings/10231/01.jpg</photo>
<photo>https://media.example.ee/listings/10231/02.jpg</photo>
<photo>https://media.example.ee/listings/10231/03.jpg</photo>
</photos>
<floor_plan>https://media.example.ee/listings/10231/plan.png</floor_plan>
<updated_at>2026-11-12T16:40:00+02:00</updated_at>
</listing>
<!-- The shortest entry that is accepted: one address line (Siia looks up the rest), one language. -->
<listing>
<external_id>KB-10244</external_id>
<deal>rent</deal>
<type>apartment</type>
<price currency="EUR">650</price>
<address>
<line>Sõpruse pst 202, Tallinn</line>
</address>
<area>38</area>
<rooms>1</rooms>
<description lang="et">Möbleeritud ühetoaline korter Mustamäel. Vaba alates detsembrist.</description>
<photos>
<photo>https://media.example.ee/listings/10244/01.jpg</photo>
</photos>
<updated_at>2026-11-10T09:15:00+02:00</updated_at>
</listing>
<!-- Land: plot_area instead of area. -->
<listing>
<external_id>KB-10250</external_id>
<deal>sale</deal>
<type>land</type>
<price currency="EUR">42000</price>
<address>
<county>Tartu maakond</county>
<city>Kambja vald</city>
<district>Kulli küla</district>
<street>Kuuse</street>
</address>
<coordinates lat="58.262100" lng="26.705300"/>
<plot_area>1850</plot_area>
<cadastral_number>28201:001:0345</cadastral_number>
<headline lang="et">Elamumaa krunt Kulli külas</headline>
<description lang="et">Tasane krunt asfalttee ääres, elekter ja vesi krundi piiril.</description>
<description lang="en">A level residential plot by a paved road, electricity and water at the boundary.</description>
<agent_email>[email protected]</agent_email>
<photos>
<photo>https://media.example.ee/listings/10250/01.jpg</photo>
<photo>https://media.example.ee/listings/10250/02.jpg</photo>
</photos>
<updated_at>2026-11-01T12:00:00+02:00</updated_at>
</listing>
</listings>
{
"version": 1,
"generated_at": "2026-11-13T08:00:00+02:00",
"listings": [
{
"external_id": "KB-10231",
"deal": "sale",
"type": "apartment",
"price": 189000,
"address": {
"county": "Harju maakond",
"city": "Tallinn",
"district": "Kalamaja",
"street": "Vabriku",
"house": "12",
"unit": "5"
},
"coordinates": { "lat": 59.44731, "lng": 24.73142 },
"area": 54.3,
"rooms": 2,
"bedrooms": 1,
"bathrooms": 1,
"floor": 3,
"floors_total": 5,
"built_year": 1962,
"renovated_year": 2021,
"condition": "renovated",
"energy_label": "C",
"material": "stone",
"balcony_area": 4.5,
"features": ["balcony", "storage", "fibre"],
"headline": {
"et": "Renoveeritud kahetoaline korter Kalamajas",
"ru": "Двухкомнатная квартира после ремонта в Каламая",
"en": "Renovated two-room apartment in Kalamaja"
},
"description": {
"et": "Valgusküllane korter vaikse sisehoovi poole. Uus elektrisüsteem ja torustik, rõdu õhtupäikesega.\n\nTrammipeatus on kolme minuti kaugusel.",
"ru": "Светлая квартира с окнами в тихий двор. Новая электрика и трубы, балкон на вечернее солнце.",
"en": "A bright apartment facing a quiet courtyard. New wiring and plumbing, a balcony with evening sun."
},
"agent_email": "[email protected]",
"photos": [
"https://media.example.ee/listings/10231/01.jpg",
"https://media.example.ee/listings/10231/02.jpg",
"https://media.example.ee/listings/10231/03.jpg"
],
"floor_plan": "https://media.example.ee/listings/10231/plan.png",
"updated_at": "2026-11-12T16:40:00+02:00"
},
{
"external_id": "KB-10244",
"deal": "rent",
"type": "apartment",
"price": 650,
"address": "Sõpruse pst 202, Tallinn",
"area": 38,
"rooms": 1,
"description": { "et": "Möbleeritud ühetoaline korter Mustamäel. Vaba alates detsembrist." },
"photos": ["https://media.example.ee/listings/10244/01.jpg"],
"updated_at": "2026-11-10T09:15:00+02:00"
},
{
"external_id": "KB-10250",
"deal": "sale",
"type": "land",
"price": 42000,
"address": {
"county": "Tartu maakond",
"city": "Kambja vald",
"district": "Kulli küla",
"street": "Kuuse"
},
"coordinates": { "lat": 58.2621, "lng": 26.7053 },
"plot_area": 1850,
"cadastral_number": "28201:001:0345",
"headline": { "et": "Elamumaa krunt Kulli külas" },
"description": {
"et": "Tasane krunt asfalttee ääres, elekter ja vesi krundi piiril.",
"en": "A level residential plot by a paved road, electricity and water at the boundary."
},
"agent_email": "[email protected]",
"photos": [
"https://media.example.ee/listings/10250/01.jpg",
"https://media.example.ee/listings/10250/02.jpg"
],
"updated_at": "2026-11-01T12:00:00+02:00"
}
]
}
Cennik inwestycji deweloperskiej
Deweloper może prowadzić cennik inwestycji w arkuszu i podać jego link na stronie inwestycji, w sekcji Lokale i ceny. Akceptujemy CSV lub TSV, arkusz Google (zwykły link udostępniania dla każdego, kto ma link, albo Plik, Udostępnij, Opublikuj w internecie jako CSV) lub JSON z tablicą obiektów, których kluczami są nazwy kolumn. Jeden wiersz na lokal, pierwszy wiersz zawiera nazwy kolumn.
| Pole | Wymagane | Co to jest |
|---|---|---|
code |
tak | Kod lokalu, unikalny w inwestycji, na przykład A-12. Po nim dopasowujemy lokale. |
rooms |
tak | Liczba pokoi. |
area_m2 |
tak | Powierzchnia w m². Przecinek lub kropka dziesiętna. |
floor |
tak | Piętro, 0 oznacza parter. |
balcony_m2 |
nie | Balkon lub taras w m². |
price |
tak | Cena w euro. Spacje i znak euro są pomijane. |
status |
nie | available, reserved lub sold. Także vaba, müügis, broneeritud, müüdud, свободна, бронь, продана. Puste pole oznacza wolny lokal; każde inne słowo pomija wiersz. |
plan_url |
nie | Link https do rzutu lokalu. |
Działają też estońskie nazwy kolumn: kood, tube, pind, korrus, rõdu, hind, staatus, plaan.
- Sprawdź pokazuje, ile lokali zostałoby dodanych, zmienionych lub brakuje, i których wierszy nie da się odczytać. Nic się nie zmienia przed kliknięciem Uruchom synchronizację.
- Potem link jest odczytywany co godzinę. Wiersz, którego nie da się odczytać, jest pomijany, reszta jest synchronizowana. Jeśli arkusza nie da się pobrać, nic się nie zmienia.
- Lokal, którego nie ma w arkuszu, zostaje oznaczony jako sprzedany po 2 kolejnych synchronizacjach bez niego. Lokale nigdy nie są usuwane.
- Rezerwacja zrobiona przez kupującego w Siia obowiązuje, dopóki trwa, nawet jeśli arkusz podaje wolny. Status sprzedany w arkuszu ją kończy.
- Najwyżej 1 000 wierszy i 2 MB. Po niepowodzeniach próbujemy ponownie po 1 h, 3 h, 12 h, 24 h; po 3 niepowodzeniach z rzędu właściciel profilu dostaje jeden e-mail.
code,rooms,area_m2,floor,balcony_m2,price,status,plan_url
A-1,1,31.5,0,,149000,available,https://example.ee/plans/a-1.pdf
A-2,2,48.5,1,5.2,219000,available,https://example.ee/plans/a-2.pdf
A-3,2,50.0,1,5.2,226000,reserved,
A-4,3,72.4,2,8.0,315000,sold,https://example.ee/plans/a-4.pdf
B-1,4,96.0,3,12.5,429000,available,