GetZanikleSubjektyCompressed - CZ
Tato webová metoda Webové služby CreditCheckAktualizace je poskytována zdarma.
Tato webová metoda vrací seznam zaniklých subjektů k definovanému datumu. Tímto datem bylo původně 1.1.2008, 1.6.2012 došlo k prvnímu posunutí data na 1.1.2011. Od té doby se datum posouvá každý rok 1.6. o jeden rok.
Počet takových subjektů se blíží k 1 milionu a všechny mají přidělen negativní status 3. Vzhledem k tomu, že jde o dlouhodobě „mrtvé subjekty“, nezařazujeme je z důvodu úspory velikosti souboru do běžných dávkových metod (např. GetCreditChecks) určených pro denní aktualizaci. Vhodnou implementací této metody můžete pomoci zákazníkům vyčistit databáze o již neaktivní subjekty. Naše doporučení je následující: 1) 1-2x za rok stáhnout data metodou GetZanikleSubjektyCompressed a následně označit v databázi všechny obsažené subjekty nejenom přiděleným statusem (3), ale i novým příznakem „zaniklý subjekt“. 2) zajistit, aby při následných aktualizacích některou z dávkových metod ( např. GetCreditChecks) nedošlo u takto označených firem ke zpětnému přepsání statusu 3 na nižší.
Pozor: u v historii zaniklého subjektu může v budoucnosti dojít k jeho "oživení", tj. navrácení statusu 1.
Seznam subjektů je v zazipované formě a zazipovaná data jsou převedena do Base64 formátu. Webová metoda vrací datový string, který je obsahuje zazipovanou reprezentací jednoduchého Xml formátu. Webová metoda vyžaduje použít SOAP header, který obsahuje parametry přihlášení k webové metodě
SOAP header
<soap:Header>
<CreditCheckHeader xmlns="http://creditcheck.cz/">
<Login>string</Login>
<Password>string</Password>
</CreditCheckHeader>
</soap:Header>
Popis elementů
| Název | Popis |
|---|---|
| Login | uživatelské jméno |
| Password | uživatelské heslo |
Tyto údaje jsou stejné pro všechny uživatele jednoho partnerského systému a standardně budou neměnné. Proto doporučujeme je nastavit pro všechny napevno.
Vstupní parametry
Nejsou
Výstupní data
<creditCheck>
<webMethod>GetZanikleSubjektyCompressed</webMethod>
<version>0.0.0.6</version>
<time>15.2.2010 8:12:35</time>
<count>14</count>
<data>
<![CDATA[Xbdg52354tr2cvdserHtzVZUtzujk]]>
</data>
</creditCheck>
Popis elementů
| Název | Popis |
|---|---|
| webMethod | název webové metody, která vrátila data |
| version | verze webové služby |
| time | serverový čas vygenerování souboru |
| count | počet záznamů subjektů, které obsahuje sekce data |
| data | zazipovaná a do Base64 konvertovaná data subjektů zabalená do CDATA |
Popis rozzipovaného formátu dat v elementu
Element obsahuje blok dat oddělených oddělovači, která jsou obalena do CDATA. Jeden záznam reprezentuje jeden řádek. Záznamy jsou odděleny znakem newLine – nová řádka. Jeden záznam obsahuje data.
- první pozice: identifikátor subjektu, zde ičo subjektu
Příklad: 63493551 kde 63493551 = ičo subjektu
Poznámka 1 Formát a oddělovače dat můžou být na základě klientského požadavku změněné. Záznamy jsou unikátní podle identifikátoru subjektu a jeden subjekt nemůže mít více záznamů s různým hodnocením.
Poznámka 2 Metoda není určena pro denní aktualizaci. Pokud plánujete implementaci této metody a požadujete častější stahování dat než několikrát do roka, kontaktujte nás.
Ukázkový kód pro rozbalení dat
string source = service.GetZanikleSubjektyCompressed(soapHeader);
document.LoadXml(source);
string zippedData = document.SelectSingleNode("creditCheck").SelectSingleNode("data").InnerText;
byte[] k = Decompress(Convert.FromBase64String(zippedData));
source = new System.Text.UTF8Encoding().GetString(k);
public static byte[] Decompress(byte[] buffer)
{
MemoryStream ms = new MemoryStream();
byte[] data = new byte[4096];
Stream stream = new InflaterInputStream(new MemoryStream(buffer));
try
{
while (true)
{
int bytes = stream.Read(data, 0, data.Length);
if (bytes < 1)
{
break;
}
ms.Write(data, 0, bytes);
}
}
finally
{
stream.Close(); stream.Dispose();
}
return ms.ToArray();
}