Přejít k obsahu
Integrace a automatizace7 min čtení

Import nemovitostí z realitního softwaru na web

Makléř zadá nabídku do realitního softwaru a pak ji podruhé přepíše na vlastní web. U desítek nemovitostí s fotkami je to práce na celý den a data stárnou. Popisujeme, jak to vyřešit a kde se to obvykle rozbije.

Dvojí zadávání je drahé jinak, než se zdá

Nejde jen o čas. Jde o to, že obě evidence se během týdne rozejdou. Cena se sníží v portálu, na webu zůstane stará. Nemovitost se prodá, na webu visí dál. Klient volá kvůli něčemu, co už neexistuje, a makléř to vysvětluje.

Pokud realitní software nabízí XML nebo jiné exportní rozhraní, může web nabídky pravidelně přebírat. To je celý základ řešení: web si export jednou za čas stáhne a sám se podle něj srovná. U Spolu v realitách jsme přesně tohle postavili nad exportem z POSKI REAL.

Jeden zdroj pravdy, web jen čte

Tohle je nejdůležitější rozhodnutí a dělá se hned na začátku. U tohoto typu napojení držíme jeden systém jako zdroj pravdy a web z něj pouze čte. Makléř proto neupravuje stejnou nemovitost na dvou místech.

Nabídka se edituje v realitním softwaru a web ji jen zobrazuje. Makléř pracuje tam, kde je zvyklý. Změna na webu se při dalším běhu přepíše, a to záměrně, protože web tu evidenci nevede. Obousměrné integrace mají své místo, vyžadují ale jasně určit, který systém má u kterého údaje přednost. Pro nabídky z realitního softwaru na web bývá jednosměrný tok jednodušší a spolehlivější.

Než se pustíte do obousměrné synchronizace, ujasněte si, která evidence je ta hlavní.

Duplicity vznikají párováním podle názvu

Klasická chyba: import hledá, jestli už nemovitost existuje, podle nadpisu nebo adresy. Makléř pak upraví nadpis na webu kvůli lepšímu znění a při dalším běhu vznikne druhý záznam. Za měsíc má web tři verze téže nemovitosti.

Párovat se musí podle ID z portálu, nikdy podle textu. ID se nemění a je jedno, co s nadpisem kdo udělá.

Nastavení synchronizace nabídek v administraci WordPressu
Ruční spuštění, testovací běh a statistiky posledního importu. Bez toho se chyba hledá v logu serveru.

Na co si dát pozor jinde

Velikost feedu

Export s pár stovkami nemovitostí a tisíci fotkami umí mít desítky megabajtů. Když se načte celý do paměti, hosting to odmítne. Parsovat se musí průběžně, ne najednou.

Zbytečné zápisy

Když se při každém běhu přepíše všech tři sta nabídek, i když se nic nezměnilo, databáze zbytečně roste a běh trvá minuty. Řešení je otisk obsahu: spočítá se hash, a pokud sedí, záznam se přeskočí.

Obrázky

Bez deduplikace se při každém běhu stáhne tatáž fotka znovu a knihovna médií naroste do gigabajtů. Zároveň musí zůstat pořadí z feedu, jinak se hlavní fotka rozhodí.

Číselníky

Dispozice, stavy a typy nemovitostí přicházejí jako text. Když se nepárují proti skutečné definici polí včetně diakritiky, polovina nabídek skončí bez dispozice a filtr na webu nefunguje.

Jak poznat, že je to udělané dobře

  • Import jde spustit ručně a má testovací běh, který ukáže změny před zápisem.
  • Je vidět, kdy proběhl naposledy a co udělal.
  • Dvě souběžná spuštění si nelezou do cesty.
  • Je jasné, co se stane s nabídkami, když se doplněk vypne nebo vymění.

U tohoto napojení jsme se rozhodli mapovat data do běžných polí, na kterých web už stál, ne do vlastní tabulky doplňku. Doplněk proto jde vypnout a web dál funguje. Vlastní tabulka není automaticky špatně, tady ale bylo důležité, aby šel doplněk po letech vyměnit a web na něm nevisel. Jak o napojení přemýšlíme obecně, popisujeme u integrací.

Časté otázky

Má synchronizace fungovat oběma směry?

U napojení realitního softwaru na web obvykle ne. Obousměrné integrace existují, vyžadují ale jasně určit, který systém má u kterého údaje přednost. U tohoto typu napojení držíme realitní software jako zdroj pravdy a web z něj pouze čte, takže makléř neupravuje stejnou nemovitost na dvou místech.

Zpomalí import web?

Nemusí. Feed se má parsovat průběžně, ne načítat celý do paměti, a záznamy bez změny se mají přeskočit podle otisku obsahu. Běh pak trvá sekundy místo minut.

Co se stane, když doplněk vypneme?

U našeho napojení nic. Data se mapují do běžných polí webu, ne do vlastní tabulky doplňku, takže nabídky zůstanou a jen se přestanou aktualizovat. Vlastní tabulka není automaticky chyba, u tohoto projektu jsme ale chtěli, aby web na doplňku nezávisel.

AutorOndřej Koziorek

Founder a creative director NKZ. V nkz.dev vede zadání, UX/UI a směřování digitálních produktů.

Dál ze zápisků
Integrace a automatizace

Co připravit před napojením účetnictví a e-shopu?

Číselné řady, DPH, vratky, platby a chyby: co rozhodnout před vývojem.

Přečíst
Weby a WordPress

Doplněk, nebo nový web na WordPressu?

Podle čeho poznat, že webu stačí vlastní doplněk a kdy je čas na nový web.

Přečíst
Služba

Integrace a automatizace

Propojení systémů, které si dnes data předávají ručně.

Více o službě