Oblíbená slevová akce na značku SENCOR je zpět! Využijte slevu 20 % na pečlivě vybrané produkty. Platí od 15. do 25. srpna.

Datová výměna

Datová výměna - dokumentace webové služby

Webová služba pro automatizovanou datovou výměnu umožňuje partnerům přístup k produktovým datům, cenám, skladové dostupnosti a dalším informacím prostřednictvím standardního rozhraní.

Základní popis služby

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.

Komunikační protokoly

  • SOAP - plná podpora protokolu SOAP
  • GET/POST - u metod s jednoduchými parametry (exporty) lze použít HTTP GET/POST
  • WSDL - služba poskytuje popis pomocí WSDL pro programové napojení

Komprese dat

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

Zdarma
  • Informace o skladové dostupnosti
  • Informace o cenách
  • Základní produktové informace

Neobsahuje produktové technické parametry, popisky a obrázky.

Full verze

1 000 Kč / měsíc
  • Vše z Lite verze
  • Detailní produktové informace
  • Technické parametry
  • Popisky produktů
  • Obrázky produktů

Splatné dopředu.

Exporty dat

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

Dostupné metody

Metoda Popis
GetResult Vrací všechna data (resp. 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ů v seznamu exportů

  • 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
  • Description - Popis exportu
Tip: Pokud jsou vyšedlé nějaké dny v |Allowed days of week| nebo hodiny v |Allowed hours|, nejde metoda v danou dobu zavolat (např. pro použití jen mimo hlavní pracovní dobu nebo jen o víkendu).
Jednoduché stažení pomocí metody GET

Základní syntaxe URL

https://JMENO:HESLO@www.exasoft.cz/i6ws/Default.asmx/NAZEV_METODY?resultType=NAZEV_RESULTU&PARAMETRY

Parametry URL

Parametr Popis
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=

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

Informace o skladové dostupnosti všech produktů:

https://www.exasoft.cz/i6ws/Default.asmx/GetResult?resultType=StoItemQtyFree

Stav skladu jednoho produktu dle Part Number PP12-2M:

https://www.exasoft.cz/i6ws/Default.asmx/GetResultByCode?resultType=StoItemQtyFree&code={PartNo}PP12-2M

Informace o cenách všech produktů:

https://www.exasoft.cz/i6ws/Default.asmx/GetResult?resultType=StoItemPriceOrd

Produkty změněné mezi daty:

https://www.exasoft.cz/i6ws/Default.asmx/GetResultByFromTo?resultType=StoItemBase&from=2005-06-13&to=2079-06-06
Poznámka: Aby fungovala syntaxe JMENO:HESLO@ s přihlašovacími údaji přímo v URL, je třeba při ručním zkoušení v Internet Exploreru toto explicitně povolit. Jinak použijte URL bez JMENO:HESLO@ - prohlížeč při prvním požadavku zobrazí přihlašovací dialog.
Ukázkové stažení pomocí VBScriptu

Následující VBScript ukládá stažená XML data do souboru:

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

Jak použít

  1. Obsah bloku uložte do textového souboru s názvem: i6ws_client.vbs
  2. Upravte proměnné strUrl (doplňte JMENO a HESLO) a strFile (cílová cesta)
  3. Spusťte v příkazovém řádku CMD.EXE jako: cscript.exe i6ws_client.vbs

Script provede stažení základních informací o produktu a jeho uložení do souboru C:\StoItemBase.xml.

Popis struktury exportu StoItemBase

StoItemBase je základní export poskytující informace o produktech. Další produktové exporty jsou často jeho podmnožinou (jen ceny, informace o skladech apod.)

Ukázka XML struktury

<Result UrlBase="string | základní URL pro odkaz na produkt" UrlBaseThumbnail="string | URL pro malý obrázek" UrlBaseImg="string | URL pro běžný obrázek" UrlBaseEnlargement="string | URL pro velký obrázek"> <StoItem Id="number | jednoznačná identifikace produktu" Code="string | kód produktu" Code2="string | alternativní kód" PartNo="string | kód výrobce" PartNo2="string | EAN kód" Name="string | název produktu" NameAdd="string | alternativní název" NameDoc="string | fakturační název" ManName="string | název výrobce" PriceEU="number | doporučená cena bez DPH" PriceDea="number | celková cena bez DPH" PriceRef="number | recyklační poplatek" PriceRef2="number | autorský poplatek" TaxRate="number | sazba DPH" QtyFree="number | skladem ANO/NE" WarDur="number | záruka v dnech (podnikatelé)" WarDurEU="number | záruka v dnech (koncový zákazník)" SNTrack="bit | sledování sériových čísel" ThumbnailIs="bit | má malý obrázek" ThumbnailSize="number | velikost malého obrázku" ImgIs="bit | má běžný obrázek" ImgSize="number | velikost běžného obrázku" EnlargementIs="bit | má velký obrázek" EnlargementSize="number | velikost velkého obrázku" SisName="string | stav produktu" NoteShort="string | zkrácená poznámka" Note="string | poznámka" /> </Result>

Důležité poznámky k atributům

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

  • Prázdné texty - Code2, PartNo, PartNo2, NameAdd, ManName, SisName, NoteShort, Note
  • NULL hodnoty - PriceRef, PriceRef2, WeightRef, MeasureRef2
  • Nulové hodnoty - QtyFree, SNTrack, ThumbnailIs, ImgIs, EnlargementIs

Záruka (WarDur, WarDurEU)

Záruka je v systému vedena jako Doba + Jednotka. Ve službě je přepočtena na dny:

  • MAXINT (2147483647) - doživotní záruka
  • Dělitelné 365 beze zbytku - přepočet na roky
  • Dělitelné 31 beze zbytku - přepočet na měsíce

Tvorba odkazů z exportovaných údajů

Konstantní části odkazu jsou uvedeny v kořenovém elementu Result. Výsledný odkaz se vytvoří zřetězením:

Zřetězení Výsledek
UrlBase + Id Odkaz na stránku s detailem produktu
UrlBaseThumbnail + Id Odkaz na malý obrázek (pokud ThumbnailSize > 0)
UrlBaseImg + Id Odkaz na běžný obrázek (pokud ImgSize > 0)
UrlBaseEnlargement + Id Odkaz na velký obrázek (pokud EnlargementSize > 0)
Objednávání přes webovou službu

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

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

Test dostupnosti služby

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).

Dokumentace objednávání

Vlastní popis objednávání přes webovou službu je v samostatném dokumentu:

https://JMENO:HESLO@www.exasoft.cz/i6ws/OrderReadMe.txt
Kontakt pro technickou podporu

V případě dotazů ohledně datové výměny nebo pro získání přístupových údajů kontaktujte:

ExaSoft Holding, a.s.

Technická podpora B2B
e-mail: info@exasoft.cz
tel.: 773 362 000