Domoplius importas V2
Griežtas naujas Domoplius skelbimų kontraktas XML ir JSON srautams.
Importo dokumentacijos meniu
Greita pradžia
Paruoškite UTF-8 XML arba JSON dokumentą ir paskelbkite jį viešu HTTP(S) URL. Kiekvienas sėkmingas atsakymas yra visa tuo URL pateikiama dabartinė kopija.
- 1Pasirinkite XML arba JSON šabloną, pakeiskite pavyzdines reikšmes ir laukų žinyne patikrinkite savo kategoriją.
- 2Kiekvienam skelbimui skirkite nekintantį external_id ir toje pačioje kategorijoje jo nekartokite.
- 3Paskelbkite srautą viešu URL ir perduokite jį bei skelbimų savininko paskyrą Domoplius kontaktui.
XML ir JSON yra struktūriniai šablonai. Patikrinkite skaitinius vietų ir parinkčių ID bei nuotraukų URL.
<?xml version="1.0" encoding="UTF-8"?>
<domoplius xmlns="https://domoplius.lt/xml/import/v2" version="2">
<!--Replace location and option IDs using the versioned endpoints, and supply public image URLs.-->
<listings>
<flat>
<external_id>100001</external_id>
<action_type>1</action_type>
<price_eur>145000</price_eur>
<administrative_unit_id>461</administrative_unit_id>
<settlement_id>1</settlement_id>
<flat_size>50.5</flat_size>
<flat_rooms>1</flat_rooms>
</flat>
</listings>
</domoplius>
Importo eiga
Kiekvienas šaltinio vykdymas pereina tuos pačius etapus. Atskiro įrašo klaida nesustabdo tinkamų įrašų, tačiau viso srauto patikimumas lemia, ar galima šalinti trūkstamus skelbimus.
1. Atsisiuntimas
Importuotojas saugiai atsisiunčia viešą HTTP(S) srautą, laikydamasis dydžio, laiko ir nukreipimų ribų.
2. Pirminė patikra
Tikrinama V2 vardų sritis, versija, plokšti skelbimo laukai, kolekcijų struktūra, unikalios tapatybės ir ar nėra DTD bei išorinių esybių.
3. Srautinis apdorojimas
Įrašai skaitomi po vieną, normalizuojami, validuojami ir susiejami su kategorijų bei adresų reikšmėmis.
4. Įrašymas
Galiojantys įrašai sukuriami arba atnaujinami; klaidingi įrašai praleidžiami ir įtraukiami į ataskaitą.
5. Suderinimas
Trūkstami skelbimai vertinami tik sėkmingai apdorojus visus įjungtus to savininko šaltinius ir praėjus pašalinimo apsaugas.
6. Ataskaita
Administratorius peržiūri rezultatą, įspėjimus ir atmestų įrašų priežastis prieš įjungdamas ar palikdamas aktyvų šaltinį.
Ką perduoti Domoplius
Paruoškite XML arba JSON srautą ir perduokite jo viešą URL Domoplius kontaktui. Pirmoji patikra atliekama su išjungtu šaltiniu.
- 1.Perduokite viešą srauto URL, formatą, Domoplius paskyrą ir naudojamas kategorijas.
- 2.Nurodykite grafiką ir kontaktų pakeitimo taisykles.
- 3.Palikite stabilų bandomąjį įrašą ir ištaisykite patikros įspėjimus.
- 4.Šaltinis įjungiamas tik po sėkmingos išjungto šaltinio patikros.
Vykdymo grafikai
- Laiko juosta
Europe/Vilnius- Kasnakt
- 02:50
- Dažnas režimas
- 02:50, 07:50, 10:50, 13:50, 16:50, 19:50
Srauto reikalavimai
Kad XML arba JSON srautą būtų galima importuoti, laikykitės šių pagrindinių taisyklių.
- Kainos ir trumpalaikė nuoma
- Kainas pateikite eurais, su ne daugiau kaip dviem skaitmenimis po taško, pavyzdžiui, 10.01. Veiksmams 1 ir 3 būtina price_eur. Veiksmas 9 leidžiamas tik Lietuvos butams ir namams: būtina short_rent_day_eur, o price_eur neprivaloma ir nepateikta išvaloma.
- Sklypo plotas
- Naudokite site_size_a arais (1 aras = 100 m²). Nepateikus neprivalomo sklypo ploto, ankstesnė reikšmė išvaloma.
- Tuščios reikšmės ir tipai
- Tušti ar tik tarpų turintys XML laukai ir JSON null išvalo neprivalomas reikšmes. Tuščios JSON eilutės išvalo tekstą, tačiau netinka skaičiams ar loginėms reikšmėms. Trūkstama privaloma arba sąlygiškai privaloma reikšmė atmeta tik skelbimą. Nepateikti arba tušti contact_name, contact_phone ir contact_email imami iš susieto brokerio, tada iš šaltinio savininko; jie neišvalomi. Neradus brokerio, savininko priskyrimui turi būti įjungtas šaltinio atsarginio priskyrimo nustatymas. contact_secondary_phone atsarginės reikšmės neturi ir nepateiktas išvalomas.
- Semantinė patikra
- Prieš perduodami srautą, patikrinkite jį validatoriumi. Tikrinami privalomi laukai, leidžiamos reikšmės, adresų ryšiai ir koordinačių pora. Neteisinga lauko reikšmė atmeta skelbimą, o struktūros klaida – visą srautą. Tikslias ribas rasite laukų apraše.
- Komercinių patalpų paskirtys
- Kategorijoms commercial ir foreign_commercial naudokite commercial_room_purposes su ID iš laukų aprašo. XML formatu kartokite commercial_room_purpose_id elementus, JSON formatu pateikite masyvą, pavyzdžiui, "commercial_room_purposes": [408, 410]. Kolekciją naudokite ir vienai paskirčiai. Nepateikus kolekcijos arba pateikus tuščią sąrašą, ankstesnės paskirtys išvalomos.
- XML struktūra ir koduotė
- Naudokite UTF-8 XML su <domoplius xmlns="https://domoplius.lt/xml/import/v2" version="2"><listings>…</listings></domoplius>. Skelbimo vienetiniai laukai pateikiami tiesiogiai kategorijos elemente; įdedamos kartotinės features, photos ir commercial_room_purposes kolekcijos.
- JSON struktūra ir koduotė
- Naudokite UTF-8 JSON su aukščiausio lygio listings masyvu ir be version lauko. Kiekviename elemente tiesiogiai pateikiama category ir jo laukai; features, photos ir commercial_room_purposes yra masyvai.
- CDATA ir saugumas
- Tekstui galima naudoti CDATA. DTD, DOCTYPE ir išorinės esybės draudžiamos; tokį failą importuotojas atmeta.
- Tekstas
- Aprašymuose HTML žymos pašalinamos, o <br> paverčiama nauja eilute. Siųskite tekstą, o ne paruoštą puslapio maketą.
- Skaičiai ir datos
- Kainoms ir kitiems skaičiams rekomenduojamas taškas kaip dešimtainis skirtukas. Statybos ir rekonstrukcijos datos priimamos YYYY arba YYYY-MM forma.
- Viešas URL
- Palaikomi HTTP ir HTTPS adresai; rekomenduojame HTTPS su galiojančiu sertifikatu. Tiesioginė GET užklausa turi grąžinti XML arba JSON srautą be prisijungimo, slapukų ar JavaScript patikros. Saugūs nukreipimai palaikomi, tačiau geriau pateikti tiesioginį URL.
Faktinės ribos
- Didžiausias srautas
- 100 MiB
- Prisijungimo laikas
- 15 s
- Atsisiuntimo laikas
- 300 s
- Pirminės patikros laikas
- 120 s
- Vieno vykdymo riba
- 55 min
- Srauto nukreipimai
- 5 nukreipimai
- Nuotraukos vienam skelbimui
- 30 nuotraukų
- Vienos nuotraukos dydis
- 15 MiB
- Vienos nuotraukos raiška
- 80 MP
- Nuotraukos nukreipimai
- 3 nukreipimai
Ieškote konkretaus V2 lauko?
Laukų žinyne pasirinkite kategoriją ir patikrinkite jai privalomus bei pasirenkamus XML arba JSON laukus.
Kaip atnaujinami skelbimai
Domoplius atpažįsta skelbimą pagal Domoplius paskyrą (skelbimų savininką), kategoriją ir external_id. Šios tapatybės nekeiskite, kai keičiasi kiti skelbimo duomenys.
- Naujas skelbimas
- Naujas external_id sukuria naują skelbimą. ID turi būti teigiamas, nekintantis ir unikalus savo kategorijoje tai pačiai Domoplius paskyrai.
- Atnaujinimas
- Ta pati kategorija ir external_id atnaujina esamą tos paskyros skelbimą, net jei įrašas perkeliamas tarp jos registruotų XML URL. Kitoje kategorijoje tas pats external_id gali žymėti kitą skelbimą.
- Kategorijos keitimas
- Perkėlus įrašą į kitą kategoriją sukuriama nauja tapatybė. Ankstesnės kategorijos įrašas tampa trūkstamas ir gali būti pašalintas.
- Visas sąrašas
- Sėkmingai atsisiuntus XML, tame URL nepateikti įrašai, įskaitant visus praleistos kategorijos įrašus, nebelaikomi pateikiamais to šaltinio. Skelbimą saugo narystė bet kuriame neatsisakytame šaltinyje, įskaitant išjungtus ar archyvuotus šaltinius. Šią apsaugą panaikina aiškus šaltinio atsisakymas.
Validacija ir klaidos
Klaidos vertinamos dviem lygiais: vieno skelbimo klaida gali būti izoliuota, o srauto patikimumo klaida sustabdo visą vykdymą ir trūkstamų skelbimų suderinimą.
Klaidų matrica
- Atsisiuntimo, struktūros, DTD, tuščio failo arba laiko limito klaida
- Įrašų rezultatasSrautas atmetamas; skelbimai nekeičiami.
- Pašalinimo suderinimasNevykdomas.
- Vienas klaidingas įrašas, tapatybė atpažįstama
- Įrašų rezultatasĮrašas praleidžiamas, ankstesnis skelbimas apsaugomas; kiti tinkami įrašai importuojami.
- Pašalinimo suderinimasGali vykti, jei visas srautas baigtas patikimai.
- Klaidingas įrašas be atpažįstamos tapatybės
- Įrašų rezultatasĮrašas praleidžiamas, kiti tinkami įrašai importuojami.
- Pašalinimo suderinimasNevykdomas, nes negalima saugiai nustatyti, kurį skelbimą apsaugoti.
- Dalies nuotraukų atsisiųsti nepavyksta
- Įrašų rezultatasEsamas pilnas nuotraukų rinkinys išsaugomas; naujas skelbimas gali būti įrašytas be nuotraukų.
- Pašalinimo suderinimasSkelbimo duomenų suderinimas gali tęstis.
- Didelis arba neaiškus pašalinimas
- Įrašų rezultatasGaliojantys kūrimai ir atnaujinimai išsaugomi.
- Pašalinimo suderinimasAtidedamas iki identiško kito sveiko vykdymo.
Kaip suprantamos tuščios reikšmės
- Neprivalomo lauko nėra
- Bendroji reikšmėAnkstesnė importuota reikšmė išvaloma.
- Specialios taisyklėsKiekvienas V2 įrašas yra pilna momentinė kopija.
- Tuščias arba tik whitespace elementas
- Bendroji reikšmėLaukas laikomas pateiktu be reikšmės ir išvalomas; privalomas laukas atmetamas.
- Specialios taisyklėsTuščias photos išvalo nuotraukas; tuščia features kolekcija išvalo ypatumus.
- Reikšmė 0
- Bendroji reikšmėTai skaitinė reikšmė, ne trūkstamas laukas. XML loginės reikšmės yra true/false; JSON naudoja tikrąjį loginį tipą.
- Specialios taisyklėsLaukuose, kuriems būtina reikšmė > 0, validacija jos nepriima.
- Nėra photos
- Bendroji reikšmėTaikoma bendra V2 pilnos kopijos taisyklė.
- Specialios taisyklėsAnksčiau importuotos nuotraukos pašalinamos.
- features nepateiktas
- Bendroji reikšmėYpatumai nepateikti.
- Specialios taisyklėsAnksčiau importuoti ypatumai išvalomi.
- Nėra visos koordinačių poros
- Bendroji reikšmėDalinė pora nėra galiojanti vieta.
- Specialios taisyklėsAnkstesnės importo koordinatės išvalomos.
Lietuvos ir užsienio vietos
Užsienio skelbimai naudoja country_id ir city_id iš šalių bei miestų API; miestas turi priklausyti šaliai. Lietuvos skelbimuose naudokite esamus aktyvius Domoplius skaitinius administrative_unit_id, settlement_id, microdistrict_id ir street_id. Jie tiesiogiai atitinka placereg_* įrašus ir turi sudaryti vieną hierarchiją.
1. Administracinis vienetas
Naudokite grąžintą skaitinį id.
/api/v2/imports/locations/administrative-unitsGET /api/v2/imports/locations/administrative-units2. Gyvenvietė
Filtruokite pagal administrative_unit_id.
/api/v2/imports/locations/settlements?administrative_unit_id=461GET /api/v2/imports/locations/settlements?administrative_unit_id=4613. Mikrorajonas
Jei taikoma, filtruokite pagal settlement_id.
/api/v2/imports/locations/microdistricts?settlement_id=1GET /api/v2/imports/locations/microdistricts?settlement_id=14. Gatvė
Filtruokite pagal settlement_id ir, jei reikia, microdistrict_id.
/api/v2/imports/locations/streets?settlement_id=1GET /api/v2/imports/locations/streets?settlement_id=1
<administrative_unit_id>461</administrative_unit_id>
<settlement_id>1</settlement_id>
<microdistrict_id>31</microdistrict_id>
<street_id>22328</street_id>Užsienio vietos laukai
Pirmiausia pasirinkite country_id, tada tai šaliai priklausantį city_id. Užsienio kategorijų vietai priimami tik country_id, city_id, latitude ir longitude. Lietuvos adresų ID, namo ar patalpos numeriai ir adreso slėpimo laukai nepriimami.
1. Pasirinkite šalį
Grąžintą skaitinį id naudokite kaip country_id.
/api/v2/imports/locations/countriesGET /api/v2/imports/locations/countries2. Pasirinkite miestą
Perduokite pasirinktą country_id ir naudokite grąžintą miesto id.
/api/v2/imports/locations/cities?country_id=3397GET /api/v2/imports/locations/cities?country_id=3397
Nuotraukos ir vaizdo įrašai
Nuotraukas ir vaizdo įrašą nurodykite pačiame skelbimo įraše.
- Tvarka ir pagrindinė nuotrauka
- Siųskite iki 30 URL norima tvarka. Pirmoji sėkmingai paruošta nuotrauka tampa pagrindine, o likusių tvarka išsaugoma.
- Nuotraukų URL
- Naudokite viešus HTTP(S) adresus, kuriuos Domoplius gali atsisiųsti be prisijungimo.
- Nuotraukų išvalymas
- Kiekviename vykdyme siųskite visą norimą rinkinį. Jei photos elemento nėra arba jis tuščias, anksčiau importuotos nuotraukos pašalinamos.
- YouTube vaizdo įrašas
- Naudokite video_url su absoliučiu http:// arba https:// YouTube URL: watch?v=, youtu.be/, embed/, shorts/, v/ arba vi/. Palaikomas ir youtube-nocookie.com. V2 nepriima vien vaizdo ID. Nepateikus ankstesnis vaizdo įrašas išvalomas.
XML, XSD, JSON ir JSON Schema
XML/XSD ir JSON/JSON Schema generuojami iš to paties V2 laukų registro.
XML ir JSON yra struktūriniai šablonai. Patikrinkite skaitinius vietų ir parinkčių ID bei nuotraukų URL.
Pilnas XML pavyzdys
Šablone pateiktas butas su ypatumais, nuotraukomis ir koordinatėmis bei komercinės patalpos su keliomis paskirtimis. Prieš semantinę patikrą ar importą pakeiskite pavyzdines reikšmes.
Pilnas XML pavyzdys
<?xml version="1.0" encoding="UTF-8"?>
<domoplius xmlns="https://domoplius.lt/xml/import/v2" version="2">
<!--Replace location and option IDs using the versioned endpoints, and supply public image URLs.-->
<listings>
<flat>
<external_id>100001</external_id>
<action_type>1</action_type>
<contact_name>Partnerio brokeris</contact_name>
<contact_phone>+37060000000</contact_phone>
<contact_email>[email protected]</contact_email>
<price_eur>145000</price_eur>
<administrative_unit_id>461</administrative_unit_id>
<settlement_id>1</settlement_id>
<microdistrict_id>31</microdistrict_id>
<street_id>22328</street_id>
<building_number>12A</building_number>
<unit_number>4</unit_number>
<hide_unit_number>false</hide_unit_number>
<latitude>54.687157</latitude>
<longitude>25.279652</longitude>
<description>Šviesus butas.</description>
<flat_size>50.5</flat_size>
<flat_rooms>1</flat_rooms>
<window_directions>n,e</window_directions>
<features>
<feature_id>79</feature_id>
</features>
<photos>
<photo_url>https://example.lt/photo.jpg</photo_url>
</photos>
</flat>
<commercial>
<external_id>100002</external_id>
<action_type>1</action_type>
<contact_name>Partnerio brokeris</contact_name>
<contact_phone>+37060000000</contact_phone>
<contact_email>[email protected]</contact_email>
<price_eur>145000</price_eur>
<administrative_unit_id>461</administrative_unit_id>
<settlement_id>1</settlement_id>
<microdistrict_id>31</microdistrict_id>
<street_id>22328</street_id>
<building_number>12A</building_number>
<unit_number>4</unit_number>
<latitude>54.687157</latitude>
<longitude>25.279652</longitude>
<description>Komercinės patalpos.</description>
<is_price_for_all_place>false</is_price_for_all_place>
<commercial_room_size>50.5</commercial_room_size>
<commercial_room_purposes>
<commercial_room_purpose_id>408</commercial_room_purpose_id>
<commercial_room_purpose_id>410</commercial_room_purpose_id>
</commercial_room_purposes>
<features/>
<photos>
<photo_url>https://example.lt/photo.jpg</photo_url>
</photos>
</commercial>
</listings>
</domoplius>
JSON
{
"listings": [
{
"category": "flat",
"external_id": 100001,
"action_type": 1,
"contact_name": "Partnerio brokeris",
"contact_phone": "+37060000000",
"contact_email": "[email protected]",
"price_eur": 145000,
"administrative_unit_id": 461,
"settlement_id": 1,
"microdistrict_id": 31,
"street_id": 22328,
"building_number": "12A",
"unit_number": "4",
"hide_unit_number": false,
"latitude": 54.687157,
"longitude": 25.279652,
"description": "Šviesus butas.",
"flat_size": 50.5,
"flat_rooms": 1,
"window_directions": "n,e",
"features": [
79
],
"photos": [
"https://example.lt/photo.jpg"
]
},
{
"category": "commercial",
"external_id": 100002,
"action_type": 1,
"contact_name": "Partnerio brokeris",
"contact_phone": "+37060000000",
"contact_email": "[email protected]",
"price_eur": 145000,
"administrative_unit_id": 461,
"settlement_id": 1,
"microdistrict_id": 31,
"street_id": 22328,
"building_number": "12A",
"unit_number": "4",
"latitude": 54.687157,
"longitude": 25.279652,
"description": "Komercinės patalpos.",
"is_price_for_all_place": false,
"commercial_room_size": 50.5,
"commercial_room_purposes": [
408,
410
],
"features": [],
"photos": [
"https://example.lt/photo.jpg"
]
}
]
}
Dažnos klaidos
- Keičiama tapatybė
- Pakeitus external_id arba kategoriją sukuriama kita tapatybė, todėl ankstesnis skelbimas gali būti pažymėtas kaip trūkstamas.
- Naudojami nedokumentuoti pavadinimai ar struktūra
- Nežinomi laukai, daugiskaitos kategorijos ir senos contact, pricing, location, content ar attributes grupės atmetamos.
- Naudojama netinkama vietos tapatybė
- Lietuvos vietoms reikia esamų skaitinių Domoplius ID, o užsienio vietoms – paskelbtų skaitinių šalies ir miesto ID.
- Praleidžiamos nuotraukos
- Nuotraukoms taikoma bendra V2 pilnos kopijos taisyklė: nepateikus photos, ankstesnės importo nuotraukos pašalinamos.
- video_url siunčiamas kaip loginė reikšmė
- Siųskite palaikomą URL. Loginė reikšmė vaizdo įrašo neidentifikuoja.
- Bandoma išvalyti privalomą lauką
- Privalomi ir sąlyginai privalomi duomenys turi išlikti galiojantys kiekviename įraše; tuščias elementas tokį įrašą atmeta.
Versijos ir pakeitimai
V2 yra numatytoji naujų šaltinių versija. XML ir JSON turi vienodą laukų kontraktą ir pilnos momentinės kopijos semantiką.
Mašininis kontraktas
GET /api/v2/imports/manifest grąžina vardų sritį, formatus, dešimt kategorijų, pilnos kopijos režimą ir nuorodas į laukus, parinktis, vietas, XML bei JSON pavyzdžius, XSD ir JSON schemą.
Pakeitimų istorija
- Import V2 · 2026-09-17
- Dabartinis V2 kontraktas: XML ir JSON pilnos kopijos, dešimt kategorijų, skaitiniai vietų ID, kainos eurais, sklypo plotas arais, komercinių paskirčių kolekcijos ir absoliutūs HTTP(S) YouTube URL. Šį kontraktą aprašo generuojami pavyzdžiai, XSD ir JSON Schema.