GetZanikleSubjektyCompressed - CZ

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

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

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();         }