- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Napojeni na webovou sluzbu 100MEGA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dobry den, na strane 100MEGA je webova sluzba vracejici XMLko: http://eshop.100mega.cz/i6ws/ Tam se prihlasite logovacimi udaji, jake Vam byly zaslany. Na strance: http://eshop.100mega.cz/i6ws/ResultTypeInfo.ashx je seznam selectu, ktere sluzba vraci + povolene casy, kdy lze data cerpat (vetsi objemy jen mimo hlavni prac. dobu) XML lze stahovat vsemi metodami (GET/POST/SOAP). Sluzba umi vracena data komprimovat (gzip, deflate), pokud se pozadavek vysle s hlavickou: Accept-Encoding: gzip, deflate Nize je ukazka jednoducheho scriptu, ktery stahne a ulozi XMLko. Jsou tam zakomentovane ruzne ukazky volani webove sluzby. Stejne tak pro stahnuti muzete pouzit wget nepo pod. utility. K webove sluzbe lze take pristoupit pres prohlizec: http://eshop.100mega.cz/i6ws/ kde je jednoduche graficke rozhrani pro "rucni" vyzkouseni sluzby. V XML nejsou pro usporu velikosti kompletni linky, ale musi se dotvorit (napr. export: StoItemBase). V korenovem elementu jsou konstantni casti linku, napr.: Link pro detail produktu: UrlBase="http://eshop.100mega.cz/?cls=stoitem&stiid=" Link pro velky obrazek produktu: UrlBaseImg="http://eshop.100mega.cz/img.asp?stiid=" Link pro nahlede produktu: UrlBaseThumbnail="http://eshop.100mega.cz/img.asp?attname=thumbnail&attpedid=52&attsrcid=" Vysledny link se pak vytvori, ze se nakonec zretezi hodnota z attributu Id. Ze produkt ma obrazek rikaji bitove(0x1) attributy: ImgIs, ThumbnailIs. V exportech se zaruka (WarDur) prevadi prepoctena na dny (v sytemu je vedena jako doba+jednotka) MAXINT=2147483647 znamena dozivotni zaruku. Pokud je vedena v mesicich, tak vyjde prepocet: /31, pokud v rocich tak /365. Strucny popis exportu: SCategorySys - ciselnik kategorii StoItemBase - zakladni informace o produktech StoItemPriceOrd - ceny (vcetne specilanich) StoItemQtyFree - export stavu skladu StoItemSiv - export vsech udaju do I6 modulu dodavatele/odberatele produktu SPresentTree - stromova struktura StrStiSync - stromova struktura + produkty (pro synchronizaci mezi I6 systemy) Order - export objednavek (vcetne B2C informaci) ZCompany - export B2C uzivatelu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ukázkový jednoduchý script na stažení XML výstupu webové služby ve VBScriptu strUrl se píše ve tvaru: strUrl = "http://JMENO:HESLO@eshop.100mega.cz/i6ws/default.asmx/NAZEV_METODY?resultType=NAZEV_RESULTU&PRIPADNE_PARAMETRY" (JMENO + HESLO se musi prepsat zaslanymi udaji) NAZEV_METODY + PRIPADNE_PARAMETRY GetResult + resultType GetResultByCode + resultType, code GetResultByFromTo + resultType, from, to Ukázka pro stažení základních informací o produktu s kódem: 123456. Kod nize ulozete napt. jako i6ws_client.vbs a nasledne spuste pres: cscript.exe i6ws_client.vbs ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Option Explicit Main Private Sub Main Dim strUrl, strFile strUrl = "http://JMENO:HESLO@www.SERVER.cz/i6ws/default.asmx/GetResultByCode?resultType=StoItemBase&code=123456" strFile = "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 ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ukazky dalsich URL: zakladni vlastnosti vsech produktu: ... default.asmx/GetResult?resultType=StoItemBase zakladni vlastnosti produktu 600623: ... default.asmx/GetResultByCode?resultType=StoItemBase&code=600623 info o skladu produktu 600623: ... default.asmx/GetResultByCode?resultType=StoItemQtyFree&code=600623 info o cene produktu 600623: ... default.asmx/GetResultByCode?resultType=StoItemPriceOrd&code=600623 zakladni vlastnosti produktu, ke kterym doslo ke zmene mezi 13.06.2005-06.06.2079: ... default.asmx/GetResultByFromTo?resultType=StoItemBase&from=2005-06-13&to=2079-06-06