ExternalOrders - Komunikačný protokol - SOAP

Z Hotelové systémy - Wiki
Skočit na navigaci Skočit na vyhledávání

Obsah

Ú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 od
  • dateTimeTo (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 BLUEGASTRO
  • name (string) - názov zľavy / prirážky
  • type (string) - typ zľava / prirážka, viď. discountType
  • enabled (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 BLUEGASTRO
  • date (dateTime) - dátum vygenerovania správy na webe
  • messageTypeId (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 BLUEGASTRO
  • name (string) - názov stavu správy
  • enabled (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 BLUEGASTRO
  • name (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 BLUEGASTRO
  • amount (decimal) - počet / množstvo
  • price (decimal) - jednotková cena položky
  • note (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 BLUEGASTRO
  • price (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éme
  • orderTypeId (int) - identifikačné čislo (ID) z číselníka typov objednávok
  • payed (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ávke
  • items (OrderItem[]) - položky objednávky, popis štruktúry môžete nájsť v kapitole 3.1.6
  • discountItems (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 BLUEGASTRO
  • name (string) - názov stavu objednávky
  • enabled (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 BLUEGASTRO
  • name (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 BLUEGASTRO
  • name (string) - názov typu platby
  • enabled (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 BLUEGASTRO
  • code (int) - kód PLU
  • name (string) - názov PLU
  • vatRate (decimal) - sadzba DPH
  • note (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 BLUEGASTRO
  • idMessageExternalSystem (long) - 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
<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 BLUEGASTRO
  • idOrderExternalSystem (long) - 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
<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ýnimky
  • date (dateTime) – dátum vygenerovania správy na webe
  • messageTypeId (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éme
  • orderTypeId (int) – identifikačné čislo (ID) z číselníka typov objednávok
  • payed (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ávke
  • items (OrderItem[]) – položky objednávky, popis štruktúry môžete nájsť v kapitole 3.1.6
  • discountItems (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 …