Přeskočit na hlavní obsah
Všechny sbírkyDokumentace a nápovědaTipy a triky
Pokročilá parametrizace pro našeptávání firem z vlastní URL
Pokročilá parametrizace pro našeptávání firem z vlastní URL

Možnost definovat vlastní URL adresy pro našeptávání firem, zjišťování údajů o firmě a hromadnou aktualizaci údajů o firmách z internetu.

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než 3 lety

K dispozici máme tři pokročilé parametry pro různé funkcionality

paramNaseptavaniFiremUrl

  • našeptává a vyplní data firmy, definuje hledání v Obchodní partneři > Adresy firem > Nový > po vyplnění pole Název se objeví seznam možných firem

paramFirmaInfoUrl

  • stáhne data konkrétní firmy, definuje hledání v Obchodní partneři > Adresy firem > Nový > Aktualizovat z internetu - nabídne aktualizaci údajů z uvedené URL

paramFirmyDavkaInfoUrl

  • stáhne data všech firem a aktualizuje údaje, definuje hledání v Obchodní partneři > Adresy firem > tlačítko Aktualizovat vše v horní liště

U slovenských firem je ještě potřeba nastavit další pokročilý parametr

paramNaseptavaniFiremSk

  • jeho hodnota je true nebo false

Definice parametru

Každý ze základních tří parametrů musí obsahovat celou URL adresu skriptu, který zpracuje nešeptání firem.

<winstrom version="1.0"> 
<parametr>
<paramK>paramNaseptavaniFiremUrl</paramK>
<hodnota>https://www.mojeSluzba.sk/hledejSKFirmu/</hodnota>
</parametr>
<parametr>
<paramK>paramNaseptavaniFiremSk</paramK>
<hodnota>true</hodnota>
</parametr>
</winstrom>

ABRA Flexi poté zavolá udanou URL a přidá parametry:

https://www.mojesluzba.sk/hledejFirmu/?q=hledany-nazev-firmy&country=SK&format=xml&limit=20...
  • q - hledaný název firmy

  • country - kód země, kterou hledáme

  • format - v tomto případě vždy XML

  • limit - počet záznamů

  • ic, dic, ic-dph - identifikační údaje

  • statleg - kód země legislativy dle našeho ABRA Flexi

V případě parametru paramFirmyDavkaInfoUrl aplikace přidá CSV data v gzip:

// Vstupní data jsou ve formátu CSV s GZIP kompresí
// ID;IC;DIC;STAT;REV\n
// 1;26747804;CZ26747804;CZ;0\n
// 2;26380676;CZ26380676;CZ;0\n
// 3;28019921;CZ28019921;CZ;0\n

Tedy na každém řádku je id, ič, dič a stát jedné firmy.

  • mode - pro tento pokročilý parametr existuje výstupní parametr určující detail informací s hodnotami:

    • auto - pouze bankovní údaje firem

    • all - všechny dostupné informace o firmě

    • Pokročilým parametrem paramFirmyDavkaAktualizovatBanku lze řídit, jakou hodnotu nabývá parametr mode, pokud tento pokročilý parametr nastavíme na true bude vráceno pouze bankovní info, false pak vše

Aplikace poté očekává jako návratovou hodnotu ABRA Flexi XML. Jinými slovy, Vaše služba/skript na uvedené adrese https://www.mojeSluzba.sk/hledejSKFirmu/

musí zpracovat výstup, například získat potřebná data ze slovenského obchodního registru: https://www.orsr.sk/hladaj_subjekt.asp?OBMENO=hledany-nazev-firmy

Získaná data z registru je nutné přetransformovat do podoby ABRA Flexi XML, poté budou načteny do aplikace.

Kompletní příklad využítí parametru paramNaseptavaniFiremUrl v PHP

<?php 
// Získáme parametry z URL
$queryString = $_GET["q"] ?? ""; // hledaný text
$stat = $_GET["country"] ?? ""; // kód státu (př. CZ)
$format = $_GET["format"] ?? ""; // formát (xml)
$limit = $_GET["limit"] ?? ""; // maximum záznamů
// Získáme pole firem odpovídajícím hledanému textu a státu,
// funkce vrátí maximální počet záznamů podle parametru $limit

// Tuto funkci musíme sami implementovat
$firmy = najdiFirmuPodleJmena($queryString, $stat, $limit);


// Převedeme pole firem do pole XML elementů
$firmyXml = [];
foreach ($firmy as $firma)
{
// Vytvoříme XML element pro firmu
// pro generování XML můžeme využít naši oblíbenou knihovnu 18 $firmyXml[] = "
<adresar>
<ic>$firma[ico]</ic>
<nazev>$firma[nazev]</nazev>
<ulice>$firma[ulice]</ulice>
<mesto>$firma[mesto]</mesto>
<psc>$firma[psc]</psc>
<kodPravniFormy>$firma[kod_firmy]</kodPravniFormy>
<stat>code:$firma[kod_statu]</stat>
<platceDph>$firma[je_platce_dph]</platceDph>
<dic>$firma[dic]</dic>
<!-- ... a všechny další vlastnosti, které máme k dispozici --> </adresar>";
}

// Dokončíme a vrátíme výsledný XML dokument
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
. "<winstrom>"
. implode("\n", $firmyXml)
. "</winstrom>";

Poznámka: Na úpravy v PHP se nevztahuje technická podpora.

Dostali jste odpověď na svou otázku?