POPIS PRACE S OBJEDNAVKAMI PRES WEBOVOU SLUZBU I6WS ===================================================================== Zakladani objednavek: WebMethod: Create --------------------------------------------------------------------- Obecny popis: ----------------------------- Pozadavky na vytvoreni objednavky se zasilaji pomoci XML struktury: Order. Vysledkem vlozeni objednavky je zase XML struktura Order, kde je vracen finalni stav vytvorene objednavky, tak jak je ulozena v informacnim systemu distributora. (Stav se muze lisit, napr. o automaticky pridane dopravne a pod.) Kompletni XML struktura Order je vypsana v detailu WebMetody Create primo v detailu webove sluzby (Order.asmx?op=Create). Nektere attributy struktury Order jsou jen pro cteni (vraceni finalniho stavu), pro zapis slouzi jen cast z attributu - viz ukazky vytvoreni objednavek nize. Vsechny uvedene ukazky XML jsou az element , ktery jeste musi byt vlozen SOAP obalky: Pro testovani lze pouzivat attribut Type v elementu ..., coz bude vytvaret jen nezavazne nabidky, ktere neblokuji zbozi. Type="0"(default) vytvari bezne objednavky. Zalozeni objednavky B2B: Minimalni verze ----------------------------- Staci zaslat jen sadu polozek s kodem + mnozstvim. Zbyle potrebne udaje se vezmou z defaultnich nastaveni systemu. Zalozeni objednavky B2B: Sirsi nastaveni ----------------------------- Vlastni kod lze specifikovat pomoci CodeO. Zasilane CodeO musi byt jedinecne. Pokud CodeO neni specifikovano, generuje se z nastavene ciselne rady objednavek. Vyber zpusobu dopravy lze specifikovat pomoci ZDmDemIdO. Obor hodnot _WS_DIST_XXX viz. nastaveni. Dodaci adresa se specifikuje elementem ComShipTo. V odpovedi se vrati Id dodaci adresy, jak je vedeno v informacnim systemu. Pokud se bude Id dodaci adresy zasilat take v pozadavku bude se dodaci adresa aktualizovat a ne zakladat nova. Aby se dodaci adresy nemnozily, tak doporucujeme Id dodaci adresy ukladat a v pozadavku zasilat. Seznam dodacich adres, jak jsou evidovany u distributora viz. nastaveni. Upozorneni: Polozky nazpet nemusi byt vraceny 1:1. Objednavka muze projit upravou v I6 (triggery/rucni editace) typu: pridani dopravneho, vymena produktu, u sestav rozpad, pridani zahakovanych polozek a pod. Pri zpetnem nacteni vracenych polozek je idealni umet polozku zpracovat i bez reference na vlasni produkt. Zalozeni objednavky B2C ----------------------------- B2C objednavky jsou zasilany distributorem primo koncovemu zakaznikovi s doklady dealera. Fcnost nemusi byt vsemi distributory podporovana, pokud neni vrati se chyba: "ZDirect hasn't configured!" + tato moznost musi byt distributorem dealerova povolena/nakonfigurovana, pokud neni vrati se chyba: "ZDirect hasn't allowed!". Udaje o koncovem zakaznikovi se specifikuji v elementu ZCompany. Na udaje v ZCompany se vystavuje take faktura. Pokud neni uveden element ComShipTo zasila se zbozi na adresu v ZCompany jinak na adresu v ComShipTo. Stejne jako je dobre si pamatovat ComShipTo/@Id (viz ukazka vyse), je dobre si take pamatovat vracene id koncovych zakazniku ZCompany/@Id a zasilat je nazpet, aby se duplicitne nezakladali znovu. Seznam koncovych zakazniku, jak jsou evidovany u distributora viz. nastaveni. V attributu Order/@Tag lze specifikovat oznaceni objednavky od koncoveho zakaznika. Cena jaka se ma vytisknout na B2C FA se specifikuje v attributu: OrdItem/@ZPrc (cena bez DPH a poplatku). Pokud je zbozi koncovemu zasilane na dobirku, tak penize se zasilaji na ucet dealera, ktery ma distrubutor zaregistrovany. (Z bezpecnostnich duvodu nelze ucet specifikovat primo v pozadavku - musi se o pripadnou zmenu pozadat distributor.) Pokud v B2C objednavkach je treba koncovym zakaznikum uctovat navic sluzby (dopravne, balne a pod.), tak takoveto polozky se vkladaji kodem obecne sluzby, ktery lze ziskat v exportu: ZShop - pole: @StiCodeService. U sluzby pak muzete v polozkach specifikovat take jeji nazev, napr. Zjistovani stavu objednavek: WebMethod: GetStatus* --------------------------------------------------------------------- Kdykoli se lze dotazat na stav objednavky. Pri dotazu na stav objednavky je vracena stejna XML struktura, jako po vlozeni objednavky. Vstupni parametr je Id objednavky u distributora. Ve vracenem XML se postupne aktualizuji/pridavaji udaje a lze mj. zjistit: OrdItem/@Block - stav blokovani polozek OrdItem/@Proc - stav zpracovanych(fakturovanych) polozek OrdItem/@Deliv - stav vydanych polozek OrdItem/@Prc - cena polozky B2B (+ @PrcRef/recyklacni popl./ + @PrcRef2/autorsky popl./ * @TaxRate/%DPH/) OrdItem/@ZPrc - cena polozky B2C (+ @ZPrcRef/recyklacni popl./ + @ZPrcRef2/autorsky popl. z B2C ceny/ * @TaxRate/%DPH/) InvoiceList - seznam faktur z dane objednavky ExpeditionList - seznam expedic SNList - seznam zaruk/seriovych cisel Pro vice objednavek najednou se lze dotazovat pomoci metod: GetStatusListAppendReady - vrati seznam vsech otevrenych objednavek, do kterych lze pridavat polozky (- detaily viz sekce nize: Editace objednavek) GetStatusListChanged - vrati seznam objednavek zmenenych po zadanem datu GetStatusListChangedExpS - vrati seznam objednavek s odeslanou expedici po zadanem datu (optimalizovano pro detekci expedic zbozi) GetStatusListOpened - vrati seznam vsech otevrenych objednavek Stav objednavek pres metody GetStatus* lze zjistovat pro vsechny objednavky, nejen pro objednavky vytvorene pres webovou sluzbu. Stejne tak lze objednavky vytvorene pres webovou sluzbu vizualne sledovat v eShopu distributora, kde lze take provadet export tiskovych sestav objednavek a souvisejich dokumentu Nastaveni: (seznam ciselniky) --------------------------------------------------------------------- Vypis zpusobu doprav - obor hodnot: Order/@ZDmDemIdO ----------------------------- Default.asmx/GetResult?resultType=OrderDelivMode @Code - obor hodnot pro @ZDmDemIdO @Type - 0...Dopravy za pouziti plateb prevodem (bezhotovostne) 1...Osobni odbery 2...Dobirky @IsB2B - lze pouzit pro objednavky B2B @IsB2C - lze pouzit pro objednavky B2C @IsDefault - Vase vychozi doprava Vypis zpusobu plateb - obor hodnot: Order/@PawId ----------------------------- Default.asmx/GetResult?resultType=OrderPaymentMode @Type - 1...Hotove 2...Dobirkou ?...Bezhotovostni Neni-li @PawId zadano, tak se dohleda vhodny zpusob platby na zakladeni zpusobu dopravy. Je-li explicitne zadano, tak se kontroluje ke zpusobu dopravy, ze oba typy musi byt bud dobirkova @Type=2 nebo oba nedobirkove @Type<>2. Vypis dodacich adres evidovanych distributorem ----------------------------- Default.asmx/GetResult?resultType=ComShipTo @Type - 0...Dodaci adresa pro B2B objednavku 1...Dodaci adresa pro B2C objednavku @Hide - nepouzivana dodaci adresa Vypis koncovych zakazniku evidovanych distributorem ----------------------------- Default.asmx/GetResult?resultType=ZCompany Vypis bankovnich uctu evidovanych distributorem ----------------------------- Default.asmx/GetResult?resultType=ComBank @IsDefault - Vychozi ucet (na tebnto budou prevadeny penize z B2C dobirek) Vypis nastaveni ciselniku ----------------------------- Default.asmx/GetResult?resultType=ZShop @OrdCode - aktualni ciselnik objednavek (inkrementuje se, kdyz se neposle vase oznaceni Orders/@OrdCode) @InvCode - aktualni ciselnik B2C faktur (inkrementuje se, kdyz se vytori nova B2C faktura) @DelCode - aktualni ciselnik B2C dodacich listu (inkrementuje se, kdyz se vytori novy B2C dodaci list) @InvFooter - paticka(volny text) B2C faktury Vlastnosti vyse lze nastavit metodou Order.asmx/SetOption Vlastnosti @OrdCode|@InvCode|@DelCode musi koncit alespon nekolikacifernym cislem napr.: 2008-00001 (max. 10 znaku) @StiCodeService - informativne vrati kod B2C sluzby. Editace objednavek ----------------------------- Seznam objednavek vhodnych k pridavani/ruseni polozek vrati metoda: Order.asmx/GetStatusListAppendReady Nad temito objednavkami lze volat tyto metody: AppendNoteText - Prida text do poznamky objednavky. Lze pouzit pro jakousi zjednodusenou komunikaci s obchodnim oddelenim (napr. pridavani textu typu: zatim nefakturovat, fakturovat po 16h a pod.) AppendStoItem - Prida produkt do stavajicici objednavky. Pridani se provede jako dalsi polozka za aktualni cenu. Pokud uz by produkt v objednavce byl, tak bude v objednavce na vice polozkach => pro plnou fcnost musi byt parametr: OriUniq nastaven na hodnotu: Ne CancelItem - Zrusi/snizi mnozstvi na polozce objednavce. Nyni fcni jen pro standardni polozky (ne bundly, sestavy, a pod.) Pokud se preda mnozstvi OrdItemQty > 0, tak se mnozstvi snizi (resp. zvysi se polozka: OrdItemCanc) o zadane mnozstvi, nejedna se tedy o absolutni hodnotu, ale o aktualne snizovany pocet. Preda-li se OrdItemQty=0 zrusi se vsechno aktualne otevrene mnozstvi na polozce CancelStoItem - Kompletne zrusi/vystornuje z objednavky predany produkt. Spolu s produktem se zrusi i pripadne s nim souvisejici polozky (polozky sestav, zahakovane produkty, zvyhodnene nabidky a pod.) Pro Cancel* metody musi mit uzivatel navic pravo dovolujici snizeni poctu: Webová služba/i6ws - speciální nastavení | Order-Create-AllowCancel Vysznam atributu struktury Order ----------------------------- Id: Id objednavky (automaticke cislo) Code: kod objednavky CodeO: zakaznikovo oznaceni objednavky CurCode: mena DelFrom + DelTo: Dodat od - do DelCompl: dodat komplet InvReady: odpovida [x] Fakturovat v hlav. obj., kdyby jste nejak ridili cas fakturace PayTI: splatnost (dny) Ref: sleduji se recyklacni poplatky Ref2: sleduji se autorske poplatky Tag: tag (takove dodatecne info/oznaceni objednavky) Tax: s dani Type: 0 objednavka | 1 nabidka (nezavazna objednavka) ZDirect: prima dodavka (zbozi zasilate Vy na jeho zakaznika) ZDmdemIdO: oznaceni dopravy - viz. reference do zp. doprav OrderDelivMode ZDmName: nazev dopravy PawId: typ platby 0 - viz. reference do zp. doprav OrderPaymentMode PawName - nazev platby QudId: fronta/sklad QudName: nazev fronta/sklad ZIPrn: ze se ma delat/pocitat B2C faktura (jako vy smyslu ceny/dobirky az na koncoveho zakaznika) Note: poznamka ZsRndInv: zpusob zaokrouhleni SyncId: interni id pro prip. synchronizaci OrderDelivMode - zpusoby dopravy (reference do Order.ZDmDemIdO) Code - kod oznaceni Name - nazev Type - 0 bezhotovostni | 1 osobni | 2 dobirky IsB2B - jde pouzit pro B2B objednavky (Vy-dealer) IsN2C - jde pouzit pro B2C objednavky (Vy-koncak) IsDefault = je vychozi OrderPaymentMode - zpusoby platby (reference do Order.PawId) PawId: id dopravy PawName: nazev dopravy Type - 0 neurceno | 1 hotove | 2 dobirky | 3 prikazem (bezhotovostne) Platby a dopravy jde spolu kombidovat jen Typ = 2 nebo Typ <> 2 (tj. jen dobirkova platba i doprava nebo obe nedobirkove)