ExternalOrders - Komunikačný protokol - SOAP
Obsah
- 1 Úvod
- 2 Popis rozhrania
- 3 Predvolený spôsob platby
- 4 Štandardné štruktúry
- 5 Štruktúry prispôsobené potrebám PHP
- 6 Podporné metódy komunikácie
- 7 Metódy pre získanie číselníkov
- 7.1 metóda getPLUList
- 7.2 metóda phpGetPLUList
- 7.3 metóda getDiscountList
- 7.4 metóda phpGetDiscountList
- 7.5 metóda getPaymentTypeList
- 7.6 metóda phpGetPaymentTypeList
- 7.7 metóda getOrderTypeList
- 7.8 metóda phpGetOrderTypeList
- 7.9 metóda getOrderStatusList
- 7.10 metóda phpGetOrderStatusList
- 7.11 metóda getMessageTypeList
- 7.12 metóda phpGetMessageTypeList
- 7.13 metóda getMessageStatusList
- 7.14 metóda phpGetMessageStatusList
- 8 Objednávky
- 9 Správy
- 10 Ako na to
Úvod
Rozhranie, resp. komunikačný interface ExternalOrders prináša možnosť vytvárania objednávok vybraného sortimentu (prevažne jedál) priamo (online) v reštauračnom systéme Asseco BLUEGASTRO. Tento dokument má za úlohu opísať spôsob použitia. Popísať jednotlivé štruktúry a jednotlivé metódy, ktorými je možné túto funkčnosť využívať.
Celý systém objednávania je navrhnutý tak, aby objednávky mohli byť priamo smerované na jednotlivé prevádzky, tak, aby objednávanie nebolo zdržiavané replikáciou, ktorá funguje v systéme Asseco BLUEGASTRO na úrovni lokálnych (tzv. offline) prevádzok.
Táto filozofia je veľmi progresívna dokáže dokonale pokryť súčasné požiadavky zákazníka.
Princípom využitia je vybudovanie tenkej vrstvy – klienta pre web, ktorý zabezpečuje komunikáciu s hosťom na webe a jeho podporný systém si synchronizuje vybrané číselníky zo systému Asseco BLUEGASTRO tak, aby pomocou nich vedel exaktne objednávať požadované jedlá (PLU).
Túto vrstvu z pravidla zabezpečuje externá firma, s ktorou uvedený zákazník spolupracuje. Systém ako taký je využiteľný vo svojej podstate aj na telefonickú objednávku jedál s tým, že sprostredkovateľom je operátor pri telefóne.
Popis rozhrania
Komunikácia medzi systémami prebieha systémom „request - response“ cez webové služby (prenosový protokol HTTP), technológiou SOAP s popisným dokumentom WSDL.
Webové služby budú vystavené len na strane Asseco BLUEGASTRO, teda externá aplikácia sa bude dotazovať na vystavený interface na strane systému Asseco BLUEGASTRO a tá bude iba odpovedať.
Poskytované metódy sú zoradené do dvoch skupín, prvá z nich slúži na tzv. synchronizáciu číselníkov druhá je výkonná a pomocou nej sa realizuje samotná business požiadavka. Všetky metódy sú definované vo WSDL schéme.
V čase komunikácie môžu vzniknúť výnimky, ktoré sú samopopisné a pochádzajú priamo zo systému Asseco BLUEGASTRO a na základe validácie jeho spracovania môžu byť ním generované.
Predvolený spôsob platby
Každá objednávka z externého systému, teda aj z webu, príde do systému Asseco BLUEGASTRO so stavom platby. Stavy môžu byť:
- Platená - tieto objednávky zároveň musia mať zaslané aj ID spôsobu platby.
- Neplatená
Objednávka platená
Ak je objednávka v stave platená, musí mať aj definované ID spôsobu platby, ktorý ako jediný bude predvolený na uzatvorenie objednávky (otvoreného účtu). V tomto prípade bude na pokladni umožnený len spôsob platby - tlačidlo „Kombinovaná platba“ a po jeho stlačení sa plne automaticky systémom vytvorí platba podľa zaslaného ID z webu a túto platbu už bude možné iba potvrdiť alebo zrušiť. Inak povedané v tomto prípade používateľ nebude môcť vyberať žiadny spôsob platby. Automatické vytvorenie tejto platby sa vykoná aj v prípade, že daný používateľ túto platbu má zakázanú.
Objednávka neplatená
Ak objednávka je v stave neplatená, musí mať možnosť užívateľ zaplatiť objednávku všetkými jemu povolenými spôsobmi platby, vrátane platby na vernostného zákazníka.
Štandardné štruktúry
Popis štruktúr používaných pri komunikácii. Všetky štruktúry sú definované ako štandardné W3C XML SCHEMA typy http://www.w3.org/XML/Schema. Kompletnú XSD schému možno nájsť v príslušných WSDL popisných schémach ku.
DateFromTo
Pomocou tejto štruktúry sa dá definovať obdobie v rozmedzí s dátumom a časom od - do.
dateTimeFrom (dateTime)
– dátum a čas oddateTimeTo (dateTime)
- dátum a čas do
<xs:complexType name="dateFromTo"> <xs:sequence/> <xs:attribute name="dateTimeFrom" type="xs:dateTime" use="required"/> <xs:attribute name="dateTimeTo" type="xs:dateTime" use="required"/> </xs:complexType>
Discount
Štruktúra zľavy / prirážky.
id (int)
- Identifikačné číslo (ID) zľavy / prirážky v systéme Asseco BLUEGASTROname (string)
- názov zľavy / prirážkytype (string)
- typ zľava / prirážka, viď. discountTypeenabled (boolean)
- zľava / prirážka povolená (je možné ju vybrať cez štandardný vyberač na pokladni)
<xs:complexType name="discount"> <xs:sequence/> <xs:attribute name="enabled" type="xs:boolean" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="type" type="tns:discountType" use="required"/> </xs:complexType>
<xs:simpleType name="discountType"> <xs:restriction base="xs:string"> <xs:enumeration value="DISCOUNT"/> <xs:enumeration value="SURCHARGE"/> </xs:restriction> </xs:simpleType>
Message
Štruktúra Message a nesie v sebe údaje o správe.
Pokiaľ chcete využívať HTML tagy pri položkách v ktorých to je dovolené tento text je potrebne ohraničiť základným root-ovým tagom HTML dokumentu, <html>...</html> .
idExternalSystem (long)
- identifikačné číslo (ID) správy v externom systéme z pohľadu Asseco BLUEGASTROdate (dateTime)
- dátum vygenerovania správy na webemessageTypeId (int)
- typ správy (referencia na číselník typov správ)customerInfo (string)
- formátované informácie o zákazníkovi (užívateľ portálu ktorý registruje objednávku), môžu sa používať základné HTML tagy.
msg (string) - poznámka k správe, v rámci nej je možné používať základné HTML tagy.
<xs:complexType name="message"> <xs:sequence> <xs:element name="customerInfo" type="xs:string" minOccurs="0"/> <xs:element name="msg" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="date" type="xs:dateTime" use="required"/> <xs:attribute name="idExternalSystem" type="xs:long" use="required"/> <xs:attribute name="messageTypeId" type="xs:int" use="required"/> </xs:complexType>
MessageStatus
Štruktúra popisu stavu správy z číselníka.
id (int)
- Identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROname (string)
- názov stavu správyenabled (boolean)
- platný / neplatný stav správy
<xs:complexType name="messageStatus"> <xs:sequence/> <xs:attribute name="enabled" type="xs:boolean" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
MessageType
Štruktúra predstavuje typ správy.
id (int)
- identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROname (string)
- názov typu správy
<xs:complexType name="messageType"> <xs:sequence/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
OrderItem
Položka objednávky.
idPlu (int)
- identifikačné číslo (ID) v systéme Asseco BLUEGASTROamount (decimal)
- počet / množstvoprice (decimal)
- jednotková cena položkynote (string)
- poznámka k položke objednávky
<xs:complexType name="orderItem"> <xs:sequence> <xs:element name="note" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="amount" type="xs:decimal" use="required"/> <xs:attribute name="idPlu" type="xs:int" use="required"/> <xs:attribute name="price" type="xs:decimal" use="required"/> </xs:complexType>
OrderItemDiscount
Položka zľavy / prirážky objednávky.
idDiscount (int)
- identifikačné číslo (ID) zľavy pochádzajúce zo systému Asseco BLUEGASTROprice (decimal)
- hodnota zľavy – absolútna hodnota
<xs:complexType name="orderItemDiscount"> <xs:sequence/> <xs:attribute name="idDiscount" type="xs:int" use="required"/> <xs:attribute name="price" type="xs:decimal" use="required"/> </xs:complexType>
Order
Štruktúra objednávky.
idExternalSystem (long)
- identifikačné číslo (ID) objednávky v externom systéme (z pohladu BlueGastra)date (dateTime)
- dátum čas zapísania objednávky v externom systémeorderTypeId (int)
- identifikačné čislo (ID) z číselníka typov objednávokpayed (boolean)
- objednávka platenépaymentTypeId (int)
- identifikačné číslo (ID) spôsobu platby (v prípade, že objednávka bola platená alebo predpokladá sa určitý spôsob platby – pre budúcnosť)customerInfo (string)
- formátované informácie o zákazníkovi (užívateľ portálu ktorý registruje objednávku)note (string)
- poznámka k celej objednávkeitems (OrderItem[])
- položky objednávky, popis štruktúry môžete nájsť v kapitole 3.1.6discountItems (OrderItemDiscount[])
- položky zliav / prirážok objednávky, popis štruktúry si môžete pozrieť v kapitole
<xs:complexType name="order"> <xs:sequence> <xs:element name="customerInfo" type="xs:string" minOccurs="0"/> <xs:element name="note" type="xs:string" minOccurs="0"/> <xs:element name="items" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="item" type="tns:orderItem" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="discountItems" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="discountItem" type="tns:orderItemDiscount" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="date" type="xs:dateTime" use="required"/> <xs:attribute name="idExternalSystem" type="xs:long" use="required"/> <xs:attribute name="orderTypeId" type="xs:int"/> <xs:attribute name="payed" type="xs:boolean" use="required"/> <xs:attribute name="paymentTypeId" type="xs:int"/> </xs:complexType>
OrderStatus
Štruktúra popisného stavu objednávky z číselníka.
id (int)
- identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROname (string)
- názov stavu objednávkyenabled (boolean)
- povolený / zakázaný stav objednávky
<xs:complexType name="orderStatus"> <xs:sequence/> <xs:attribute name="enabled" type="xs:boolean" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
OrderType
Štruktúra typu objednávky.
id (int)
- identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROname (string)
- názov typu objednávky
<xs:complexType name="orderType"> <xs:sequence/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
PaymentType
Štruktúra typu platby.
id (int)
- identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROname (string)
- názov typu platbyenabled (boolean)
- povolený / zakázaný typ platby
<xs:complexType name="paymentType"> <xs:sequence/> <xs:attribute name="enabled" type="xs:boolean" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType>
PLU
Štruktúra predajnej jednotky – jedla – tovaru (PLU).
id (int)
- identifikačné číslo (ID) pochádzajúce zo systému Asseco BLUEGASTROcode (int)
- kód PLUname (string)
- názov PLUvatRate (decimal)
- sadzba DPHnote (string)
- poznámka k PLU
<xs:complexType name="plu"> <xs:sequence> <xs:element name="note" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="code" type="xs:int"/> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="vatRate" type="xs:decimal" use="required"/> </xs:complexType>
StatusOfMessage
Štruktúra stavu správy.
idMessage (long)
- identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTROidMessageExternalSystem (long)
- identifikačné číslo (ID) správy v externom systémelastChange (dateTime)
- posledná zmenamessageStatusId (int)
- identifikačné číslo (ID) stavu správy pochádzajúce z číselníkanote (string)
- zaevidovaná poznámka k stavu správy
<xs:complexType name="statusOfMessage"> <xs:sequence> <xs:element name="note" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="idMessage" type="xs:long" use="required"/> <xs:attribute name="idMessageExternalSystem" type="xs:long" use="required"/> <xs:attribute name="lastChange" type="xs:dateTime" use="required"/> <xs:attribute name="messageStatusId" type="xs:int" use="required"/> </xs:complexType>
StatusOfOrder
Štruktúra stavu objednávky.
idOrder (long)
- identifikačné číslo (ID) objednávky zo systému Asseco BLUEGASTROidOrderExternalSystem (long)
- identifikačné číslo (ID) objednávky z externého systémulastChange (dateTime)
- dátum a čas poslednej zmenyorderStatusId (int)
- identifikačné číslo (ID) stavu objednávky z číselníkanote (string)
- poznámka k stavu objednávky
<xs:complexType name="statusOfOrder"> <xs:sequence> <xs:element name="note" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="idOrder" type="xs:long" use="required"/> <xs:attribute name="idOrderExternalSystem" type="xs:long" use="required"/> <xs:attribute name="lastChange" type="xs:dateTime" use="required"/> <xs:attribute name="orderStatusId" type="xs:int" use="required"/> </xs:complexType>
Štruktúry prispôsobené potrebám PHP
Niektoré štruktúry používané v rámci komunikácie bolo nutné pre potreby PHP (klient strana) prispôsobiť. A to hlavne kvôli long (64-bitové číslo) typu, pretože PHP tento typ interpretuje v rámci SOAP ako integer (32-bitové číslo).
Nasledujúce štruktúry sú presnou kópiou svojich predkov s tým, že sú označené prefixom PHP.
PHPMessage
Predkom tejto štruktúry je štruktúra a nesie v sebe údaje o správe.
idExternalSystem (string)
– identifikačné číslo (ID) správy v externom systéme z pohľadu Asseco BLUEGASTRO, kedže nemohol byť použitý typ long bol nahradený typom string, ale pozor v reťazci je možné použiť iba numerické znaky, v opačnom prípade dôjde k vyvolaniu výnimkydate (dateTime)
– dátum vygenerovania správy na webemessageTypeId (int)
– typ správy (referencia na číselník typov správ)customerInfo (string)
– formátované informácie o zákazníkovi (užívateľ portálu ktorý registruje objednávku)msg (string)
– poznámka k správe
<xs:complexType name="phpMessage"> <xs:sequence> <xs:element name="customerInfo" type="xs:string" minOccurs="0"/> <xs:element name="msg" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="date" type="xs:dateTime" use="required"/> <xs:attribute name="idExternalSystem" type="xs:string" use="required"/> <xs:attribute name="messageTypeId" type="xs:int" use="required"/> </xs:complexType>
PHPOrder
Táto štruktúra je kópiou štruktúry a predstavuje štruktúru objednávky.
idExternalSystem (string)
– identifikačné číslo (ID) objednávky v externom systéme (z pohladu BlueGastra), kedže nemohol byť :*použitý typ long bol nahradený typom string, ale pozor v reťazci je možné použiť iba numerické znaky, v opačnom prípade dôjde k vyvolaniu výnimky
date (dateTime)
– dátum čas zapísania objednávky v externom systémeorderTypeId (int)
– identifikačné čislo (ID) z číselníka typov objednávokpayed (boolean)
– objednávka platenépaymentTypeId (int)
– identifikačné číslo (ID) spôsobu platby (v prípade, že objednávka bola platená alebo predpokladá sa určitý spôsob platby – pre budúcnosť)customerInfo (string)
– formátované informácie o zákazníkovi (užívateľ portálu ktorý registruje objednávku)note (string)
– poznámka k celej objednávkeitems (OrderItem[])
– položky objednávky, popis štruktúry môžete nájsť v kapitole 3.1.6discountItems (OrderItemDiscount[])
– položky zliav / prirážok objednávky, popis štruktúry si môžete pozrieť v kapitole 3.1.7
<xs:complexType name="order">
<xs:sequence>
<xs:element name="customerInfo" type="xs:string" minOccurs="0"/>
<xs:element name="note" type="xs:string" minOccurs="0"/>
<xs:element name="items" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="item" type="tns:orderItem" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="discountItems" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="discountItem" type="tns:orderItemDiscount" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="date" type="xs:dateTime" use="required"/>
<xs:attribute name="idExternalSystem" type="xs:long" use="required"/>
<xs:attribute name="orderTypeId" type="xs:int"/>
<xs:attribute name="payed" type="xs:boolean" use="required"/>
<xs:attribute name="paymentTypeId" type="xs:int"/>
</xs:complexType>
PHPStatusOfMessage
Štruktúra stavu správy je kópiou štruktúry .
idMessage (string)
– identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTRO
idMessageExternalSystem (string)
– identifikačné číslo (ID) správy v externom systéme
lastChange (dateTime)
– posledná zmena
messageStatusId (int)
– identifikačné číslo (ID) stavu správy pochádzajúce z číselníka
note (string)
– zaevidovaná poznámka k stavu správy
V položkách idMessage a idMessageExternalSystem bol nahradený oproti predkovi danej štruktúry typ long typom string, ale pozor v reťazci je možné použiť iba numerické znaky, v opačnom prípade dôjde k vyvolaniu výnimky.
<xs:complexType name="statusOfMessage">
<xs:sequence>
<xs:element name="note" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="idMessage" type="xs:string" use="required"/>
<xs:attribute name="idMessageExternalSystem" type="xs:string" use="required"/>
<xs:attribute name="lastChange" type="xs:dateTime" use="required"/>
<xs:attribute name="messageStatusId" type="xs:int" use="required"/>
</xs:complexType>
PHPStatusOfOrder
Štruktúra stavu objednávky. Táto štruktúra je kópiou štruktúry .
idOrder (string)
– identifikačné číslo (ID) objednávky zo systému Asseco BLUEGASTRO
idOrderExternalSystem (string)
– identifikačné číslo (ID) objednávky z externého systému
lastChange (dateTime)
– dátum a čas poslednej zmeny
orderStatusId (int)
– identifikačné číslo (ID) stavu objednávky z číselníka
note (string)
– poznámka k stavu objednávky
V položkách idOrder a idOrderExternalSystem bol nahradený oproti predkovi danej štruktúry typ long typom string, ale pozor v reťazci je možné použiť iba numerické znaky, v opačnom prípade dôjde k vyvolaniu výnimky.
<xs:complexType name="statusOfOrder">
<xs:sequence>
<xs:element name="note" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="idOrder" type="xs:string" use="required"/>
<xs:attribute name="idOrderExternalSystem" type="xs:string" use="required"/>
<xs:attribute name="lastChange" type="xs:dateTime" use="required"/>
<xs:attribute name="orderStatusId" type="xs:int" use="required"/>
</xs:complexType>
Podporné metódy komunikácie
Tak isto ako pri niektorých štruktúrach, tak aj pri metódach vznikla nutnosť kvôli PHP urobiť klony metód, ktoré používajú long typy. Tieto metódy sú označené prefixom „php...“.
Okrem metódy test je nutné posielať v parametri každej metódy idSystem, jedná sa o identifikačné číslo (ID), ktoré je nakonfigurované v systéme Asseco BLUEGASTRO a slúži na identifikáciu externého systému v BlueGastre, keďže takýchto systémov môže byť v reštauračnom systéme nakonfigurovaných viacero.
metóda test
Testovacia metóda slúži na overenie spojenia a najzákladnejšej funkčnosti na strane komunikačného interface-u. V parametri sa zasiela ľubovolný reťazec a metóda ho reverzne vracia späť.
string test(string text)
Vstupné parametre:
text (string)
– očakáva sa ľubovolný textový reťazec
Výstup:
string
– výstupom metódy je reverzný reťazec, ktorý bol zadaný v parametri volania metódy
metóda getVersion
Metóda getVersion slúži na získanie verzie webovej služby externých objednávok.
string getVersion(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
string
– číslo verzie webovej služby
metóda phpGetVersion
Kópia metódy getVersion (4.2) pre potreby PHP.
string phpGetVersion(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
string
– číslo verzie webovej služby
metóda isExistPLU
Metóda isExistPLU je určená na overenie, či PLU existuje v systéme Asseco BLUEGASTRO.
boolean isExistPLU(long idSystem, int idPLU)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
idPLU (int)
– identifikačné číslo (ID) PLU (predajnej jednotky) pochádzajúce z číselníka PLUčiek zo systému Asseco BLUEGASTRO
Výstup:
boolean
– pravdivostná hodnota, či PLU v systéme Asseco BLUEGASTRO existuje alebo nie
Výňatok z WSDL pre request:
<xs:complexType name="isExistPLU">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpIsExistPLU
Kópia metódy isExistPLU pre potreby PHP.
boolean phpIsExistPLU(string idSystem, int idPLU)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
idPLU (int)
– identifikačné číslo (ID) PLU (predajnej jednotky) pochádzajúce z číselníka PLUčiek zo systému Asseco BLUEGASTRO
Výstup:
boolean
– pravdivostná hodnota, či PLU v systéme Asseco BLUEGASTRO existuje alebo nie
Výňatok z WSDL pre request:
<xs:complexType name="phpIsExistPLU">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getGuestIdByEmail
Metóda slúži na získanie ID stáleho hosťa na základe emailovej adresy. Overujú sa emailové adresy len pre nevymazaných stálych hostí - povolených aj zakázaných.
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
email (string)
– mailová adresa stáleho hosťa
Výstup:
guestId
- id stáleho hosťa
Výnimky:
- 1 - mailová adresa neexistuje,
- 2 - mailovú adresu majú zaregistrovanú viacerí stáli hostia
Výňatok z WSDL pre request:
<xs:complexType name="getGuestIdByEmail">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getAccountStatus
Metóda slúži na získanie informácií o stave účtu stáleho hosťa.
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
guestId (long)
– ID stáleho hosťa. Toto ID je možné zistiť pomocou metódy getGuestIdByEmail
Výstup:
accountCreditValue
- stav konta hosťa.
guestId
- ID stáleho hosťa.
valid
- príznak, či je aktívna platnosť.
validFrom
- dátum platnosti od. Ak nie je platnosť zadaná, potom údaj nevrátime.
validTo
- dátum platnosti do. Ak nie je platnosť zadaná, potom údaj nevrátime.
Výnimky:
- 1 - hosť so zadaným ID neexistuje
Výňatok z WSDL pre request:
<xs:complexType name="getAccountStatus">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metódy pre získanie číselníkov
Nasledujúcimi metódami je možne získať číselníky zo systému Asseco BLUEGASTRO.
metóda getPLUList
Metóda getPLUList je určený na poskytnutie zoznamu PLU (predajných položiek) externému systému z dôvodu synchronizácie tohto zoznamu. Sú poskytnuté všetky PLU, včítane služieb, bez zliav.
Neposielajú sa zmazané PLU.
PLU[] getPLUList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
PLU[]
– zoznam (pole) predajných položiek, resp. pole štruktúry PLU
Výňatok z WSDL pre request:
<xs:complexType name="getPLUList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetPLUList
Kópia metódy getPLUList pre potreby PHP.
PLU[] phpGetPLUList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
PLU[]
– zoznam (pole) predajných položiek, resp. pole štruktúry PLU
Výňatok z WSDL pre request:
<xs:complexType name="phpGetPLUList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getDiscountList
Metóda getDiscountList je určená na poskytnutie zoznamu zliav/prirážok externému systému z dôvodu synchronizácie tohto zoznamu.
Systém Asseco BLUEGASTRO poskytne v tomto zozname len typ zľavy/prirážky „Na celý účet“.
Vymazané zľavy sa neposielajú.
Discount[] getDiscountList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
Discount[]
– zoznam (pole) zliav/prirážok, resp. pole štruktúry Discount
Výňatok z WSDL pre request:
<xs:complexType name="getDiscountList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetDiscountList
Kópia metódy getDiscountList pre potreby PHP.
Discount[] phpGetDiscountList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je :*parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
Discount[]
– zoznam (pole) zliav/prirážok, resp. pole štruktúry Discount
Výňatok z WSDL pre request:
<xs:complexType name="phpGetDiscountList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getPaymentTypeList
Metóda getPaymentTypeList je určená na poskytnutie zoznamu spôsobov platieb externému systému z dôvodu synchronizácie tohto zoznamu.
Systém Asseco BLUEGASTRO neposkytne v zozname spôsoby platieb, ktorých použitie vyžaduje ďalšie vstupné parametre, ako sú napr. spôsoby platieb stravné lístky alebo valuty, alebo na stáleho hosťa, hotelový účet a podobne.
Vymazané spôsoby platby sa neposielajú.
PaymentType[] getPaymentTypeList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
PaymentType[]
– zoznam (pole) spôsobov platieb, resp. pole štruktúry PaymentType
Výňatok z WSDL pre request:
<xs:complexType name="getPaymentTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetPaymentTypeList
Kópia metódy getPaymentTypeList pre potreby PHP.
PaymentType[] phpGetPaymentTypeList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
PaymentType[]
– zoznam (pole) spôsobov platieb, resp. pole štruktúry PaymentType
Výňatok z WSDL pre request:
<xs:complexType name="phpGetPaymentTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getOrderTypeList
Metóda getOrderTypeList je určená na poskytnutie zoznamu typov objednávok externému systému z dôvodu synchronizácie tohto zoznamu.
Vymazané typy objednávok sa neposielajú.
OrderType[] getOrderTypeList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
OrderType[]
– zoznam (pole) typov objednávok, resp. pole štruktúry OrderType
Výňatok z WSDL pre request:
<xs:complexType name="getOrderTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetOrderTypeList
Kópia metódy getOrderTypeList pre potreby PHP.
OrderType[] phpGetOrderTypeList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
OrderType[]
– zoznam (pole) typov objednávok, resp. pole štruktúry OrderType
Výňatok z WSDL pre request:
<xs:complexType name="phpGetOrderTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getOrderStatusList
Metóda getOrderStatusList je určená na poskytnutie zoznamu stavov objednávok externému systému z dôvodu synchronizácie tohto zoznamu.
Vymazané stavy objednávok sa neposielajú.
OrderStatus[] getOrderStatusList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
OrderStatus[]
– zoznam (pole) stavov objednávok, resp. pole štruktúry OrderStatus
Výňatok z WSDL pre request:
<xs:complexType name="getOrderStatusList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetOrderStatusList
Kópia metódy getOrderStatusList pre potreby PHP.
OrderStatus[] phpGetOrderStatusList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
OrderStatus[]
– zoznam (pole) stavov objednávok, resp. pole štruktúry OrderStatus
Výňatok z WSDL pre request:
<xs:complexType name="phpGetOrderStatusList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getMessageTypeList
Metóda getMessageTypeList je určená na poskytnutie zoznamu typov správ externému systému z dôvodu synchronizácie tohto zoznamu.
Vymazané typy správ sa neposielajú.
MessageType[] getMessageTypeList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
MessageType[]
– zoznam (pole) typov správ, resp. pole štruktúry MessageType
Výňatok z WSDL pre request:
<xs:complexType name="getMessageTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetMessageTypeList
Kópia metódy getMessageTypeList pre potreby PHP.
MessageType[] phpGetMessageTypeList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
MessageType[]
– zoznam (pole) typov správ, resp. pole štruktúry MessageType
Výňatok z WSDL pre request:
<xs:complexType name="phpGetMessageTypeList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getMessageStatusList
Metóda getMessageStatusList je určená na poskytnutie zoznamu stavov správ externému systému z dôvodu synchronizácie tohto zoznamu.
Vymazané typy správ sa neposielajú.
MessageStatus[] getMessageStatusList(long idSystem)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
Výstup:
MessageStatus[]
– zoznam (pole) stavov správ, resp. pole štruktúry MessageStatus
Výňatok z WSDL pre request:
<xs:complexType name="getMessageStatusList">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetMessageStatusList
Kópia metódy getMessageStatusList pre potreby PHP.
MessageStatus[] phpGetMessageStatusList(string idSystem)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
Výstup:
MessageStatus[]
– zoznam (pole) stavov správ, resp. pole štruktúry MessageStatus
Výňatok z WSDL pre request:
<xs:complexType name="phpGetMessageStatusList">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Objednávky
Metódy pre priame manipulovanie s objednávkami.
metóda newOrder
Metóda newOrder je určená na vytvorenie novej objednávky v systéme Asseco BLUEGASTRO.
long newOrder(long idSystem, Order newOrder)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
newOrder (Order)
– v tomto parametri sa očakáva objekt typu Order, ktorého popis nájdete v kapitole 3.1.8
Výstup:
long
– metóda po korektnom dobehnutí vracia identifikačné číslo (ID) novovzniknutej objednávky v systéme Asseco BLUEGASTRO
Výňatok z WSDL pre request:
<xs:complexType name="newOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="tns:order" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpNewOrder
Kópia metódy newOrder pre potreby PHP.
string phpNewOrder(string idSystem, PHPOrder newOrder)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
newOrder (PHPOrder)
– v tomto parametri sa očakáva objekt typu PHPOrder.
Výstup:
string
– metóda po korektnom dobehnutí vracia identifikačné číslo (ID) novovzniknutej objednávky v systéme Asseco BLUEGASTRO
Výňatok z WSDL pre request:
<xs:complexType name="phpNewOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="tns:phpOrder" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda cancelOrder
Metóda cancelOrder je určená na zmazanie objednávky pôvodne zaslanej z externého systému. Tento príkaz bude povolený len v prípade, ak je objednávka v stave Nová.
boolean cancelOrder(long idSystem, long idOrder)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
idOrder (long)
– identifikačné číslo (ID) externej objednávky zapísanej v systéme Asseco BLUEGASTRO
Výstup:
boolean
– Návratová hodnota true, ak storno objednávky prebehlo – objednávka bola ešte v stave Nová. V opačnom prípade bude návratová hodnota false.
Výňatok z WSDL pre request:
<xs:complexType name="cancelOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpCancelOrder
Kópia metódy cancelOrder pre potreby PHP.
boolean phpCancelOrder(string idSystem, string idOrder)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
idOrder (string)
– identifikačné číslo (ID) externej objednávky zapísanej v systéme Asseco BLUEGASTRO, čo sa týka typu string daného parametra tu platí to isté, čo pri parametri idSystem
Výstup:
boolean
– Návratová hodnota true (1), ak storno objednávky prebehlo – objednávka bola ešte v stave Nová. V opačnom prípade bude návratová hodnota false (0).
Výňatok z WSDL pre request:
<xs:complexType name="phpCancelOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getStatusOfOrder
Metóda getStatusOfOrder je určená na zistenie stavu objednávky v akom sa nachádza v systéme Asseco BLUEGASTRO.
StatusOfOrder getStatusOfOrder(long idSystem, long idOrder)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
idOrder (long)
– identifikačné číslo (ID) externej objednávky zapísanej v systéme Asseco BLUEGASTRO
Výstup:
StatusOfOrder
– vracia sa objekt obsahujúci informácie o stave objednávky, popis objektu nájdete v kapitole 3.1.14
Výňatok z WSDL pre request:
<xs:complexType name="getStatusOfOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetStatusOfOrder
Kópia metódy getStatusOfOrder pre potreby PHP.
PHPStatusOfOrder phpGetStatusOfOrder(string idSystem, string idOrder)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
idOrder (string)
– identifikačné číslo (ID) externej objednávky zapísanej v systéme Asseco BLUEGASTRO, čo sa týka typu string daného parametra tu platí to isté, čo pri parametri idSystem
Výstup:
PHPStatusOfOrder
– vracia sa objekt obsahujúci informácie o stave objednávky.
Výňatok z WSDL pre request:
<xs:complexType name="phpGetStatusOfOrder">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda getStatusesOfAllOrdersByTime
Metóda getStatusesOfAllOrdersByTime slúži na hromadné zistenie stavu objednávok, ktorých dátum a čas vzniku je v rozsahu vstupných parametrov.
StatusOfOrder[] getStatusesOfAllOrdersByTime(long idSystem, DateFromTo dateFromTo)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
dateFromTo (DateFromTo)
– daný objekt (štruktúra) nesie v sebe informácie o rozsahu dátumov od do
Výstup:
StatusOfOrder[]
– vracia pole objektov obsahujúce informácie o stavoch objednávok za zvolené obdobie
Výňatok z WSDL pre request:
<xs:complexType name="getStatusesOfAllOrdersByTime">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="tns:dateFromTo" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
metóda phpGetStatusesOfAllOrdersByTime
Kópia metódy getStatusesOfAllOrdersByTime pre potreby PHP.
PHPStatusOfOrder[] phpGetStatusesOfAllOrdersByTime(string idSystem, DateFromTo dateFromTo)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
dateFromTo (DateFromTo)
– daný objekt (štruktúra) nesie v sebe informácie o rozsahu dátumov od do
Výstup:
PHPStatusOfOrder[]
– vracia pole objektov obsahujúce informácie o stavoch objednávok za zvolené obdobie
Výňatok z WSDL pre request:
<xs:complexType name="phpGetStatusesOfAllOrdersByTime">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="tns:dateFromTo" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Správy
Metódy na prácu so správami.
metóda newMessage
Zavolaním metódy newMessage sa do systému Asseco BLUEGASTRO odošle správa určená obsluhe na TouchScreen pokladni.
long newMessage(long idSystem, Message newMessage)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
newMessage (Message)
– daný objekt (štruktúra) nesie v sebe údaje správy, ktorú chceme odoslať
Výstup:
long
– metóda po korektnom dobehnutí vracia identifikačné číslo (ID) novovzniknutej správy v systéme Asseco BLUEGASTRO
Výňatok z WSDL pre request:
<xs:complexType name="newMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="tns:message" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda phpNewMessage
Kópia metódy newMessage pre potreby PHP.
string phpNewMessage(string idSystem, PHPMessage newMessage)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
newMessage (PHPMessage)
– daný objekt (štruktúra) nesie v sebe údaje správy, ktorú chceme odoslať
Výstup:
long
– metóda po korektnom dobehnutí vracia identifikačné číslo (ID) novovzniknutej správy v systéme Asseco BLUEGASTRO
Výňatok z WSDL pre request:
<xs:complexType name="phpNewMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="tns:phpMessage" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda getStatusOfMessage
Metóda getStatusOfMessage poskytuje externému systému informácie o stave správy.
StatusOfMessage getStatusOfMessage(long idSystem, long idMessage)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
idMessage (long)
– identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTRO, ktoré je poskytnuté externému systému pri vytváraní správy, resp. ako návratová hodnota metódy newMessage
Výstup:
StatusOfMessage
– objekt v štruktúre nesúcej informácie o stave správy, popis štruktúry si môžete pozrieť v kapitole 3.1.13
Výňatok z WSDL pre request:
<xs:complexType name="getStatusOfMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda phpGetStatusOfMessage
Kópia metódy getStatusOfMessage pre potreby PHP.
PHPStatusOfMessage phpGetStatusOfMessage(string idSystem, string idMessage)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
idMessage (string)
– identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTRO, ktoré je poskytnuté externému systému pri vytváraní správy, resp. ako návratová hodnota metódy newMessage, čo sa týka typu string, platí to isté ako pri parametri idSystem
Výstup:
PHPStatusOfMessage
– objekt v štruktúre nesúcej informácie o stave správy
Výňatok z WSDL pre request:
<xs:complexType name="phpGetStatusOfMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda getStatusOfAllMessagesByTime
Metóda getStatusOfAllMessagesByTime slúži na hromadné zistenie stavu správ, ktorých dátum a čas vzniku je v rozsahu vstupných parametrov.
StatusOfMessage[] getStatusOfAllMessagesByTime(long idSystem, DateFromTo dateFromTo)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
dateFromTo (DateFromTo)
– daný objekt (štruktúra) nesie v sebe informácie o rozsahu dátumov od do
Výstup:
StatusOfMessage[]
– pole objektov v štruktúre nesúcej informácie o stave správy
Výňatok z WSDL pre request:
<xs:complexType name="getStatusOfAllMessagesByTime">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="tns:dateFromTo" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda phpGetStatusOfAllMessagesByTime
Kópia metódy getStatusOfAllMessagesByTime pre potreby PHP.
PHPStatusOfMessage[] phpGetStatusOfAllMessagesByTime(string idSystem, DateFromTo dateFromTo)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
dateFromTo (DateFromTo)
– daný objekt (štruktúra) nesie v sebe informácie o rozsahu dátumov od do
Výstup:
PHPStatusOfMessage[]
– pole objektov v štruktúre nesúcej informácie o stave správy
Výňatok z WSDL pre request:
<xs:complexType name="phpGetStatusOfAllMessagesByTime">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="tns:dateFromTo" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda cancelMessage
Volanie metódy cancelMessage požiada systém Asseco BLUEGASTRO o zrušenie konkrétnej správy.
boolean cancelMessage(long idSystem, long idMessage)
Vstupné parametre:
idSystem (long)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO
idMessage (long)
– identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTRO, ktoré je poskytnuté externému systému pri vytváraní správy, resp. ako návratová hodnota metódy newMessage
Výstup:
boolean
– Návratová hodnota true, ak zrušenie správy prebehlo v poriadku a požiadavke bolo vyhovené. V opačnom prípade bude návratová hodnota false.
Výňatok z WSDL pre request:
<xs:complexType name="cancelMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:long" minOccurs="0"/>
<xs:element name="arg1" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Metóda phpCancelMessage
Kópia metódy cancelMessage pre potreby PHP.
boolean phpCancelMessage(string idSystem, string idMessage)
Vstupné parametre:
idSystem (string)
– identifikačné číslo (ID) externého systému registrovaného v systéme Asseco BLUEGASTRO, aj napriek tomu, že je parameter typu string očakávajú sa iba numerické znaky, v opačnom prípade bude vygenerovaná výnimka
idMessage (string)
– identifikačné číslo (ID) správy pochádzajúce zo systému Asseco BLUEGASTRO, ktoré je poskytnuté externému systému pri vytváraní správy, resp. ako návratová hodnota metódy newMessage, čo sa týka typu string, platí to isté ako pri parametri idSystem
Výstup:
boolean
– Návratová hodnota true, ak zrušenie správy prebehlo v poriadku a požiadavke bolo vyhovené. V opačnom prípade bude návratová hodnota false.
Výňatok z WSDL pre request:
<xs:complexType name="phpCancelMessage">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
<xs:element name="arg1" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Ako na to
Pár príkladov a rád pre uľahčenie vybudovania klient strany externých objednávok.
Príklad písaný v PHP
Krátky príklad demonštruje volanie vystavenej webovej služby, resp. volania niektorých metód v prostredí PHP.
Jednotlivé parametre dotazov ($requestParams), resp. ich názvy je potrebne dodržiavať podľa WSDL schémy.
Pri písaní klienta v PHP je potrebné používať metódy s prefixom „php...“, kvôli už vyššie spomínanému problému ohľadom long typu.
try
{
$client =
new SoapClient(
"http://localhost:8080/ExternalOrders/services/ExternalOrdersService?wsdl",
array(
"location" => "http://localhost:8080/ExternalOrders/services/ExternalOrdersService",
"encoding" => "windows-1250",
"trace" => true,
"exceptions" => true));
$requestParams = new stdClass();
$requestParams->arg0 = '1234567890';
$result = $client->phpGetPLUList($requestParams);
print_r($result);
$requestParams = new stdClass();
$requestParams->arg0 = 'Skusobny text ...';
$result = $client->test($requestParams);
print_r($result);
$requestParams = new stdClass();
$requestParams->arg0 = '1234567890';
$requestParams->arg1 = 345;
$result = $client->phpIsExistPLU($requestParams);
print_r($result);
}
catch (Exception $e) {
echo "\nCHYBA: ".$e->getMessage()."\n";
}
Po spustení kódu dostaneme výstup:
stdClass Object
(
[return] => Array
(
. .
. . . .
. . . . . .
[2] => stdClass Object
(
[code] => 36003
[id] => 16
[name] => Kredit
[vatRate] => 20
)
[3] => stdClass Object
(
[code] => 24001
[id] => 17
[name] => Pirohy bryndzove 350g
[vatRate] => 20
)
[4] => stdClass Object
(
[code] => 13001
[id] => 18
[name] => Bailleys 0.04 l
[vatRate] => 20
)
. . . . . .
. . . .
. .
[603] => stdClass Object
(
[code] => 13008
[id] => 1101
[name] => Demanovka 0,04 l T
[vatRate] => 20
)
)
)
stdClass Object
(
[return] => ... txet ynbosukS
)
stdClass Object
(
[return] => 1
)
Príklad písaný v JAVA
Keďže máme veľmi dobré a hlavne pozitívne skúsenosti s framework-om CXF (http://cxf.apache.org) od Apache Software Foundation (http://www.apache.org) príklad bude uvedený s použitím tohto framework-u.
… TODO …
Príklad písaný v .NET
… TODO …