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)