Vánoční Last Minute se značkou Sencor! Slevy až 20 % na pečlivě vybrané produkty.

x
inc/00_LS/datova-vymena/index.html

Popis služby datové výměny

Základní popis

Webová služba je zprovozněna na e-shopu jako aplikační adresář /i6ws/: https://www.exasoft.cz/i6ws/. Pro přístup do webové služby používáme zabezpečený separátní přístup, aby případné změny hesla na e-shopu apod. nenarušily chod automatizovaného zpracování dat služby.

Se službou lze komunikovat pomoci protokolu SOAP. U metod s jednoduchými parametry (exporty) také pomoci GET/POST, takže XML exporty lze stahovat/získat obyčejným odkazem. Na službu se lze napojit nejen programově - poskytuje popis služby pomoci WSDL, ale lze ji také používat/zkoušet browserem. Služba má jednoduché rozhraní, kde zobrazuje výpis metod, stručný popis, u některých také zkušební formuláře, kterými lze metody rovnou z browseru vyvolat. Služba umí XML data komprimovat (gzip, deflate), pokud se požadavek vyšle s hlavičkou: Accept-Encoding: gzip, deflate

Rozsah poskytovaných dat

Lite verze je základní a je zdarma. Poskytuje informace o skladové dostupnosti a cenách. Neobsahuje produktové technické parametry, popisky a obrázky.

Full verze obsahuje navíc detailní produktové informace včetně obrázků. Je zpoplatněna částkou 1.000 Kč/měsíc splatnou dopředu.

Exporty dat

Poskytuje stránka: https://www.exasoft.cz/i6ws/Default.asmx.

Exporty dat lze získat pomoci obecných metod:

  • GetResult - vrací všechna data (resp. přesněji základní množinu bez bližší specifikace - u produktu - vše, u stavu skladu - vše skladem, u objednávek - jen otevřené apod.)
  • GetResultByCode - vrací data filtrovaná dle jednoznačného kódu - typicky jen jeden řádek (u produktových exportů se lze dotazovat i přes PartNo, když vyhledávací řetězec začíná na {PartNo})
  • GetResultByFromTo - vrací data filtrovaná dle data od/do - typicky na základě evidované změny

Seznam dostupných exportů: https://www.exasoft.cz/i6ws/ResultTypeInfo.ashx.

Význam sloupců tabulky:

  • ResultType - Název exportu (předává se jako argument metod resultType)
  • Schema - Po kliknutí se zobrazí jednoduché schéma => Lze vyčíst vrácené atributy (sloupce)
  • GetResult - Informace o možnostech / časech použití metody GetResult
  • ByCode - Informace o možnostech / časech použití metody GetResultByCode
  • ByFromTo - Informace o možnostech / časech použití metody GetResultByFromTo
    • pokud je vše vyšedlé, tak metoda není pro daný resultType implementována (nelze použít)
    • pokud jsou vyšedlé nějaké dny v |Allowed days of week| nejde metoda daný den zavolat (např. pro použití jen o víkendu)
    • pokud jsou vyšedlé nějaké hodiny v |Allowed hours| nejde metoda danou hodinu zavolat (např. pro použití jen mimo hlavní pracovní dobu)
  • Description - Popis exportu

Jenoduché stažení pomoci metody GET

Základní syntaxe URL: https://JMENO:HESLO@www.exasoft.cz/i6ws/Default.asmx/NAZEV_METODY?resultType=NAZEV_RESULTU&PARAMETRY

  • JMENO – Přihlašovací jméno do webové služby
  • HESLO - Přihlašovací heslo do webové služby
  • NAZEV_METODY - GetResult | GetResultByCode | GetResultByFromTo
  • PARAMETRY
    • GetResult - resultType=
    • GetResultByCode - resultType= &code=
    • GetResultByFromTo - resultType= &from= &to=

Aby fungovala syntaxe JMENO:HESLO@ s logovacími údaji přímo v linku, je třeba při ručním zkoušení za použití Internet Exploreru to explicitně povolit: http://support.microsoft.com/kb/834489. Jinak používat bez uvedení JMENO:HESLO@ v URL, prohlížeč při prvním požadavku zobrazí přihlašovací dialog.

Příklady URL:

  • základní vlastnosti všech produktů: https://www.exasoft.cz/i6ws/Default.asmx/GetResult?resultType=StoItemBase
  • základní vlastnosti jednoho produktu GEM250304: https://www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=GEM250304
  • základní vlastnosti jednoho produktu GEM250304: https://www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=GEM250304
  • informace o stavu skladu jednoho produktu GEM250304 dle originálního Part Number PP12-2M: https://www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemQtyFree&code={PartNo}PP12-2M
  • informace o ceně jednoho produktu GEM250304: https://www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemPriceOrd&code=GEM250304
  • všechny produkty skladem: https://www.exasoft.cz/i6ws/Default.asmx/GetResult?resultType=StoItemQtyFree
  • základní vlastnosti vice produktů, u kterých došlo ke změně mezi 13.06.2005-06.06.2079: https://www.exasoft.cz/i6ws/Default.asmx/GetResultByFromTo?resultType=StoItemBase&from=2005-06-13&to=2079-06-06

Ukázkové stažení s výsledným uložením XML souboru pomocí VBScriptu

Option Explicit
Main
Private Sub Main
   Dim strUrl, strFile
   strUrl = "https://JMENO:HESLO@www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=GEM250304"
   strFile = "C:\StoItemBase.xml"
   With CreateObject("MSXML2.XMLHTTP")
   WScript.Echo "Opening url: " & strUrl
  .Open "GET", strUrl, False
   .Send
   If .Status <> 200 Then Err.Raise vbObjectError + 1, "GetResponseXml", "Bad response status: [" & .Status & "] " & .StatusText & vbCrLf & .ResponseText
   WScript.Echo "Saving file: " & strFile
   .ResponseXml.Save strFile
   WScript.Echo "Done."
   End With
End Sub

Pokud se obsah bloku uloží do textového souboru s názvem: i6ws_client.vbs, lze jej pak spustit v příkazovém řádku CMD.EXE jako: cscript.exe i6ws_client.vbs. Script provede stažení základních informací o produktu GEM250304 a jeho uložení do souboru: C:\StoItemBase.xml.

Popis struktury exportu StoItemBase

StoItemBase je základní export poskytující informace produktech. Další produktové exporty jsou často jeho podmnožinou (jen ceny, informace o skladech apod.) Za použití URL z ukázky výše:

https://JMENO:HESLO@www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemBase&code=GEM250304

by byla stažena následující XML struktura:

<Result
   UrlBase="string | základní URL pro tvorbu odkazu na produkt"
   UrlBaseThumbnail="string | základní URL pro tvorbu odkazu na obrázek - malý"
   UrlBaseImg="string | základní URL pro tvorbu odkazu na obrázek - běžný"
   UrlBaseEnlargement="string | základní URL pro tvorbu odkazu na obrázek - velký">
       <StoItem
          Id="number | jednoznačná identifikace produktu (aut. číslo), zřetězením, s atributy Url* lze dostat výsledný link"
          Code="string | jednoznačná identifikace produktu jako text (slouží k vyhledávání apod.)"
          Code2="string | alternativní identifikace produktu"
          PartNo="string | kód výrobce"
          PartNo2="string | EAN kód výrobce"
          Name="string | název produktu na e-shopu"
          NameAdd="string | alternativní název produktu"
          NameDoc="string | fakturační / systémový název produktu"
          ManName="string | název výrobce"
          PriceEU="number | doporučená koncová cena včetně poplatků bez DPH"
          PriceDea="number | celková cena produktu včetně poplatků bez DPH"
          PriceRef="number | výsledná hodnota recyklačního poplatku bez DPH"
          PriceRef2="number | výsledná hodnota autorského poplatku bez DPH""
          TaxRate="number | sazba DPH"
          QtyFree="number | info o produktu skladem ve smyslu ANO/NE, skutečný stav skladu možno zobrazit po domluvě"
          WarDur="number | doba záruky přepočtena na dny - pro podnikatele"
          WarDurEU="number | doba záruky přepočtena na dny - pro koncové uživatele"
          SNTrack="bit | informace o tom, jestli se u produktů sledují sériová čísla"
          ThumbnailIs="bit | informace o tom, má-li produkt obrázek - malý"
          ThumbnailSize="number | informace o velikosti obrázku - malý"
          ImgIs="bit | informace o tom, má-li produkt obrázek - běžný"
          ImgSize="number | informace o velikosti obrázku - běžný"
          EnlargementIs="bit | informace o tom, má-li produkt obrázek - velký"
          EnlargementSize="number | informace o velikosti obrázku - velký"
          SisName="string | stav produktu (novinka, výprodej apod.)"
          NoteShort="string | zkrácená poznámka"
          Note="string | poznámka"
       />
</Result>

Pro úsporu velikosti XML nejsou nulové nebo prázdné atributy vůbec vráceny.

  • prázdné texty - např.: Code2, PartNo, PartNo2, NameAdd, NameE, ManName, SisName, NoteShort, Note
  • NULL /nepřiřazené hodnoty - např.: PriceRef, RefProName, RefCode, PriceRef2, RefProName2, RefCode2, WeightRef, MeasureRef2
  • nulové hodnoty - např: QtyFreeIs, QtyFree, SNTrack, ThumbnailIs, ThumbnailSize, ImgIs, ImgSize, EnlargementIs, EnlargementSize

Bližší komentář k některým atributům:

  • ThumbnailIs | ThumbnailSize + ImgIs | EnlargementSize + EnlargementIs | EnlargementSize - Drive exportované informace jen ve smyslu ANO/NE *Is lze nahradit nově přidanými *Size (*Is = 1 je to stejné jako *Size > 0)
    • *Is sloupce zůstaly jen pro zpětnou kompatibilitu.
    • Ze *Size lze detekovat změnu obrázku (dá se předpokládat, že se změnou obrázku se změní také jeho velikost)
  • WarDur + WarDurEU - Záruka je v systému vedena jako Doba(2,24,...)+Jednotka(Rok, Měsíc,...).
    • Ve službě je pro univerzálnost přepočtena na dny.
    • Z takto exportované hodnoty lze udělat zpětný přepočet:
      • MAXINT=2147483647 - jedná se o doživotní záruku
      • Je-li číslo beze zbytku dělitelné 365 - jde udělat přepočet na roky
      • Je-li číslo beze zbytku dělitelné 31 - jde udělat přepočet na měsíce.

Tvorba odkazu z exportovaných údajů:

Pro úsporu místa jsou konstantní části odkazu uvedeny v atributech jen jednou v kořenovém elementu Result.

Výsledný odkaz se vytvoří zřetězením atributu UrlBase* z kořenového elementu Result a atributem Id z řádkového elementu StoItem, takže:

  • UrlBase + Id = odkaz na stránku s detailem produktu na e-shopu distributora
  • UrlBaseThumbnail + Id = odkaz na obrázek (malý), má smysl jen pokud ThumbnailSize > 0
  • UrlBaseImg + Id = odkaz na obrázek (běžný), má smysl jen pokud ImgSize > 0
  • UrlBaseEnlargement + Id = odkaz na obrázek (velký), má smysl jen pokud EnlargementSize > 0

OBJEDNAVANI

Poskytuje služba/stránka: Order.asmx https://www.exasoft.cz/i6ws/Order.asmx

služba nemusí být povolena. Pokud služba není funkční, končí volání služby stavovým kódem: 501 Not Implemented

Lze jednoduše vyzkoušet GET požadavkem: https://JMENO:HESLO@www.exasoft.cz/i6ws/Order.asmx/GetStatus?Id=0 (dotaz na neexistující objednávku - vrátí buď chybu 500, nebo 501 - vůbec nezná metodu).

Vlastní popis objednávání přes webovou službu je v samostatném dokumentu: OrderReadMe.txt, https://JMENO:HESLO@www.exasoft.cz/i6ws/OrderReadMe.txt

 
 
 
 
 
 
Odběr novinek

Pravidelně čersté informace

773362000

V pracovní dny 9:00 - 17:00

info@exasoft.cz

Pište Vaše dotazy a připomínky

 
 

© ExaSoft Holding a.s.   Technické řešení © 2024 CyberSoft s.r.o. Tyto stránky používají soubory cookies, více informací se můžete dozvědět zde.

Podle zákona o evidenci tržeb je prodávající povinen vystavit kupujícímu účtenku.
Zároveň je povinen zaevidovat přijatou tržbu u správce daně online; v případě technického výpadku pak nejpozději do 48 hodin.


Zobrazit klasickou verzi