Prague Real Estate
Catalogreal estate agency registration
Client zone
česky

Import interface documentation

Obsah

  • 1 Úvod
    • 1.1 Co je nového
    • 1.2 Názvosloví
    • 1.3 Typy dat
    • 1.4 Struktura odpovědi serveru
    • 1.5 Autorizace
    • 1.6 Identifikace inzerátu, obecné vazby
    • 1.7 Zadávání lokality
    • 1.8 Vkládání videoprohlídek
  • 2 Metody
    • 2.1 Autorizační metody
    • 2.2 Správa inzerátů
    • 2.3 Správa fotek u inzerátů
    • 2.4 Správa videoprohlídek u inzerátů
    • 2.5 Správa makléřů
    • 2.6 Správa developerských projektů
    • 2.7 Správa fotek u developerských projektů
    • 2.8 Správa videoprohlídek u developerských projektů
    • 2.9 Čtení statistik
    • 2.10 Metoda dostupná bez přihlášení
  • 3 Datové struktury a číselníky
    • 3.1 Atributy a číselníky inzerátu
    • 3.2 Atributy a číselníky developerského projektu
    • 3.3 Návratové kódy a chybové hlášky
    • 3.4 Stavy inzerátu ve výpise
    • 3.5 Podporované formáty videozáznamů
  • 4 Příklady
    • 4.1 PHP
    • 4.2 Python
    • 4.3 Příklad XML požadavku

1 - Úvod

Serverové rozhraní XML-RPC se nachází na adrese
https://www.prazskereality.cz/RPC2 nebo http://www.prazskereality.cz/RPC2
a slouží k exportu zakázek realitních kanceláří do systému PrazskeReality.cz.

Veškerá komunikace se serverem a zpět probíhá v kódování UTF-8.
Na adrese   http://xmlrpc.com/spec.md se nalézá podrobná specifikace protokolu.

Zbytek dokumentu pojednává o RPC metodách, které importní rozhraní nabízí. Všem uvedeným metodám je nutno předat všechny specifikované parametry. Pokud je uvedeno, že parametr metody je nepovinný, stačí jej vyplnit podle typu prázdnou hodnotou. Počet parametrů musí odpovídat předpisu.

Vytváříte-li nový exportní software, obrat’te se na info linku (info@PrazskeReality.cz), kde vám založí testovací účet. Testovací účet vydrží 1 měsíc a je zdarma. Nelze přes něj žádným způsobem inzerovat, slouží pouze k ověření vyvíjeného exportního softwaru.

1.3 - Co je nového

Proti verzi 1.2:

  • Přídáno pole pro zadávání čísla bytu apartment_number
  • Nový typ inzerátu:Podíly
  • Nové atributy: share_numerator, share_denominator, share_common_area_numerator, share_common_area_denominator, num_owners. Atributy share_common_area_numerator a share_common_area_denominator jsou urceny pouze pro byty.
  • Přejmenovaná položka v atributu building_type: Dřevěná → Dřevostavba
  • Nová položka v atributu building_type: Modulární
  • Nová položka v atributu flat_class: Jednopodlažní
  • Nové položky v atributu protection: Památková zóna, Památková rezervace, Kulturní památka, Národní kulturní památka
  • Přejmenované položky v atributu surroundings_type: Obytná → Bydlení, Obchodní a obytná → Bydlení a kanceláře, Komerční → Administrativní
  • Nová položka v atributu road_type: Není příjezdová komunikace
  • Nová položka v atributu electricity: Bez přípojky
  • Přejmenované položky v atributu water: Místní zdroj → Místní zdroj vody, Dálkový vodovod → Vodovod
  • Nová položka v atributu water: Retenční nádrž na dešťovou vodu

Nové atributy u inzerát:

  • circuit_breaker - Jističe
  • commission - Provize, pro pronájmy
  • ftv_panels - Fotovoltaika
  • heating_element - Topné těleso
  • heating_source - Zdroj topení
  • internet_connection_provider - Poskytovatel internetového připojení
  • internet_connection_speed - Rychlost internetového připojení (Mbit/s)
  • internet_connection_type - Typ internetového připojení
  • keywords - Klíčová slova
  • lease_type_cb - Typ pronájmu - nájem / podnájem
  • phase_distributions - Počet fází elektrického proudu
  • refundable_deposit - Výše vratné kauce
  • solar_panels - Solarní panely
  • tenant_not_pay_commission - Nájemce neplatí provizi
  • water_heat_source - Zdroj teplé vody
  • well_type - Typ studny
  • project_matteport_url - Odkaz na VR prohlídku na webu Matterport

Nové metody pro videa inzerátů a projektů. Nově lze přidávat k inzerátům a projektům více videí, k videu lze nahrát úvodní fotografii a určit pořadí videí

U metod pro nahrávání a mazání videa byla zachována možnost p ˚uvodního používání, jako v pˇredchozí verzi

Metody listVideo a listProjectVideo budou odstraněny a mělo by se přejít na jejich nástupce listVideos a listProjectVideos.

  • addVideoPhoto a addProjectVideoPhoto pro nahrání fotky k videu
  • delVideoPhoto a delProjectVideoPhoto pro smazání fotky videa
  • listVideos a listProjectVideos pro výpis videí
  • setVideoOrder a setProjectVideoOrder pro nastavení pořadí videí
  • Metody delVideo a delProjectVideo, pro smazání videa, mají další nepovinný atribut identifikující video. Bez tohoto atributu se smaže první video.
  • U metod addVideo, addProjectVideo přibyla hodnota ve struktuře odpovědi output s klíčem video_id, která obsahuje identifikátor nahrávaného videa

Proti dokumentaci PražskéReality verzi 1.1:

přidány chybové návratové hlášky importního rozhraní řady 9XX (901 - maximální počet inzerátů dle inzertního balíčku)

přidány chybové návratové hlášky importního rozhraní řady 9XX (901 - maximální počet inzerátů dle inzertního balíčku)

Nový parametr project_url při importu developerských DP obsahuje webovou adresou na projekt na stránkách developera.

Možnost zadat ruský popis inzerátu a poznámku k ceně. (položky description_ru a advert_price_text_note_ru).

Doplnění informace o maximálním počtu fotografií

Oprava maximálního počtu znaků v anotaci developerských projektů (položka annotation).

Nastavení energetického štítku dle vyhlášky č. 78/2013 Sb. (položka energy_performance_certifi cate).

Nově vracíme položku typu hash_id v metodě pro výpis inzerátů (listAdvert) jako řetězec (string)

Přidána chybová hláška o detekci příliš velké fotografi e při jejím uploadu (metody addPhoto a addProjectPhoto, chyba číslo 410)

Přidána chybová hláška o detekci duplicitní fotografi e při jejím uploadu (metoda addPhoto, chyba číslo 451)

Přidána kontrola textových položek inzerátu a projektu (metody addAdvert, addProject chyba číslo 455)

Přidání položek do číselníku advert_price_unit:

  • za m2/den (ID 9),
  • za m2/hodinu (ID 10).

•Úprava číselníku advert_subtype:

  • Přejmenování položky 6+kk na „6 a více“, položky 6+1, 7+1 a 7+kk sloučeny na „6 a více“.,
  • Položka Jiný sloučena s Atypický.
  • Přejmenování položky „Pro komerční výstavbu“ na Komerční.
  • Přejmenování položky „Pro bydlení“ na Bydlení.
  • Přejmenování položky „Zemědělská půda“ na Pole.
  • Přejmenování položky „Trvalý travní porost“ na Louka.
  • Přejmenování položky „Zemědělské objekty“ na Zemědělský.
  • Přejmenování položky Jiný na Ostatní.
  • Přejmenování položky „Činžovní“ na „Činžovní dům“.
  • Přejmenování položky Vily na Vila.
  • Odstranění položky Dřevostavby (typ dřevostavba je určen číselníkem building_type, konverze inzerátů s podkategorií Dřevostavby na podkategorii Rodinný).
  • Přesun položky Nízkoenergetické do samostatné položky advert_low_energy (konverze inzerátů s podkategorií Nízkoenergetické na podkategorii Rodinný).
  • Přidání položek Sady/vinice, Virtuální kancelář, Vinný sklep, Půdní prostor, Garážové stání, Mobilheim a Ostatní.

Balkón povinný pouze pro Byty.

Lodžie povinná pouze pro Byty.

Bazén povinný pro Domy.

Terasa povinná jen pro Byty.

Přejmenování položky číselníku vlastnictví Jiné na Státní/obecní.

Přejmenování položky „Parkovací stání“ na Parkování.

Přejmenování položky „Bezbariérový přístup“ na Bezbariérový.

Přejmenování položky Zařízeno na Vybavení.

Pole auction_date_tour a auction_date_tour2 jsou nyní povinné pro Dražby.

Do číselníku auction_kind přibyly následující položky:

  • Exekutorská dražba (ID 3),
  • Aukce (ID 4),
  • Obchodní veřejná soutěž (ID 5).

Nově přidaná pole:

  • Velikost (advert_room_count),
  • Poznámka k ceně v Angličtině (advert_price_text_note_en),
  • Náklady na bydlení (cost_of_living),
  • Typ bytu (flat_class),
  • Nízkoenergetické (advert_low_energy).

Odstraněná pole:

  • Stavba (estate_building_type),
  • Počet objektů (object_count),
  • Počet domů (house_count),
  • Počet obchodů (shops),
  • Počet míst (seats),
  • Počet lůžek (beds),
  • Počet bytů (fl ats),
  • Počet volných bytů (free_fl ats),
  • Počet kanceláří (offices),
  • Rozměry - výška (height),
  • Rozměry - délka (length),
  • Rozměry - šířka (width).

Opravy oproti původním změnám:

  • Odstranění pole equipment.
  • Namísto sjednocení položek Jiný (ID 36) a „Historické objekty“ (ID 35) na „Památka/jiné“ (ID 36) došlo jen k přejmenování položky „Historické objekty“ (ID 35) na „Památka/jiné“ a přejmenování položky Jiné (ID 36) na „Ostatní“. ID těchto položek tedy zůstávají stejné, jako ve verzi 2.1.9.

Aktualizovány příklady použití importního rozhraní v PHP a Pythonu. Obě varianty nyní obsahují ukázku přidání inzerátu.

Možnost definovat lokalitu na základě RUIAN kódu (viz.1.7). Tato změna se dotkla rpc metod addProject, addAdvert, kde byly vstupní parametry rozšířeny o dva nepovinné parametry locality_ruian resp. locality_ruian_level.

Do návratových kódů přidán kód 415 - Company is not active.

Přidána metoda listAllDailyStat() vracející statistiky všech inzerátů daného klienta za konkrétní den.

Možnost zadat nové nepovinné parametry pro výtah (atribut elevator) a datum prohlídky do (atribut first_tour_date_to). Všechny tyto nové atributy jsou nepovinné a tudíž jejich absence neohrozí export dat do systému PrazskeReality.cz.

Upraven parametr bezbariérový přístup (atribut easy_access) se zachováním zpětné kompatibility k předešlým stavům. Stav false a true automaticky přetypován na 0 a 1. Přibyla hodnota číselníku 2 jejíž pomocí lze explicitně říci bez bezbariérového přístupu.

Možnost zadat parametry pro energetický štítek náročnosti budovy pomocí 4 nepovinných atributů inzerátu. Atributy jsou:

  • energy_efficiency_rating (číselník třídy A-G), energy_performance_summary (celkový ukazatel náročnosti kWh/m2 za rok), energy_performance_attachment (příloha ve formatu .pdf nebo .jpg), energy_performance_certificate (číselník odkazuje na platnou normu).

Při editaci hlavních položek (kdy nelze modifi kovat povinné položky) se nevrací chybový kód 452, ale nový chybový kód 484, viz kapitola 3.3. Hlavní položky jsou: advert_function (typ inzerátu) a advert_type (kategorie inzerátu).

Rozšíření výstupu pro metody listSellerStat, listDailyStat, listStat o atribut with_vat, který určuje zda ceny jsou s nebo bez DPH.

1.2 - Názvosloví

  • Klient - z pohledu importního rozhraní je klientem pobočka realitní kanceláře
  • password - heslo na import, heslo potřebné k přístupu, lze nastavit v admin webu
  • rkid - importní id, id z realitní kanceláře
  • seller - makléř RK
  • session - relace - časově omezený přístup na importní rozhraní iniciováno metodou login, ukončeno metodou logout
  • session_id - řetězec znaků a čísel, který identifiuje konkrétní importní session
  • software_key - SW klíč - řetězec, identifikující použitý software. Lze změnit přes obchodního zástupce
  • topování inzerátu - placené zvýhodnění pozice v hledání na webu PrazskeReality.cz

1.3 - Typy dat

Typ

Prázdná hodnota

Popis

int

0

celočíselný datový typ

double

0.0

číslo s plovoucí řádovou čárkou

bool

N/A

true nebo false, kompatibilní s int (0,1)

string

„“

řetězec tisknutelných znaků

date

00010101T00:00:00+0000

datum

datetime

00010101T00:00:00+0000

datum a čas

codebook

0

odpovídá typu int, jen má pojmenované hodnoty

multiselect

0 nebo ()

pole intů, každý prvek symbolizuje zaškrtnutou položku

base64

N/A

base64 encoded data, například obrázek

Prázdná hodnota je při vkládání nového objektu ekvivalentní zcela chybějící položce. Při editaci pomáhá zrušit vybranou položku, aby se neukazovala v detailu zakázky.
Poznámka: Typy date a datetime se přes XML-RPC protokol přenáší stejným typem datetime, pouze serverová strana ukládá u typu date jen část informace.

1.4 - Struktura odpovědi serveru

Všechny metody vrací strukturovaný výstup (asociativní pole), který tvoří položky output (výstupní datová struktura), status (kód chyby), statusMessage (chyba jako textový řetězec).

struct(

[status] => 200, [statusMessage] => ’OK’, [output] => array( )

)

Obecně platí, že význam návratových kódů je podobný jako u HTTP protokolu, tedy 2xx (kód je v intervalu 200-299) informuje o dobře dopadnuvší operaci. Vyšší kódy signalizují chybu, jejichž seznam je uveden v sekci 3.3

1.5 - Autorizace

Pro přihlášení se nejprve musí zavolat metoda getHash, která inicializuje session_id. Ta se používá pro autorizaci všech importních metod. Každá importní metoda s výjimkou metody getHash a version mají jako první parametr session_id, což je řetězec identifikující relaci, který se s každým autorizovaným přístupem mění!! To znamená, že předaná hodnota session_id je už v příštím požadavku neplatná. Pro jakýkoliv nový dotaz na importní rozhraní je tedy nutné vypočítat novou hodnotu session_id z naposledy platné hodnoty.

Poznámka: Relaci vyprší platnost, pokud se více jak 15 minut nepošle žádný autorizovaný požadavek.

Session_id se skládá z fixní a variabilní části. Fixní se vytvoří při volání metody getHash a zůstává stejná po celý čas relace. Jedná se o prvních 48 znaků sessionId. Variabilní část je vypočtena pomocí funkce MD5 běžně používanou na hashování dat, do které vstupuje současné session_id a heslo.

Postup výpočtu nového session_id:

fixedPart = session_id[0:48]
varPart = md5(session_id + md5(password) + software_key) session_id
= fixedPart + varPart

1.6 - Identifikace inzerátu, obecné vazby

Pro identifikaci slouží dva druhy id, dají se odlišit pomocí přípony:

_id - interní id v databázi - unikátní v celém univerzu
_rkid - id realitní kanceláře (RK), pod kterým jej zná klient - unikátní v rámci jednoho klienta, tedy jedné pobočky RK Takto se identifikují makléři, inzeráty, dev. projekty a fotografie.

Použití advert_rkid u metody addAdvert říká, že edituji inzerát, který odpovídá danému id. Pokud uvádím advert_rkid u metody addPhoto, říkám, že fotografii chci svázat s příslušným inzerátem.

Rozdíl v chování _id proti _rkid je patrný hlavně při přidávání.
Příklady dvou druhů adresací:

• advert_rkid předávám vždy naplněné. Pokud pod takovým id inzerát již existuje, jedná se o editaci, pokud ne, vytvoří se nový a přidělí se mu předané id.
• advert_rkid předávám vždy naplněné. Pokud pod takovým id inzerát již existuje, jedná se o editaci, pokud ne, vytvoří se nový a přidělí se mu předané id.
• advert_id posílám prázdné, pokud chci inzerát přidat a naplněné interním id inzerátu v případě editace.

1.7 - Zadávání lokality

Klasické zadání adresy znamená, co nejpřesněji uvést všechny položky týkající se adresy (locality_city - město, locality_street - ulice, locality_co - číslo orientační, locality_cp - číslo popisné). Adresa je ověřena proti databázi adres serveru mapy.cz a pokud není jednoznačně zadaná, vrací se chyba.

Díky tomuto ověření je adresa inzerátu validována a lze podle zadaných údajů spolehlivěji hledat, protože atributy jako kraj a okres, případně jiné nevyplněné atributy, jsou automaticky do- plněny na základě informací z map.

Zadání přes UIR-ADR nově i přes RUIAN-ADR celou věc zjednodušuje na pouhé získání detailů o zadaném RUIAN(UIR), které se vepíší do příslušných kolonek. Více informací je uvedeno níže v kapitole 1.7.

Důležité: Oba tyto způsoby vyžadují co nejpřesnější zadání adresy. Ale ne vždy je přesná šipka na mapě žádoucí. Proto lze zadat ještě atribut locality_inaccuracy_level, který říká jak moc je dobré znepřesnit adresu pro zobrazení na mapě.
Tento parametr má 3 možné hodnoty:

1. adresa je zobrazena přesně dle zadání;
2. adresa je o 1 stupeň znepřesněna, místo přesné adresy se ukazuje ulice, případně obec, podle toho, který nadřazený prvek je logicky nejblíže;
3. adresa je o 2 stupně znepřesněna, místo přesné adresy se ukazuje na mapách část města.

GPS souřadnice - Posledním druhem je zadání adresy přes GPS souřadnice (locality_longitude, locality_latitude). Používá se v situacích, kdy není ještě oblast zaměřena v mapách. Zadává se jako zeměpisná šířka a výška ve stupních. Minuty a vteřiny jsou vyjádřeny desetinnou částí. Předpokládá se vždy šířka severní a délka východní. Nevýhoda tohoto zadání spočívá v tom, že inzerát je svázán pouze s okresem a krajem, ale nikoliv s městem či ulicí, která je nejblíže. Inzerát je spolehlivě dohledatelný pouze pomocí funkce hledat v okolí.

Zahraniční nemovitosti: Importovat lze i zahraniční nemovitosti. V takovém případě je vhodné posílat s městem nejlépe i zemi, ve které se nachází. Jelikož se lokalita validuje proti databázi mapy.cz, jsme omezeni jen na Evropu.

Adresa UIR-ADR a RUIAN-ADR
Adresy je nutno specifikovat na město (případně městskou část), byty až na číslo popisné nebo číslo orientační. Ministerstvo práce a sociálních věcí ve spolupráci s obecními úřady udržuje registr adres všech stavebních objektů, které mají číslo domovní.

Česká pošta poskytuje pro adresy platná poštovní smeřovací čísla. Ministerstvo práce a sociálních věcí dává tento registr k dispozici veřejnosti. Kromě zpřístupnění dat registru na www stránkách MPSV (http://forms.mpsv.cz/uir/) je možno získat zdarma CD-ROM s daty a programy pro prohlížení a periodickou aktualizaci těchto dat. Informace o RUIAN kódu je možné získat na www adrese (http://www.ruian.cz). Při použití RUI- AN(UIR) kódu není nutno vyplňovat adresu, kromě případu, kdy RUIAN(UIR) kód není dostatečně podrobný, pak je možno adresu upřesnit textově. (Příklad: K bytu máme k dispozici RUIAN(UIR) kód na úrovni 5, je tedy potřeba doplnit položky locality_street, locality_cp. V případě, že bychom doplnili i locality_city, nebude bráno v potaz a naopak bude přepsáno hodnotou z RUIAN(UIR)).

Popis UIR se předává pomocí parametrů locality_uir (vlastní uir) a locality_uir_level (přesnost, typ). Popis RUIAN se předává pomocí parametrů locality_ruian (vlastní ruian) a locality_ruian_level (přesnost, typ). Odpovídající hodnoty parametrů locality_ruian_level resp. locality_uir_level naleznete v tabulce níže.

Název (locality_uir_level resp. locality_ruian_level)

Popis

Okres (1)

Číselník obsahuje veškeré okresy.

Obec (3)

Číselník obsahuje všechny obce. Z obce lze zjistit k jakému okresu patří.

Část obce (5)

Číselník obsahuje všechny části obce. Některé obce jsou jen částí hlavní obce. Zpětně lze dohledat obci a okres.

Ulice (7)

Číselník obsahuje všechny ulice. Zpětně lze dohledat obci a okres.

Objekt (9)

V číselníku je uvedena část obce, číslo popisné a případná městská část. Zpětně lze dohledat část obce a okres.

Adresa (11)

Z RUIAN-ADR(UIR-ADR) adresy lze kompletně dohledat celou adresu, tj. okres, obec část obce, městskou část, číslo popisné, číslo orientační a PSČ .

Městská část (17)

Obsahuje všechny městské části. Zpětně lze dohledat obec a okres.

Zadání lokality pomocí RUIAN parametrů má vyšší prioritu než-li zadání lokality pomocé UIR parametrů. V případě neúspěchu při získávání lokality pomocí RUIAN parametrů se server pokouší získat lokalitu pomocí UIR parametrů. Naopak v případě úspěchu pro RUIAN vstupní parametry server ignoruje UIR parametry.

1.8 - Vkládání videoprohlídek

PrazskeReality.cz podporují vkládání videozáznamů do inzerátů a developerských projektů ve spolupráci se službou youtube.com. Vždy maximálně jedno video na inzerát/projekt. Každé uploadované video se musí vždy nejdříve zpracovat, což znamená převést do různých kvalit a připravit tak výdej pro přehrávač. Doba zpracování každého videa se mění od tří do deseti minut v závislosti na délce videozáznamu a také na denní době. Než se video překóduje do příslušných kvalit pro naše přehrávače, tak video nelze vidět ani ho modifikovat. Pokud překódování trvá déle jak hodinu, dostává video příznak Timeout a nadále se s nim už na Prazských Realitách nepočítá.

Uploadované video tedy není v detailu inzerátu či developerského projektu vidět ihned po zveřejnění, ačkoliv inzerát už zveřejněný je a všechny fotografie jsou již přístupné. Pro exportní softwary proměnlivá délka zpracování znamená, že se nedozví výsledek operace. 200 OK u addVideo znamená, že se povedlo vložit video do fronty požadavků ke zpracování. Nepodporovaný formát případně jinou chybu je možné získat až s časovým odstupem, což není št’astné pro automatizované nástroje.

Doporučený postup je stejný jako při práci s fotografiemi. V rámci aktualizace nabídky nejdříve zjistit již přítomné videoprohlídky (listVideo) a následně přidat, resp. odebrat videozáznam podle zjištěných rozdílů (addVideo, resp. delVideo).

Maximální velikost video souboru je 150MB, podporované formáty lze dohledat na v kapitole 3.5. Zjednodušeně se dá říct, že se podporují všechny formáty knihovny ffmpeg.

2 - Metody

2.1 - Autorizační metody

2.1.1 - getHash( client_id as int )

Získání řetězce zvaného sessionId, který je použit pro hashování hesla.

Metoda slouží k získání řetězce pro hashování hesla. Po zavolání s existujícím client_id je vrácen status 200 a v output je sessionId a hashovací klíč. Volá se vždy na začátku relace.

struct {

int status => Status (200 = Ok; 402 = nexistující klient)

string statusMessage => Slovní popis statusu

array struct output(

string sessionId => Identifikace spojení

)

}

2.1.2 - login( session_id as string )

Potvrzení přihlášení.

Metoda login potvrdí session jako autorizovanou. V kladném případě se ověří, že výpočet nového session_id odpovídá očekávání na straně serveru.

Metodě login se předávají parametry session_id z metody getHash. Pozor, session_id už musí být přepo- čítáno pomocí vzorečku. Softwarový klíč je přidělen administrátorem pražských realit zvlášt’ pro každého klienta (RK) v závislosti na použitém export- ním software. Nazpět je vrácen status úspěšnosti.

Poznámka:  Bez úspěšně dokončené metody login je celá importní relace ve stavu nepřihlášen a tedy nelze v exportu zakázek pokračovat.

Vrací-li metoda opakovaně 407 Bad session je špatně zadané heslo, importní klíč a nebo client_id u klienta nebo na importním serveru. Je třeba zkontrolovat tyto údaje. Heslo na import si nastavuje klient sám, import- ní klíč lze měnit přes obchodního zástupce, clientid bylo fi rmě přiděleno.

struct {

int status => Status ( 200=OK 402=Neexistujici klient 405=Neplatný klič softwaru 407=Neplatné přihlášení)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.1.3 - logout( session_id as string )

Odhlášení.

struct {

int status => Status ( 200=Odhlášení je OK)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.2 - Správa inzerátů

2.2.1 - addAdvert( session_id as string, advert_data as struct )

Přidání / editace inzerátu.

Metodě se předává slovník advert_data, který v sobě nese veškeré číselníkové i nečíselníkové údaje o inzerátu. Možné atributy inzerátu jsou vypsány v tabulce 1 v kapitole 3.1. Pokud chybí povinná položka, addAd- vert končí s chybou. Pozor, některé položky jsou povinné v závislosti na typu (kategorii) inzerátu.

Pozor, datová struktura advert_data nemusí obsahovat všechny předepsané atributy, jsou vyžadovány pouze povinné atributy. Pokud atribut není ve slovníku obsazen, server odpovídající položku nechává nedotčenou. Tedy nemění samovolně její hodnotu.

Metoda vrací status a advert_id, které je vhodné si uchovat pro další operace s uloženým inzerátem. Pokud je vyplněn parametr advert_rkid, musí být v rámci inzerce konkrétního klienta unikátní. Tento parametr obsahuje vlastní identifikátor inzerátu a tento identifikátor lze v budoucnu použít pro práci s inzerátem přes importní rozhraní, kde plně zastupuje advert_id. Editace inzerátu se zajistí vyplněním advert_id již uloženého inzerátu, nebo je možno zadat existující advert_rkid (viz kapitola 1.6). Adresu inzerátu lze vyplnit více způsoby: klasické zadání, RUIAN(UIR-ADR), GPS souřadnice, viz kapitola 1.7.

Poznámka: Pokud zadáte cenu 0 nebo 1, bude místo ceny zobrazeno Info o ceně u RK.

struct {

int status => Status ( 200=OK, 404=Inzerat pro tuto RK neexistuje, 407=Neplatné přihlášení, 452=Nekompletní data k inzeratu, 455=Nevalidní textová položka inzerátu, 461=Makléř neexistuje, 484=Hlavní položky již není možné modifikovat, 491=Projekt neexistuje, 901=Dosažen maximální počet inzerátů dle inzertního balíčku)

string statusMessage => Slovní popis statusu.

array struct output (int advert_id => Číslo inzerátu)

}

Metoda addAdvert při zpracování vstupních parametrů kontroluje maximální počet znaků a detekuje nevhodná slova u některých textových položek. V případě neúspěšné kontroly vrací metoda addAdvert status kód 455. V tabulce uvedené níže je výčet textových položek u kterých probíhá kontrola během zpracování inzerátu:

Název textové položky

Max. počet znaků

Detekce nevhodných slov

description

3000

ano

description_en

3000

ano

description_ru

3000

ano

2.2.2 - delAdvert( session_id as string, advert_id as int, advert_rkid as string )

Vymazání inzerátu.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Uložené fotografie u inzerátu a statistiky budou smazány. Pokud inzerát neexistuje bude vrácen status OK (200).

Poznámka: Inzeráty nejsou smazány ihned po zavolání této metody, aktuálně se drží ještě po dobu 21 dní než se opravdu smažou.

struct {

int status => Status ( 200=OK, 407=Neplatné přihlášení, 452=Nejsou vyplněny všechny povinné položky nebo jsou špatného typu)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.2.3 - listAdvert( session_id as string )

Výpis všech inzerátů přihlášené realitní kanceláře.

V output je vráceno pole, kde každý prvek pole obsahuje strukturu (viz níže). Inzeráty jsou seřazeny podle pořadí vložení.

struct {

int status => Status ( 200=OK, 407=Neplatné přihlášení, 452=Nejsou vyplněny všechny povinné položky nebo jsou špatného typu)

string statusMessage => Slovní popis statusu.

array struct output (

int advert_id => číslo inzerátu,

string advert_rkid => interní číslo realitky,

string advert_url => odkaz na detail inzerátu na serveru,

int advert_type => druh inzerátu (byty, pozemky...) podle dokumentace,

string hash_id => veřejné číslo inzerátu,

string modified => datum poslední editace(format datumu: YYYY-MM-DD),

int published => 1=inzerát zveřejněný, 0=inzerát nezveřejněný,

int published_status => status kód - důvod nezveřejnění inzerátu(viz Status kódy inzerátu),

int top => inzerát je/není dnes zvýhodněn[0/1]

)

}

2.2.4 - topAdvert( session_id as string, advert_id as int, advert_rkid as string )

Nastavit zvýhodnění inzerátu pro aktuální den.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Zvýhodnění inzerátu (tzv. topování) je možnost inzerát umístit do horních pozic ve výpise inzerátu. Topování je zpoplatněno dle aktuálního ceníku. Inzerát lze „topovat“ jen jednou denně nebo dle aktuálních podmínek. Nelze topovat v den vložení inzerátu, ani pokud není inzerát zveřejněn. Také inzerát označený jako duplicitní s nesmazaným originálem nelze zvýhodnit. Nelze zvýhodnit (topovat) nezveřejněný nebo neschválený inzerát.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

452 = nejsou vyplněny všechny položky nebo jsou špatného typu

477 = Nelze topovat v den vložení

478 = Nelze zvýhodnit(topovat) inzerát označený jako duplicitní

479 = Nelze topovat nezveřejněný inzerát

482 = Dnes již byl inzerát zvýhodněn

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.3 - Správa fotek u inzerátů

2.3.1 - addPhoto( session_id as string, advert_id as int, advert_rkid as string, data as struct )

Vložení fotografie k již uloženému inzerátu.

Vstupními parametry jsou advert_id nebo advert_rkid a struktura data:

struct data

binary data => vlastní obrázek

int main => 1 = hlavní fotka, 0 = ostatní

int order => nepovinné pořadí v rámci vedlejších fotek

string alt => nepovinný údaj, popisek obrázku

int photo_id => nepovinný údaj, interní id fotky

string photo_rkid => nepovinný údaj, rkid fotky

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Výstupem je photo_id, které je vhodné si uložit pro mazání fotky. Pokud je vkládána vedlejší fotografie, a přitom není u inzerátu žádná, stává se tato automaticky hlavní fotografií. Pokud je vkládána hlavní fotografie, a přitom u inzerátu již jedna je, stane se vložená fotka fotkou hlavní. Minimální rozlišení fotografie je 320x240 a maximální velikost souboru je 5 MB. Pro publikování inzerátu není nutné vkládat fotografie, takovýto inzerát bude zobrazen s tzv. no-image obrázkem. Maximální počet fotografií je 100. Po překročení této velikosti server vrací chybu a fotografii nezpracuje. Je možné obrázek pouze editovat, což znamená, že se nepřikládá vlastní obrázek, pouze se editují jeho parametry (hlavní, pořadí, popisek).

Pro snadnější orientaci se dá vložit photo_rkid, pomocí kterého se později fotka adresuje.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

410 = Obrázek je příliš velký

412 = Šířka nebo výška obrázku je příliš malá

450 = Fotka patří k jinému inzerátu

451 = Fotku nelze přidat jelikož je duplicitní

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

476 = Není to JPEG/GIF/PNG obrázek

)

string statusMessage => Slovní popis statusu.

array struct output (

int photo_id => číslo fotografie

)

}

2.3.2 - delPhoto( session_id as string, photo_id as int, photo_rkid as string ) Vymazání fotografie.

Pomocí photo_id nebo photo_rkid se identifikuje fotografie (viz kapitola 1.6). Pokud je mazána hlavní fotografie, hlavní se automaticky stane první vedlejší. Pokud fotografie neexistuje bude vrácen status OK (200).

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.3.3 - listPhoto( session_id as string, advert_id as int, advert_rkid as string ) Výpis fotografie existujícího inzerátu.

Pomocí advert_id nebo advert_rkid se identifikuje makléř (viz kapitola 1.6). V output je vráceno pole, kde každý prvek pole obsahuje strukturu (viz níže). Fotografie jsou seřazeny podle pořadí (atribut order) a v tomto pořadí se ukazují i na webu.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output (

int photo_id => interní id fotografie

string photo_rkid => id fotografie realitky

int main => hlavní fotografie (1 = ano, 0 = ne)

int order => pořadí (0 = na konci, 1 = hlavní, 2...50 = pořadí

)

}

2.4 - Správa videoprohlídek u inzerátů

2.4.1 - addVideo( session_id as string, advert_id as int, advert_rkid as string, data as struct )

Vložení videoprohlídky k již uloženému inzerátu.

struct {

string video_name => Nepovinný údaj, orientační pojmenování videa

int video_order => Nepovinný údaj, pořadí videa

binary video_data => Povinná data, vlastní datový záznam

}

Vstupními parametry jsou advert_id nebo advert_rkid a struktura video_data obsahuje vlastní video. Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Nepovinný údaj video_name se používá pouze k internímu označení videa. Objevuje se pouze při volání metody listVideo, není zveřejněn.

Maximální velikost datového záznamu je 150MB. Po překročení této velikosti server vrací chybu a video nezpracuje. Zpracování je blíže popsáno v kapitole 1.8, podporované formáty lze nalézt v kapitole 3.5.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

413 = Příliš velký video soubor

420 = Aktuální video se stále zpracovává

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output { int video_id => id videa}

}

2.4.2 - delVideo( session_id as string, advert_id as int, advert_rkid as string, video_id as int)

Vymazání videoprohlídky.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Pomocí video_id se identifikuje video. Položka není povinná a bez jejího vyplnění se smaže první video. Pokud video neexistuje, bude vrácen status OK (200)

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neplatné přihlášení,

420 = Aktuální video se stále zpracovává

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.4.3 - listVideo( session_id as string, advert_id as int, advert_rkid as string )

Získání informací o videoprohlídkách existujícího inzerátu.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). V output je vráceno pole, které má 0-1 prvků.

Prázdné pole se vrací v případě, že inzerát nemá u sebe žádné video.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output (

string video_name => symbolické jméno vložené v addVideo

int video_state => stav zpracování videa

int video_length => délka zpracovaného video v sekundách

)

}

2.4.4 - addVideoPhoto( session_id as string, advert_id as int, advert_rkid as string, data as struct )

Vložení fotografie k videu

Vstupními parametry jsou advert_id nebo advert_rkid a struktura data:

struct data {

binary data => Vlastní obrázek

int video_id => id videa

}

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Pomocí video_id se identifikuje video. Minimální rozlišení fotografie je 480x360

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.5 - delVideoPhoto( session_id as string, advert_id as int, advert_rkid as string, data as struct )

Vymazání fotografie k videu

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). Pomocí video_id se identifikuje video.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.6 - setVideoOrder( session_id as string, advert_id as int, advert_rkid as string, data as array )

Nastavení pořadí videí. Je potřeba uvést všechna videa, která jsou k inzerátu přiřazena

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6).

array data [

id_videa1, id_videa2, id_videa3, ...

]

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.7 - listVideos( session_id as string, advert_id as int, advert_rkid as string)

Získání informací o videoprohlídkách existujícího inzerátu.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6). V output je vráceno pole. Prázdné pole se vrací v případě, že inzerát nemá u sebe žádné video.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output (

string video_name => symbolické jméno vložené v addVideo

int video_state => stav zpracování videa

int video_length => délka zpracovaného videa v sekundách

int video_id => id videa

int video_order => pořadí videa číslované od 0

int video_image => náhled na fotografii, která se bude zobrazovat jako úvodní fotografie videa

int video_description => popis videa

)

}

Následující tabulka ukazuje stavy atributu video_state:

video_state

Popis

0

Video se zpracovává

1Video je v pořádku, připraveno k přehrávání v detailu inzerátu na webu
2Nepodporovaný formát videa, více v tabulce v kapitole 3.5
3Selhalo zpracování videa

2.5 - Správa makléřů

2.5.1 - addSeller( session_id as string, seller_id as int, seller_rkid as string, client_data as struct )

Přidání nového makléře.

Aby makléř byl vložen, je potřeba vyplnit povinné položky v rámci struktury client_data.

struct client_data{

string client_login => emailový účet, kterým se dá přihlásit na prazskereality.cz,

string client_domain => nepovinný údaj, doména pro login. Lze ji uvést přímo do client_login,

string client_name => jméno makléře,

string contact_gsm => mobil makléře

string contact_gsm_code => nepovinný údaj, mezinárodní předvolba makléře,

string contact_phone =>nepovinný údaj telefon,

string contact_phone_code =>nepovinný údaj mezinárodní předvolba,

string contact_email => nepovinný údaj, kontaktní email se může lišit

string makléř_note => nepovinný údaj, poznámka

string broker_specialization => nepovinný údaj, specializace makléře

binary photo => nepovinný údaj, obrázek makléře

}

Pomocí seller_id nebo seller_rkid se identifikuje makléř (viz kapitola 1.6). Při vkládaní inzerátu, pokud má vlastního makléře, je tedy na výbeř mezi seller_rkid a seller_id. Ostatní položky ze struktury client_data jako contact_phone (telefon), makléř_note (poznámka makléře), broker_specialization (specializace makléře) a photo (fotografi e makléře) jsou nepovinné. U korektně vloženého makléře je získáno seller_id číslo.

struct {

int status => Status (

200 = OK,

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

461 = Makléř neexistuje

462 = Login makléře je již použit

476 = Není to JPEG/PNG obrázek

)

string statusMessage => Slovní popis statusu.

array struct output (

int seller_id => číslo makléře

)

}

2.5.2 - delSeller( session_id as string, seller_id as int, seller_rkid as string )

Odebrání existujícího makléře.

Odstranění proběhne při vyplnění seller_id nebo seller_rkid. Pomocí seller_id nebo seller_rkid se identifikuje makléř (viz kapitola 1.6).

struct {

int status => Status (

200 = OK,

407 = Neplatné přihlášení

461 = Makléř neexistuje

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.5.3 - listSeller( session_id as string )

Výpis makléřů.

V output je vráceno pole, kde každý prvek pole obsahuje strukturu (viz níže). Makléři jsou seřazeny podle pořadí vložení.

struct {

int status => Status (

200 = OK,

407 = Neplatné přihlášení

)

string statusMessage => Slovní popis statusu.

array struct output (

int seller_id => číslo makléře

string seller_rkid => interní číslo rk makléře

string client_name => jméno a přijmení makléře

string client_login => login(email) makléře

int photo => fotografie[1 - ano; 0 - ne]

)

}

2.6 - Správa developerských projektů

2.6.1 - addProject( session_id as string, project_data as struct ) Přidání nového developerského projektu.

Metodě se předává slovník project_data, který v sobě nese veškeré číselníkové i nečíselníkové údaje o projektu. Tyto atributy naleznete v tabulce 2 v kapitole 3.2. Pokud chybí povinná položka, addProject končí s chybou.

Metoda vrací status a project_id, které je dobré si uchovat pro další operace s uloženým projektem. Pokud je vyplněn parametr project_rkid, musí být v rámci inzerce konkrétního klienta unikátní. Tento parametr obsahuje vlastní identifikátor projektu a tento identifikátor lze v budoucnu použít pro práci s projektem přes importní rozhraní, kde plně zastupuje project_id. Editace projektu se zajistí vyplněním project_id již uloženého projektu, nebo je možno zadat existující project_rkid (viz kapitola 1.6). Adresu projektu lze vyplnit více způsoby: klasické zadání, RUIAN(UIR-ADR), GPS souřadnice (viz kapitola 1.7).

Poznámka: Atribut developer_ic (IČ developerské společnosti), který je povinný a slouží ke svázání projektu s developerem, se kontroluje, zda IČ developera bylo evidováno v systému. Registrace developera do systému není přes importní rozhraní možná. Pouze přes obchodního zástupce.

Metoda addProject při zpracování vstupních parametrů kontroluje maximální počet znaků a detekuje nevhodná slova u některých textových položek. V případě neúspěšné kontroly vrací metoda addProject status kód 455. V tabulce uvedené níže je výčet textových položek u kterých probíhá kontrola během zpracování projektu:

Název textové položky

Max. počet znaků

Detekce nevhodných slov

project_name

200

ano

annotation

250

ano

description

2800

ano

locality_description

1400

ano

struct {

int status => Status (

200 = OK,

404 = Projekt nenalezen

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

455 = Nevalidní textová položka

471 = IČ developera nenalezeno

)

string statusMessage => Slovní popis statusu.

array struct output (

int seller_id => číslo makléře

int project_id => Číslo projektu

)

}

2.6.2 - delProject( session_id as string, project_id as int, project_rkid as string )

Odebrání existujícího developerského projektu.

Pomocí project_id nebo project_rkid se identifi kuje projekt (viz kapitola 1.6), který má být smazán. Uložené fotografi e u projektu budou smazány.

struct {

int status => Status (

200 = OK,

404 = Projekt nenalezen

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.6.3 - listProject( session_id as string )

Výpis developerských projektů.

V output je vráceno pole, kde každý prvek pole obsahuje strukturu (viz níže). Projekty jsou seřazeny podle pořadí vložení.

struct {

int status => Status (

200 = OK,

407 = Neplatné přihlášení

)

string statusMessage => Slovní popis statusu.

array struct output (

int project_id => Číslo projektu

string project_rkid => Interní číslo realitky

string project_name => název projektu

)

}

2.7 Správa fotek u developerských projektů

2.7.1 addProjectPhoto( session_id as string, project_id as int, project_rkid as string, data as struct )

Vložení fotografie k již uloženému developerskému projektu.

Vstupními parametry jsou project_id nebo project_rkid a struktura data.

struct data{

binary data => vlastní obrázek

int main => 1 = hlavní, 0 = ostatní

int order => nepovinné pořadí v rámci vedlejších fotek

string alt => nepovinný údaj, popisek obrázku

int photo_id => nepovinný údaj, interní id fotky

string photo_rkid => nepovinný údaj, id fotky realitky

}

Pomocí project_id nebo project_rkid se identifikuje projekt (viz kapitola 1.6). Výstupem je photo_id, které je výhodné si uložit pro mazání fotky. Pokud je vkládána vedlejší fotografie, a přitom není u projektu žádná, stává se tato automaticky hlavní fotografií. Pokud je vkládána hlavní fotografie, a přitom u projektu již jedna je, stane se vložená fotka fotkou hlavní. Minimální rozlišení fotografie je 320x240 a maximální velikost souboru 5 MB. Po překročení této velikosti server vrací chybu a fotografii nezpracuje.

Je možné obrázek pouze editovat, což znamená, že se nepřeukládá vlastní obrázek, pouze se editují jeho parametry (hlavní, pořadí, popisek).

Pro snadnější orientaci se dá vložit photo_rkid, pomocí kterého se později fotka adresuje.

struct {

int status => Status (

200 = OK

404 = Projekt nebo fotografie neexistuje

407 = Neplatné přihlášení

410 = Obrázek je příliš velký

412 = Šířka nebo výška obrázku je příliš malá

450 = Fotka patří k jinému projektu

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

476 = Není to JPEG/GIF/PNG obrázek

)

string statusMessage => Slovní popis statusu.

array struct output (

int photo_id => Číslo fotografie

)

}

2.7.2 delProjectPhoto( session_id as string, photo_id as int, photo_rkid as string )

Vymazání fotografie.

Pomocí photo_id nebo photo_rkid se identifikuje fotografie (viz kapitola 1.6). Pokud je mazána hlavní fotografie, hlavní se automaticky stane první vedlejší. Pokud fotografie neexistuje bude vrácen status OK (200).

struct {

int status => Status (

200 = OK

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.7.3 listProjectPhoto( session_id as string, project_id as int, project_rkid as string )

Výpis fotografie existujícího developerského projektu.

Pomocí project_id nebo project_rkid se identifikuje projekt (viz kapitola 1.6). V output je vráceno pole, kde každý prvek pole obsahuje strukturu (viz níže). Fotografie jsou seřazeny podle pořadí (atribut order) a v tomto pořadí se ukazují i na webu.

struct {

int status => Status (

200 = OK

404 = Projekt nebo fotografie neexistuje

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output (

int photo_id => Číslo fotografie

string photo_rkid => id fotografie realitky

int main => hlavní fotografie(1 = ano, 0 = ne)

int order => pořadí(0 = na konci, 1 = hlavní, 2..50 = pořadí)

)

}

2.8 - Správa videoprohlídek u developerských projektů

2.8.1 - addProjectVideo( session_id as string, project_id as int, project_rkid as string, data as struct )

Vložení videoprohlídky k již uloženému developerskému projektu.

struct {

string video_name => Nepovinný údaj, orientační pojmenování videa

int video_order => Nepovinný údaj, pořadí videa

binary video_data => Povinná data, vlastní datový záznam

}

Vstupními parametry jsou project_id nebo project_rkid a struktura video_data obsahuje vlastní video. Pomocí advert_id nebo advert_rkid se identifikuje projekt (viz kapitola 1.6). Nepovinný údaj video_name se používá pouze k internímu označení videa. Objevuje se pouze při volání metody listProjectVideo, není zveřejněn.

Maximální velikost datového záznamu je 150MB. Po překročení této velikosti server vrací chybu a video nezpracuje. Zpracování je blíže popsáno v kapitole 1.8.

struct {

int status => Status (

200 = OK,

404 = Projekt nenalezen

407 = Neplatné přihlášení

413 = Příliš velký video soubor

420 = Aktuální video se stále zpracovává

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.8.2 - delProjectVideo( session_id as string, project_id as int, project_rkid as string, video_id as int )

Vymazání videoprohlídky.

Pomocí project_id nebo project_rkid se identifikuje dev. projekt (viz kapitola 1.6). Pomocí video_id se identifikuje video. Položka není povinná a bez jejího vyplnění se smaže první video. Pokud video neexistuje, bude vrácen status OK (200)

struct {

int status => Status (

200 = OK

404 = Projekt nenalezen

407 = Neplatné přihlášení

420 = Aktuální video se stále zpracovává

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output ()

}

2.8.3 - listProjectVideo( session_id as string, project_id as int, project_rkid as string )

Získání informací o videoprohlídkách existujícího developerského projektu. Pomocí project_id nebo project_rkid se identifikuje dev. projekt (viz kapitola 1.6).

V output je vráceno pole, které má 0-1 prvků. Prázdné pole se vrací v případě, že projekt nemá u sebe žádné video.

struct {

int status => Status (

200 = OK

404 = Projekt nenalezen

407 = Neplatné přihlášení

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

string statusMessage => Slovní popis statusu.

array struct output (

string video_name => symbolické jméno vložené v addProjectVideo

int video_state => Stav zpracování videa

int video_length => Délka zpracovaného videa v sekundách

)

}

2.8.4 - addProjectVideoPhoto( session_id as string, project_id as int, project_rkid as string, data as struct )

Vložení fotografie k videu

Vstupními parametry jsou project_id nebo project_rkid a struktura data:

struct data {

binary data => Vlastní obrázek

int video_id => id videa

}

Pomocí project_id nebo project_rkid se identifikuje inzerát (viz kapitola 1.6). Pomocí video_id se identifikuje video. Minimální rozlišení fotografie je 480x360

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.5 - delProjectVideoPhoto( session_id as string, project_id as int, project_rkid as string, data as struct )

Vymazání fotografie k videu

Pomocí project_id nebo project_rkid se identifikuje inzerát (viz kapitola 1.6). Pomocí video_id se identifikuje video.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.6 - setProjectVideoOrder( session_id as string, project_id as int, project_rkid as string, data as array )

Nastavení pořadí videí. Je potřeba uvést všechna videa, která jsou k inzerátu přiřazena

Pomocí project_id nebo project_rkid se identifikuje inzerát (viz kapitola 1.6).

array data [

id_videa1, id_videa2, id_videa3, ...

]

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output ()

}

2.4.7 - listProjectVideos( session_id as string, project_id as int, project_rkid as string)

Získání informací o videoprohlídkách existujícího projektu.

Pomocí project_id nebo project_rkid se identifikuje inzerát (viz kapitola 1.6). V output je vráceno pole. Prázdné pole se vrací v případě, že inzerát nemá u sebe žádné video.

struct {

int status => Status (

200 = OK,

404 = inzerát nenalezen,

407 = neautorizovaný přístup

452 = Nejsou vyplněny všechny povinné položky nebo jsou špatného typu

)

array struct output (

string video_name => symbolické jméno vložené v addVideo

int video_state => stav zpracování videa

int video_length => délka zpracovaného videa v sekundách

int video_id => id videa

int video_order => pořadí videa číslované od 0

int video_image => náhled na fotografii, která se bude zobrazovat jako úvodní fotografie videa

int video_description => popis videa

)

}

Stavy atributu video_state lze najít v kapitole 2.4

2.9 - Čtení statistik

2.9.1 - listStat( session_id as string, advert_id as array, advert_rkid as array )

Výpis statistiky inzerátu / inzerátů.

Výpis je závislý na vyplněných vstupních parametrech. Pro výpis statistiky všech inzerátů, je advert_id i advert_rkid odesláno jako prázdné pole. Pokud je vyplněno pole advert_id, vypíší se jen uvedené inzeráty. Stejné je tomu i u advert_rkid. Oba parametry se dají kombinovaně použít, vždy musí oba obsahovat stejný počet prvků. Při vyplnění advert_id se ignorují hodnoty v advert_rkid, advert_id je preferováno (viz kapitola 1.6).

struct {

int status => Status (

200 = OK

407 = Neplatné přihlášení

)

string statusMessage => Slovní popis statusu.

array struct output (

int advert_id => číslo inzerátu

string rkid => číslo inzerátu realitní kanceláře

int total_views => Celková návštěvnost

double total_price => celkové náklady

string advert_code => id zakázky

double topped_price => strženo za zvýhodnění inzerátu

double advert_price => strženo za běžnou inzerci

int top => inzerát byl/nebyl zvýhodněn [0,1]

int with_vat => ceny jsou s DPH nebo bez DPH [0, 1]

)

}

2.9.2 - listDailyStat( session_id as string, advert_id as int, advert_rkid as string )

Výpis denní statistiky inzerátu.

Pomocí advert_id nebo advert_rkid se identifikuje inzerát (viz kapitola 1.6).

struct {

int status => Status (

200 = OK

407 = Neplatné přihlášení

)

string statusMessage => Slovní popis statusu.

array struct output (

string date => datum dne

int views => počet shlédnutí

double price => stržená cena

double topped_price => strženo za zvýhodnění inzerátu

int with_vat => ceny jsou s DPH nebo bez DPH [0, 1]

)

}

2.9.3 - listAllDailyStat( session_id as string, date as string )

Výpis statistiky všech inzerátů daného klienta za konkrétní den určený parametrem date.

struct {

int status => Status (

200 = OK

407 = Neplatné přihlášení

)

string statusMessage => Slovní popis statusu.

array struct output (

int advert_id => číslo inzerátu

string rkid => číslo inzerátu realitní kanceláře

int views => návštěvnost

double advert_price => strženo za běžnou inzerci

double topped_price => strženo za zvýhodnění inzerátu

double total_price => celkové náklady

int top => inzerát byl/nebyl zvýhodněn [0,1]

int with_vat => ceny jsou s DPH nebo bez DPH [0, 1]

)

}

2.9.4 - listSellerStat( session_id as string, seller_id as int, seller_rkid as string, from as datetime, till as datetime )

Výpis denních statistik inzerátů jednoho makléře. Čas je zadán uzavřeným intervalem(from, till). Pomocí seller_id nebo seller_rkid se identifikuje inzerát (viz kapitola 1.6).

struct {

int status => Status (

200 = OK

407 = Neplatné přihlášení

)

array struct output (

string date => den ke kterému jsou vztažena následující čísla

int advert_count => počet inzerátu makléře pro aktuální den

int views => počet shlédnutí inzerátu makléře

double advert_price => platba za zveřejnění inzerátu

double topped_price => platba za topovací operace

double total_price => součet za inzerci a topování pro aktuální den

int with_vat => ceny jsou s DPH nebo bez DPH [0, 1]

)

}

2.10 - Metoda dostupná bez přihlášení

2.10.1 - version()

Výpis verze importu.

struct {

int status => Status (

200 = OK

)

string statusMessage => Slovní popis statusu.

array struct output (

string version

)

}

3 - Datové struktury a číselníky

3.1 - Atributy a číselníky inzerátu

V následující tabulce jsou jednotlivé atributy řazeny tak, že nahoře jsou vyjmenované povinné položky a dole nepovinné.

Tabulka 1: Seznam atributů inzerátu (metoda addAdvert)

Název

Typ

Popis

Povinný

advert_function

codebook

Typ

vždy

 

1

Prodej

 

 

2

Pronájem

 

 

3

Dražby

 

advert_lifetime

codebook

Datum do

vždy

 

1

7 dní

 

 

2

14 dní

 

 

3

30 dní

 

 

8

45 dní

 

 

4

90 dní

 

advert_price

double

Cena

vždy

advert_price_currency

codebook

Měna

vždy

 

1

Kč

 

 

2

USD

 

 

3

EUR

 

advert_price_unit

codebook

Jednotka

vždy

 

1

za nemovitost

 

 

2

za měsíc

 

 

3

za m2

 

 

4

za m2/měsíc

 

 

5

za m2/rok

 

 

6

za rok

 

 

7

za den

 

 

8

za hodinu

 

 

9

za m2/den

 

 

10

za m2/hodinu

 

advert_type

codebook

Kategorie

vždy

 

1

Byty

 

 

2

Domy

 

 

3

Pozemky

 

 

4

Komerční

 

 

5

Ostatní

 

description

string

Popis

vždy

locality_city

string

Město

vždy

locality_inaccuracy_level

int

Úroveň znepřesnění adresy

vždy

advert_id

int

ID interní

pokud zadáno, musí být advert_rkid

 

 

 

prázdné

advert_rkid

string

ID pro import

pokud zadáno, musí být advert_id

 

 

 

prázdné

advert_room_count

codebook

Velikost

povinné pro Domy

 

1

1 pokoj

 

 

2

2 pokoje

 

 

3

3 pokoje

 

 

4

4 pokoje

 

 

5

5 a více pokojů

 

 

6

Atypický

 

advert_subtype

codebook

Podkategorie

povinné, platí však vždy jen pro jednu kategorii

 

2

1+kk

Byty

 

3

1+1

Byty

 

4

2+kk

Byty

 

5

2+1

Byty

 

6

3+kk

Byty

 

7

3+1

Byty

 

8

4+kk

Byty

 

9

4+1

Byty

 

10

5+kk

Byty

 

11

5+1

Byty

 

12

6 a více

Byty

 

16

Atypický

Byty

 

18

Komerční

Pozemky

 

19

Bydlení

Pozemky

 

20

Pole

Pozemky

 

21

Lesy

Pozemky

 

22

Louky

Pozemky

 

23

Zahrady

Pozemky

 

24

Ostatní

Pozemky

 

25

Kanceláře

Komerční

 

26

Sklady

Komerční

 

27

Výroba

Komerční

 

28

Obchodní prostory

Komerční

 

29

Ubytování

Komerční

 

30

Restaurace

Komerční

 

31

Zemědělský

Komerční

 

32

Ostatní

Komerční

 

33

Chata

Domy

 

34

Garáž

Ostatní

 

35

Památka/jiné

Domy

 

36

Ostatní

Ostatní

 

37

Rodinný

Domy

 

38

Činžovní dům

Komerční

 

39

Vila

Domy

 

40

Na klíč

Domy

 

43

Chalupa

Domy

 

44

Zemědělská usedlost

Domy

 

46

Rybníky

Pozemky

 

47

Pokoj

Byty

 

48

Sady/vinice

Pozemky

 

49

Virtuální kancelář

Komerční

 

50

Vinný sklep

Ostatní

 

51

Půdní prostor

Ostatní

 

52

Garážové stání

Ostatní

 

53

Mobilheim

Ostatní

apartment_number

int

Číslo bytové jednotky

validní pouze u bytu

balcony

bool

Balkón

povinné pro Byty

basin

bool

Bazén

povinné pro Domy

building_condition

codebook

Stav objektu

povinné pro Byty, Domy, Ostatní,

 

1

Velmi dobrý

Komerční

 

2

Dobrý

 

 

3

Špatný

 

 

4

Ve výstavbě

 

 

5

Projekt

 

 

6

Novostavba

 

 

7

K demolici

 

 

8

Před rekonstrukcí

 

 

9

Po rekonstrukci

 

building_type

codebook

Stavba

povinné pro Byty, Domy, Ostatní,

 

1

Dřevostavba

Komerční

 

2

Cihlová

 

 

3

Kamenná

 

 

4

Montovaná

 

 

5

Panelová

 

 

6

Skeletová

 

 

7

Smíšená

 

 

8

Modulární

 

cellar

bool

Sklep

povinné pro Byty, Domy

estate_area

int

Plocha pozemku

povinné pro Pozemky, Domy

floor_number

int

Patro

povinné pro Byty

garage

bool

Garáž

povinné pro Byty, Domy,

 

 

 

Komerční

locality_latitude

double

Zeměpisná šířka

validní pouze s locality_longitude

locality_longitude

double

Zeměpisná délka

validní pouze s locality_latitude

locality_ruian

int

RUIAN lokality

validní pouze

 

 

 

s locality_ruian_level

locality_ruian_level

int

RUIAN-level lokality

validní pouze s locality_ruian

locality_uir

int

UIR lokality

validní pouze s locality_uir_level

locality_uir_level

int

UIR-level lokality

validní pouze s locality_uir

loggia

bool

Lodžie

povinné pro Byty

object_type

codebook

Typ domu

povinné pro Domy, Komerční

 

1

Přízemní

 

 

2

Patrový

 

ownership

codebook

Vlastnictví

povinné pro Byty

 

1

Osobní

 

 

2

Družstevní

 

 

3

Státní/obecní

 

parking_lots

bool

Parkování

povinné pro Byty, Domy, Komerční

project_id

int

ID projektu na prazskereality.cz

pokud zadáno,

 

 

 

project_rkid je prázdné

project_rkid

string

ID projektu u realitky

pokud zadáno,

 

 

 

project_id je prázdné

seller_id

int

ID makléře u prazskereality.cz

pokud zadáno,

 

 

 

seller_rkid je prázdné

seller_rkid

string

ID makléře u realitky

pokud zadáno, seller_id je prázdné

terrace

bool

Terasa

povinné pro Byty

usable_area

int

Užitná plocha

povinné pro Byty, Domy, Ostatní,

 

 

 

Komerční

acceptance_year

int

Rok kolaudace

 

advert_code

string

ID zakázky

 

advert_low_energy

bool

Nízkoenergetický

 

advert_price_charge

codebook

poplatky

 

 

1

včetně poplatků

 

 

2

bez poplatků

 

advert_price_commission

codebook

Provize

 

 

1

včetně provize

 

 

2

+ provize RK

 

advert_price_legal_services

codebook

Právní servis

 

 

1

včetně právního servisu bez

 

 

2

právního servisu

 

advert_price_negotiation

bool

Cena k jednání

 

advert_price_text_note

string

Poznámka k ceně

 

advert_price_text_note_en

string

Poznámka k ceně v Angličtině

 

advert_price_text_note_ru

string

Poznámka k ceně v Ruštině

 

advert_price_vat

codebook

DPH

 

 

1

včetně DPH

 

 

2

bez DPH

 

annuity

int

Anuita

 

auction_advertisement_pdf

base64

Dražební vyhláška v PDF

povinné pro Dražby

auction_date

datetime

Datum konání dražby

povinné pro Dražby

auction_date_tour

datetime

Termín 1. prohlídky

povinné pro Dražby

auction_date_tour2

datetime

Termín 2. prohlídky

povinné pro Dražby

auction_kind

codebook

Druh dražby

povinné pro Dražby

 

1

Nedobrovolná

 

 

2

Dobrovolná

 

 

3

Exekutorská dražba

 

 

4

Aukce

 

 

5

Obchodní veřejná soutěž

 

auction_place

string

Místo konání dražby

povinné pro Dražby

auction_review_pdf

base64

Posudek znalce v PDF

povinné pro Dražby

balcony_area

int

Plocha balkónu

 

basin_area

int

Plocha bazénu

 

beginning_date

date

Datum zahájení výstavby

 

building_area

int

Plocha zastavěná

 

ceiling_height

double

Výška stropu

 

cellar_area

int

Plocha sklepu

 

circuit_breaker

codebook

Jističe

 

 

1

16A

 

 

2

20A

 

 

3

25A

 

 

4

32A

 

 

5

40A

 

 

5

50A

 

 

6

63A

 

commission

double

Provize

 

cost_of_living

string

Náklady na bydlení

 

description_en

string

Anglický popis

 

description_ru

string

Ruský popis

 

easy_access

codebook

Bezbariérový

 

 

1

Ano

 

 

2

Ne

 

electricity

multiselect

Elektřina

 

 

1

120V

 

 

2

230V

 

 

4

400V

 

 

5

Bez přípojky

 

elevator

codebook

Výtah

 

 

1

Ano

 

 

2

Ne

 

energy_effi ciency_rating

codebook

Energetická náročnost budovy

 

 

1

A - Mimořádně úsporná

 

 

2

B - Velmi úsporná

 

 

3

C - Úsporná

 

 

4

D - Méně úsporná

 

 

5

E - Nehospodárná

 

 

6

F - Velmi nehospodárná

 

 

7

G - Mimořádně nehospodárná

 

energy_performance_attachment

base64

Energetický průkaz v PDF/JPG

 

energy_performance_certifi cate

codebook

podle vyhlášky

 

 

1

č. 148/2007 Sb.

 

 

2

č. 78/2013 Sb.

 

energy_performance_summary

double

Ukazatel energetické náročnosti

 

 

 

budovy

 

extra_info

codebook

Stav

 

 

1

Rezervováno

 

 

2

Prodáno

 

finish_date

date

Datum ukončení výstavby

 

first_tour_date

datetime

Datum prohlídky

 

first_tour_date_to

datetime

Datum prohlídky do

 

flat_class

codebook

Typ bytu

 

 

1

Mezonet

 

 

2

Loft

 

 

3

Podkrovní

 

 

4

Jednopodlažní

 

floor_area

int

Plocha podlahová

 

floors

int

Podlaží počet

 

ftv_panels

bool

Fotovoltaika

 

furnished

codebook

Vybavení

 

 

1

Ano

 

 

2

Ne

 

 

3

Částečně

 

garage_count

int

Počet garáží

 

garden_area

int

Plocha zahrady

 

garret

bool

Půdní vestavba

 

gas

multiselect

Plyn

 

 

1

Individuální

 

 

2

Plynovod

 

gully

multiselect

Odpad

 

 

1

Veřejná kanalizace

 

 

2

ČOV pro celý objekt Septik

 

 

3

Jímka

 

 

4

 

 

heating

multiselect

Topení

 

 

1

Lokální plynové

 

 

2

Lokální tuhá paliva

 

 

3

Lokální elektrické

 

 

4

Ústřední plynové

 

 

5

Ústřední tuhá paliva Ústřední

 

 

6

elektrické

 

 

7

Ústřední dálkové

 

 

8

Jiné

 

heating_element

multiselect

Topné těleso

 

 

1

WAW

 

 

2

Podlahové vytápění

 

 

3

Radiátory

 

 

4

Přímotop

 

 

5

Infrapanel

 

 

6

Krbová kamna

 

 

7

Krb

 

 

8

Kotel na tuhá paliva

 

 

9

Kamna

 

heating_source

multiselect

Zdroj topení

 

 

1

WAW

 

 

2

plynový kondenzační kotel

 

 

3

plynový kotel

 

 

4

elektrokotel

 

 

5

tepelné čerpadlo

 

 

6

přímotop

 

 

7

infrapanel

 

 

8

krbová kamna

 

 

9

krb

 

 

10

kotel na tuhá paliva

 

 

11

kamna

 

 

12

ústřední dálkové topení

 

internet_connection_provider

string

Poskytovatel internetového připojení

 

internet_connection_speed

int

Rychlost internetového připojení (Mbit/s)

 

internet_connection_type

multiselect

Typ internetového připojení

 

 

1

ADSL

 

 

2

VDSL

 

 

3

optika

 

 

4

vzduchem

 

keywords

list(string)

klíčové slova

 

lease_type_cb

codebook

Typ pronájmu - nájem / podnájem

 

 

1

nájem

 

 

2

podnájem

 

water_heat_source

multiselect

Zdroj teplé vody

 

 

1

plynový kondenzační kotel

 

 

2

plynový kotel

 

 

3

elektrokotel

 

 

4

tepelné čerpadlo

 

 

5

plynová karma

 

 

6

kotel na tuhá paliva

 

locality_citypart

string

Městská část

 

locality_co

string

Číslo orientační

 

locality_cp

string

Číslo popisné

 

locality_street

string

Ulice

 

loggia_area

int

Plocha lodžie

 

mapy_panorama_url

string

Url na panoramu z Mapy.cz

 

mortgage

bool

Hypotéka

 

mortgage_percent

double

Hypotéka - procenta

 

nolive_total_area

int

Plocha nebytových prostor

 

num_owners

int

Počet vlastníků

 

object_age

int

Rok výstavby

 

object_kind

codebook

Poloha domu

 

 

1

Řadový

 

 

2

Rohový

 

 

3

V bloku

 

 

4

Samostatný

 

object_location

codebook

Umístění objektu

 

 

1

Centrum obce

 

 

2

Klidná část obce

 

 

3

Rušná část obce

 

 

4

Okraj obce

 

 

5

Sídliště

 

 

6

Polosamota

 

 

7

Samota

 

offi ces_area

int

Plocha kanceláří

 

parking

int

Míst k parkování

 

personal

codebook

Převod do OV

 

 

1

Ano

 

 

2

Ne

 

phase_distributions

codebook

Počet fází

 

 

1

1 fáze

 

 

2

3 fáze

 

price_auction_principal

double

Aukční jistina

povinné pro Dražby

price_expert_report

double

Znalecký posudek

povinné pro Dražby

price_minimum_bid

double

Minimální příhoz

povinné pro Dražby

production_area

int

Plocha výrobní

 

protection

codebook

Ochrana

 

 

1

Ochranné pásmo

 

 

2

Národní park

 

 

3

CHKO

 

 

4

Památková zóna

 

 

5

Památková rezervace

 

 

6

Kulturní památka

 

 

7

Národní kulturní památka

 

ready_date

date

Datum nastěhování

 

reconstruction_year

int

Rok rekonstrukce

 

refundable_deposit

double

Výše vratné kauce

 

road_type

multiselect

Komunikace

 

 

1

Betonová

 

 

2

Dlážděná

 

 

3

Asfaltová

 

 

4

Neupravená

 

sale_date

date

Datum zahájení prodeje

 

share_numerator

int

velikost podílu jednotky - čitatel

povinné pro Podíly

share_denominator

int

velikost podílu jednotky - jmenovatel

povinné pro Podíly

share_common_area_numerator

int

velikost podílu společných prostor - čitatel

 

share_common_area_denominator

int

velikost podílu společných prostor - jmenovatel

 

shop_area

int

Obchodní plocha

 

solar_panels

bool

solarní panely

 

spor_percent

double

Stavební spoření - procenta

 

steps

string

Etapa

 

store_area

int

Plocha skladů

 

surroundings_type

codebook

Zástavba

 

 

1

Obytná

 

 

2

Obchodní a obytná

 

 

3

Obchodní

 

 

4

Komerční

 

 

5

Průmyslová

 

 

6

Venkovská

 

 

7

Rekreační

 

 

8

Rekreačně nevyužitá

 

telecommunication

multiselect

Telekomunikace

 

 

1

Telefon

 

 

2

Internet

 

 

3

Satelit

 

 

4

Kabelová televize

 

 

5

Kabelové rozvody

 

 

6

Ostatní

 

tenant_not_pay_commission

bool

Nájemce neplatí provizi

 

terrace_area

int

Plocha terasy

 

transport

multiselect

Doprava

 

 

1

Vlak

 

 

2

Dálnice

 

 

3

Silnice

 

 

4

MHD

 

 

5

Autobus

 

underground_fl oors

int

Podlaží podzemní

 

usable_area_ground

int

Užitná plocha přízemí

 

user_status

bool

Aktivní

 

water

multiselect

Voda

 

 

1

Místní zdroj vody

 

 

2

Vodovod

 

 

4

Studna

 

 

5

Retenční nádrž na dešťovou vodu

 

well_type

multiselect

Typ studny

 

 

1

Vrtaná studna

 

 

2

Kopaná studna

 

workshop_area

int

Plocha dílen

 

3.2 - Atributy a číselníky developerského projektu

V následném seznamu atributů developerského projektu jsou nejdříve vypsané povinné položky.

Tabulka 2: Seznam atributů developerského projektu (metoda addProject)

Název

Typ

Popis

Povinný

annotation

string

Anotace

vždy

description

string

Popis

vždy

 

 

 

 

locality_city

string

Město

vždy

locality_description

string

Popis lokality

vždy

 

 

 

 

project_lifetime

codebook

Platnost

vždy

 

1

1 měsíc

 

 

2

3 měsíce

 

 

3

12 měsíců

 

project_name

string

Jméno

vždy

ceilings

codebook

Stropy

 

 

1

keramické

 

 

2

želbet. montované

 

 

3

želbet. monolitické

 

 

4

dřevěné trámové

 

date_construct_completion

date

Dokončení výstavby

 

date_move

date

Nastěhování

 

date_sale

date

Zahájení prodeje

 

developer_ic

int

IČ developera

 

doors

codebook

Dveře

 

 

1

foliované

 

 

2

termofoliované

 

 

3

lakované

 

 

4

dýhované

 

 

5

masivní

 

 

6

laminátované

 

 

7

plastové

 

facade_coats

codebook

Fasádní omítky

 

 

1

akrylátové

 

 

2

silikátové

 

 

3

silikonové

 

floors

codebook

Podlahy

 

 

1

koberec

 

 

2

plovoucí laminátové

 

 

3

plovoucí dřevěné

 

 

4

dřevěné parkety

 

 

5

marmoleum

 

 

6

vinyl

 

 

7

linoleum

 

 

8

korek

 

foundations

string

Základy

 

interior_plasters

codebook

Vnitřní omítky

 

 

1

sádrové

 

 

2

štukové

 

interior_staircase

codebook

Interiérové schodiště

 

 

1

celodřevěné

 

 

2

v kombinaci dřevo a nerez

 

 

3

celokovové

 

 

4

jiné

 

interior_wall_lining

string

Vnitřní obklady

 

kitchen_cabinets

codebook

Kuchyňská linka

 

 

1

ano

 

 

2

ne

 

locality_citypart

string

Městská část

 

locality_co

string

Číslo orientační

 

locality_cp

string

Číslo popisné

 

locality_latitude

double

Zeměpisná šířka

validní pouze s locality_longitude

locality_longitude

double

Zeměpisná délka

validní pouze s locality_latitude

locality_ruian

int

RUIAN lokality

validní pouze s locality_ruian_level

locality_ruian_level

int

RUIAN-level lokality

validní pouze s locality_ruian

locality_uir

int

UIR lokality

validní pouze s locality_uir_level

locality_street

string

Ulice

 

locality_uir_level

int

UIR-level lokality

validní pouze s locality_uir

project_active

bool

Aktivní

 

project_id

int

ID interní

 

project_rkid

string

ID pro import

 

project_url

string

Url projektu

 

reinforced_concrete_staircase

codebook

Železobetonové schodiště

 

 

1

s kobercovou krytinou

 

 

2

s obložením laminátovou plovoucí

 

 

 

podlahou

 

 

3

s obložením dřevěnou plovoucí

 

 

 

podlahou

 

 

4

s obložením z masivu

 

 

5

s obložením z marmolea

 

 

6

s obložením z vinylu

 

 

7

s obložením z linolea

 

 

8

s obložením z korku

 

roof

codebook

Střecha

 

 

1

sedlová

 

 

2

valbová

 

 

3

pultová

 

 

4

mansardová

 

 

5

plochá

 

 

6

plochá pochozí

 

roofing

codebook

Krytina

 

 

1

pálená

 

 

2

betonová

 

 

3

plechová

 

 

4

břidlice

 

 

5

umělá břidlice

 

 

6

živičná

 

 

7

plastová fólie

 

seller_id

int

ID makléře u prazskych realit

pokud zadáno, seller_rkid je prázdné

seller_rkid

string

ID makléře u realitky

pokud zadáno, seller_id je prázdné

sheetmetal_structure

codebook

Klempířská konstrukce

 

 

1

pozink

 

 

2

měď

 

 

3

titanzinek

 

 

4

jiný

 

siding

codebook

Vnější obklady

 

 

1

keramické

 

 

2

dřevěné

 

 

3

lícovými pásky nebo cihlami

 

 

4

kámen, mramor

 

 

5

cembonit

 

windows

codebook

Okna

 

 

1

plastová

 

 

2

Eurookna

 

 

3

plastohliníková (Aluclip)

 

 

4

hliníková

 

3.3 - Návratové kódy a chybové hlášky

StatusStatus messagePopis
200OKVše je v pořádku
202Accepted, RUIAN or UIR code not foundInzerát/projekt přijat s tím, že předaný RUIAN nebo UIR kód nebyl rozpoznán. Inzerát/projekt přijat s tím, že textová reprezentce lokality nabídla více jak jednu možnost.
204Accepted, cannot modify required parametersInzerát přijat s tím, že modifikované povinné položky nebyly uloženy (protože uplynula doba 3 hodiny od prvního importu)
404Not foundFirma, makléř, inzerát, projekt či fotografie nebyla nalezena
405Software key not activePoužitý SW klíč není aktivní
407Session is badPřihlášení se nezdařilo, zkontrolujte heslo a SW klíč
410Uploaded image is too largeObrázek je příliš velký
412Result image too smallFotografie nemá dostatečné rozměry
413Uploaded video is too largeVideozáznam je příliš velký
414Photo limit exceededPočet nahraných fotografií překročil limit
415Company is not activeFirma není aktivní
420Cannot modify video during encodingBěhem překódovávání videozáznamu s ním nelze pracovat (po 1 hodině stav encoding vyprší)
450Photo alredy existFotografie je již vložená
451Photograph is duplicitFotografie je již vložená, toto id je svázáno s jiným inzerátem
452Invalid parametersNejsou vyplněny všechny povinné položky nebo jsou špatného typu (v závorce je pak vidět, které položky se hláška týká)
453Adress not foundSelhala validace lokality
454RUIAN or UIR code not resolvedSelhalo nejen rozpoznání RUIAN nebo UIR kódu, ale i textová reprezentace
455Invalid text item [error description]Text obsahuje nevhodná slova nebo je příliš krátký (dlouhý)
461Seller not foundID makléře neexistuje
462Seller login already existsLogin makléře je již použit
463Seller login not foundLogin makléře nelze dohledat v databázi
476Invalid image formatNeznámý typ obrázku, používejte obrázky typu JPG
477Advert was inserted this dayNelze zvýhodnit (topovat) inzerát v den vložení
478Cannot top duplicity advertNelze zvýhodnit (topovat) inzerát označený jako duplicitní
479Advert must be publishedNelze zvýhodnit (topovat) nezveřejněný nebo neschválený inzerát
482Advert top limit per day reachedInzerát za aktuální den již byl zvýhodněn maximální počet krát
483Cannot modify required parametersPovinné položky již není možné modifikovat protože uplynula doba 3 hodiny od prvního importu. Tento návratový kód byl zrušen a nahrazen kódem 204
484Cannot modify main parametersHlavní položky již není možné modifi kovat protože uplynula doba 3 hodiny od prvního importu. Hlavní položky jsou: advert_function (typ inzerátu) a advert_type (kategorie inzerátu)
485Ambigous RKIDZadané RKID není jednoznačné
500Internal server errorInterní chyba systému (nahodilý výskyt=timeout, pravidelný=bug)
901Ads limit exceededDosažen maximální počet inzerátů dle inzertního balíčku

3.4 - Stavy inzerátu ve výpise

Hodnota publish_status

Popis

0

Probíhá zpracování ...

1

Zveřejněný

2

Firma nemá kredit

3

Dlužná částka je vyšší než kredit

4

Firma nemá zaplacený produkt "registrace"

5

Firma je smazaná

6

Dlužná částka uživatele je vyšší než kredit

7

Uživatel nemá kredit

8

Makléř není aktivní

9

Není přidělen obchodní zástupce

10

Inzerát nemá žádné fotografi e

11

Inzerát je zakázaný

12

Inzerát je smazaný

13

Inzezát není aktivní

14

Inzerát není schválen

15

Inzerát je duplicitní

16

Inzerát čeká na vyhodnocení duplicity

17

Firma není aktivní

18

Inzerát je expirovaný

22

Překročení počtu inzerátů pro soukromou inzerci

29

Inzerát nemá dostatek fotek (minimum 3)

3.5 - Podporované formáty videozáznamů

Zkratka

Název

4xm

4X Technologies format

IFF

IFF format

ISS

Funcom ISS format

MTV

MTV format

RoQ

raw id RoQ format

aac

raw ADTS AAC

ac3

raw AC-3

aea

MD STUDIO audio

aiff

Audio IFF

alaw

PCM A-law format

alsa

ALSA audio output

amr

3GPP AMR fi le format

anm

Deluxe Paint Animation

apc

CRYO APC format

ape

Monkey’s Audio

asf

ASF format

ass

SSA/ASS format

au

SUN AU format

avi

AVI format

avs

AVS format

bethsoftvid

Bethesda Softworks VID format

bfi

Brute Force & Ignorance

bink

Bink

c93

Interplay C93

caf

Apple Core Audio Format

cavsvideo

raw Chinese AVS video

cdg

CD Graphics Format

daud

D-Cinema audio format

dirac

raw Dirac

dnxhd

raw DNxHD (SMPTE VC-3)

dsicin

Delphine Software International CIN format

dts

raw DTS

dv

DV video format

dv1394

DV1394 A/V grab

dxa

DXA

ea

Electronic Arts Multimedia Format

ea_cdata

Electronic Arts cdata

eac3

raw E-AC-3

f32be

PCM 32 bit floating-point big-endian format

f32le

PCM 32 bit floating-point little-endian format

f64be

PCM 64 bit floating-point big-endian format

f64le

PCM 64 bit floating-point little-endian format

ffm

FFM (FFserver live feed) format

fi lm_cpk

Sega FILM/CPK format

fi lmstrip

Adobe Filmstrip

fl ac

raw FLAC

 

fl ic

FLI/FLC/FLX animation format

fl v

FLV format

gsm

raw GSM

gxf

GXF format

h261

raw H.261

h263

raw H.263

h264

raw H.264 video format

idcin

id Cinematic format

image2

image2 sequence

image2pipe

piped image2 sequence

ingenient

raw Ingenient MJPEG

ipmovie

Interplay MVE format

iv8

A format generated by IndigoVision 8000 video server

lmlm4

lmlm4 raw format

m4v

raw MPEG-4 video format

matroska

Matroska fi le format

mjpeg

raw MJPEG video

mlp

raw MLP

mm

American Laser Games MM format

mmf

Yamaha SMAF

mov,mp4,m4a,3gp,3g2,mj2

QuickTime/MPEG-4/Motion JPEG 2000 format

mp3

MPEG audio layer 3

mpc

Musepack

mpc8

Musepack SV8

mpeg

MPEG-1 System format

mpegts

MPEG-2 transport stream format

mpegtsraw

MPEG-2 raw transport stream format

mpegvideo

raw MPEG video

msnwctcp

MSN TCP Webcam stream

mulaw

PCM mu-law format

mvi

Motion Pixels MVI format

mxf

Material eXchange Format

nc

NC camera feed format

nsv

Nullsoft Streaming Video

nut

NUT format

nuv

NuppelVideo format

ogg

Ogg

oma

Sony OpenMG audio

oss

Open Sound System playback

psxstr

Sony Playstation STR format

pva

TechnoTrend PVA fi le and stream format

qcp

QCP format

r3d

REDCODE R3D format

rawvideo

raw video format

rl2

RL2 format

rm

RealMedia format

rpl

RPL/ARMovie format

rtsp

RTSP output format

s16be

PCM signed 16 bit big-endian format

s16le

PCM signed 16 bit little-endian format

s24be

PCM signed 24 bit big-endian format

s24le

PCM signed 24 bit little-endian format

s32be

PCM signed 32 bit big-endian format

s32le

PCM signed 32 bit little-endian format

s8

PCM signed 8 bit format

sdp

SDP

shn

raw Shorten

siff

Beam Software SIFF

smk

Smacker video

sol

Sierra SOL format

sox

SoX native format

swf

Flash format

thp

THP

tiertexseq

Tiertex Limited SEQ format

tmv

8088fl ex TMV

truehd

raw TrueHD

tta

True Audio

txd

Renderware TeXture Dictionary

u16be

PCM unsigned 16 bit big-endian format

u16le

PCM unsigned 16 bit little-endian format

u24be

PCM unsigned 24 bit big-endian format

u24le

PCM unsigned 24 bit little-endian format

u32be

PCM unsigned 32 bit big-endian format

u32le

PCM unsigned 32 bit little-endian format

u8

PCM unsigned 8 bit format

vc1

raw VC-1

vc1test

VC-1 test bitstream format

video4linux

Video4Linux device grab

video4linux2

Video4Linux2 device grab

vmd

Sierra VMD format

voc

Creative Voice fi le format

vqf

Nippon Telegraph and Telephone Corporation (NTT) TwinVQ

w64

Sony Wave64 format

wav

WAV format

wc3movie

Wing Commander III movie format

wsaud

Westwood Studios audio format

wsvqa

Westwood Studios VQA format

wv

WavPack

xa

Maxis XA File Format

yop

Psygnosis YOP Format

yuv4mpegpipe

YUV4MPEG pipe format

4 - Příklady

4.1 - PHP

<?php
// Definováni základních přístupových údajů
$client = 1; // ID klienta
$password = „vlozte-md5-hash-hesla“; // heslo zašifrované pomocí MD5
$key = „vlozte-importni-klic“; // importní klíč

/**
* Výpočet nové sessionId
* @param string $sessionId Aktualni sessionId
* @param string $password Heslo k importnimu rozhrani
* @param string $key Klic k importnimu rozhrani
* @return string Nove sessionId
*/

function computeSessionId($sessionId, $password, $key) {
$newVarPart = md5($sessionId . $password . $key);
return substr($sessionId, 0, 48) . $newVarPart;
}

//Načtení třídy pro práci s XMLRPC, například z http://phpxmlrpc.sourceforge.net
require_once 'xmlrpc/lib/xmlrpc.inc';

//Nastavení interního kódováni na utf-8 pro správný přenos diakritiky
PhpXmlRpcPhpXmlRpc::$xmlrpc_internalencoding = 'UTF-8';

/* Pripojeni k importserveru */
$client = new xmlrpc_client(’/RPC2’, ’prazskereality.cz’, 80);

//vytvoreni dotazu - ID klienta
//parametr - ID klienta
$params = array(new xmlrpcval($clientId, ’int’));

// vytvoreni zpravy pro ziskani sessionId
$msg = new xmlrpcmsg(’getHash’, $params);

// poslani dotazu na server
$response = $client->send($msg);

// nacteni vysledku
$getHash = php_xmlrpc_decode($response->value());

// je dotaz OK ?
if ($getHash[’status’] != 200) {
die(„Chyba pri volani getHash [{$getHash[’status’]}]: {$getHash[’statusMessage’]}“);

}

// sessionId se vypocte z obdrzeneho (vystup getHash), hesla a SW klice
$sessionId = computeSessionId($getHash[’output’][0][’sessionId’], $password, $key);

/* přihlášení na importserver */
//vytvoreni dotazu pro login a poslani na server

$params = array(new xmlrpcval($sessionId));
$msg = new xmlrpcmsg(„login“, $params);
$response = $client->send($msg);

//nacteni vysledku
php_xmlrpc_decode($response-value());
//pokud je jiny status nez 200, nekde je chyba
if ($login[’status’] != 200) {
die(„Chyba pri přihlášení [{$login[’status’]}]: {$login[’statusMessage’]}“);

}

/* Ukazka pridani inzeratu */
//pred kazdym dalsim pozadavkem je treba znovu vypocitat sessionId

$sessionId = computeSessionId($sessionId, $password, $key);

$advert = array(
„advert_function“ => 1,  // prodej
„advert_lifetime“ => 1,  // 7 dni
„advert_price“ => 10000.0,
„advert_price_currency“ => 1,  // Kč
„advert_price_unit“ => 2,   // za měsíc
„advert_type“ => 1,   //byty
„description“ => „Pekny byt s vyhledem na zahradu.“,
„locality_city“ => „Praha“,
„locality_inaccuracy_level“ => 2,  //znepresnení adresy o 1 stupen
„floor_number“ => 1,  //první patro
„garage“ => false,
„loggia“ => false,
„balcony“ => false,
„terrace“ => false,
„ownership“ => 1,  // osobní vlastnictví
„parking_lots“ => true,
„advert_subtype“ => 4,  // typ bytu 2+kk
„usable_area“ => 54,  //plocha 54m
„building_type“ => 2,  //cihlová budova
„building_condition“ => 1,  //stav objektu velmi dobrý
„cellar“ => true,  //má sklep
„heating“ => array(3, 4),  // topeni lokalni elektricke a ustredni plynove
„telecommunication“ => array(1, 2, 4),  // telefon, internet, kabelova televize
„seller_id“ => 123456, 
)

$msg = new xmlrpcmsg(„addAdvert“); $msg->addParam(php_xmlrpc_encode($sessionId));
$msg->addParam(php_xmlrpc_encode($advert));
$response = $client->send($msg);

$result = php_xmlrpc_decode($response->value());
if (floor($result[’status’] / 100) != 2) { die(„Chyba pri ukladani inzeratu [{$result[’status’]}]: {$result[’statusMessage’]}“);}

/* Odhlaseni */
$sessionId = computeSessionId($sessionId, $password, $key);
$params = array(new xmlrpcval($sessionId));
$msg = new xmlrpcmsg(„logout“, $params);
$response = $client->send($msg);
$result = php_xmlrpc_decode($response->value());
if ($result[’status’] != 200) { die(„Chyba pri odhlaseni [{$result[’status’]}]: {$result[’statusMessage’]}“)};

?>

4.2 - Python

#!/usr/bin/python
import xmlrpclib
import hashlib

clientId = 1 # ID klienta
password = „vlozte-md5-hash-hesla“ # heslo zakryptovane pres md5
key = „vlozte-importni-klic“ # importni klic

def NewSessionId(oldId, password, key): #Heslo by se melo pouzivat uz zakryptovane pres md5. Heslo i importni klic jsou zjistitelne v adminwebu.
varPart = hashlib.md5()
varPart.update(oldId + password + key
return oldId[0:48] + varPart.hexdigest()

#připojení na import server
client = xmlrpclib.ServerProxy('https://prazskereality.cz/RPC2')

#zavoláme metodu getHash pro získání počátečního sessionId
getHash = client.getHash(clientId)
if getHash['status'] / 100 == 2:
#výpočet sessionId pro další dotaz
sessioId = NewSessionId(getHash['output'][0]['sessionId'], password, key)
#přihlášení na importserver
response = client.login(sessionId)
if response['status'] / 100 == 2:
print 'logged in'

#vložení inzerátu
sessionId = NewSessionId(sessionId, password, key)
advert = {
'advert_function': 1, # prodej
'advert_lifetime': 1, # 7 dní
'advert_price': 10000.0,
'advert_price_currency': 1, # Kč
'advert_price_unit': 2, # za měsíc
'advert_type': 1, # byty
'description': 'Pěkný byt s výhledem na zahradu',
'locality_city': 'Praha',
'locality_inaccuracy_level': 2, # znepřesnění adresy o 1 stupeň
'floor_number': 1, # první patro
'garage': False,
'loggia': False,
'balcony': False,
'terrace': False,
'ownership': 1, # osobní vlastnictví
'parking_lots': True,
'advert_subtype': 4, # Typ bytu 2+kk
'usable_area: 54, # Plocha bytu 54m
'building_type': 2, # Cihlová budova
'building_condition': 1, # Stav objektu velmi Dobrý
'cellar': True, # Má sklep
'heating': (3,4), # topení lokalní elektrické a ústřední plynové
'telecommunication': (1,2,4), # telefon, internet, kabelová televize
'seller_id': 123456,
}

response = client.addAdvert(sessionId, advert)

if response['status'] / 100 == 2:
print 'Advert successfully added.'
else:
print 'addAdvert: %d %s' % (response['status'], response['statusMessage'])


# Odhlášení
sessionId = NewSessionId(sessionId, password, key)
client.logout(sessionId)

else:
print 'login %d %s' % (response['status'], response['statusMessage'])

else:
print 'getHash %d %s' % (getHash['status'], getHash['statusMessage'])

4.3 - Příklad XML požadavku

?xml version=’1.0’? >
< methodCall >
< methodName > addAdvert
< params >
< param >
< value >
< struct >
< memeber >
< name > user_status < name >
< value > < int >1 < /int >
< /member >
< memeber >
< name > advert_function < name >
< value >< int > 1 < /int > < /value >
< /member >
< memeber >
< name > advert_price_unit < name >
< value >< int > 1< /int >< /value >
< /member >
< memeber >
< name > advert_lifetime < name >
< value > < int >3 < /int > < /value >

< memeber >
< name > advert_price < name >
< value >< int > 10000 < /int >< /value >
< /member >
< memeber >
< name > advert_type
< value > < int > 3 < /int > < /value >
< /member >
< memeber >
< name > advert_price_currency < name >
< value > < int > 1 < /int > < /value >
< /member >
< memeber >
< name > seller_rkid < name >
< value >< string > makléř01 < /string > < /value >
< /member >
< memeber >
< name > description < name >
< value > < string > Krásný slunný byt s výhledem na zahradu < /string > < /value >
< /member >
< memeber >
< name > locality_street < name >
< value > < string > Radlická < /string > < /value >
< /member >
< memeber >
< name > locality_cp < name >
< value > 2 < /int >
< /member >
< memeber >
< name> locality_city < name >
< string > Praha < /string > < /value >
< /member >
< memeber >
< name > locality_inaccuracy_level < name >
< value > < int > 2 < /int > < /value >
< /member >
< memeber >
< name > building_type < name >
< value > < int > 5 < /int >
< /member >
< memeber >
< name > building_condition < name >
< value > < int > 1 < /value >
< /member >
< memeber >
< name > usable_area < name >
< value > < int > 100 < /int >< /value >
< /member >
< /struct >
< /value >
< /param >
< /params > < /methodCall >

Blog

Choose land for house building very carefully. What to focus on

Finally! You have managed to save enough finances or you have obtained a mortgage. Now your journey to a new family nest can begin. Before you come to the house building itself, you have to find the right piece of land. How to?

Číst více

Why to insulate? What are the options?

You have probably noted that during last years, many family houses and apartment houses are being insulated. Have you ever thought about the options and materials used for this? And have you ever thought of the reason for it?

Číst více

Securing property against burglars

Who has experienced any burglary or a break-in into his house knows how uncomfortable it is. Who has not experienced it wishes not to find out. PC, TV, mobile phone, money….but you can also lose things that are not only valuable but also very close and in

Číst více

Purchaser representative at real estate transactions is no more a rarity

At every business deal there are at least two parties. This is valid also for real estate business. These parties are represented by seller and purchaser. In case of real estate transactions, the seller is represented by real estate agent. Who represents

Číst více
show all articles
Prague Real Estate
Terms and conditionsProtection of personal dataReal estate'sContactCookie processing

Pražské reality
Budějovická 778/3
140 00 Praha 4

© 2025 Pražské reality - All Rights Reserved !
Cookies