• Autor: Štěpán Pernica
    • 12.4.2018
    • Ostatní

Napojení webu na ARES

Napojení webu na ARES většinou probíhá jednoduše, pokud zákazník chce vyhledávat pouze subjekty pomocí IČO. Co když chceme filtrovat i podle jména podnikatelského subjektu?

Pro filtrování lze použít tyto 3 adresy:

  1. Standart - http://wwwinfo.mfcr.cz/ares/ares_xml_standard.html.cz
  2. Basic - http://wwwinfo.mfcr.cz/ares/ares_xml_basic.html.cz
  3. Ekonomické subjekty - http://wwwinfo.mfcr.cz/cgi-bin/ares/ares_es.cgi

seznam všech adres

Doposud vše v pořádku, dokud se nedostaneme k detailům:

1. Standart - nefiltruje pomocí jmen OSVČ (pouze firmy) a nevrací DIČ (!)
2. Basic - filtruje pouze pomocí IČO
3. Ekonomické subjekty - neobsahují většinu informací a adresa je zadána jako jeden řetězec

Rozhodl jsem se tedy pro řešení:
- pro filtr pomocí ičo volat adresu Standart a následně zavolat adresu Basic
- pro filtr pomocí jména podnikatele/firmy využít adresu Ekonomické subjekty a po zvolení položky vyfiltrovat pomocí adresy Standart


Naštěstí jsou limity nastaveny na 10 000 dotazů za den pro jednu IP, takže by to mělo v pořádku stačit pro potřeby klienta. Pomohla mi i knihovna AresFinder (používá adresu Standart).


Jako třešnička na dortu (kterou se samozřejmě nikde nedozvíte) je, že u adresy ekonomických subjektů nutné převést název podnikatele do kódování ISO-8859-2, jinak se vám v případě diakritických znamének nic nevyhledá...

Chyba i zavolání z prohlížeče
http://wwwinfo.mfcr.cz/cgi-bin/ares/ares_es.cgi?maxpoc=200&obch_jm=%C5%A1t%C4%9Bp%C3%A1n%20Pernica

Při zakódování do ISO-8859-2 už je to v pořádku
http://wwwinfo.mfcr.cz/cgi-bin/ares/ares_es.cgi?maxpoc=200&obch_jm=%A9t%ECp%E1n+Pernica


$name = iconv("UTF-8", "ISO-8859-2", $name);
$name = urlencode($name);
$rawData = file_get_contents("http://wwwinfo.mfcr.cz/cgi-bin/ares/ares_es.cgi?zobrazit=200&filtr=1&obch_jm={$name}");


Přeji i Vám příjemné filtrování v ARES!