Tickets - Komunikačný protokol

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

<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Dokumentácia ExternalSystem services</title>

<style type="text/css"> </style>

</head> <body>

Dokumentácia ExternalSystem vzdialených služieb pre modul TICKETS



História dokumentácie

<thead> </thead> <tbody> </tbody>
Dátum vydania Verzia dokumentu Popis zmien Kto zmeny vykonal
15.05.2015 1.0 Založenie dokumentácie Juraj Pacolt

<footer></footer>

<a name="obsah"></a>

Obsah

  1. <a href="#popis">Popis</a>
  2. <a href="#metody-komunikacneho-interfaceu">Metódy komunikačného interface-u</a>
    1. <a href="#metoda-test">Metóda "test"</a>
    2. <a href="#metoda-check-ticket">Metóda "checkTicket"</a>
    3. <a href="#metoda-use-ticket">Metóda "useTicket"</a>
    4. <a href="#navratove-kody">Návratové kódy</a>

<footer></footer>

<a name="popis"></a>

Popis

Komunikačný interface ExternalSystem je určený v rámci modulu Tickets na overovanie a označovanie lístkov resp. vstupeniek cez externé systémy využívajúce tento interface.



<a name="metody-komunikacneho-interfaceu"></a>

Metódy komunikačného interface-u

Komunikačný interface využíva na prenos správ protokol HTTP, prípadne HTTPS. Jednotlivé dotazy sú typu REST, tzn. štandardné URI linky s prípadnými parametrami. Pričom niektoré požiadavky prípadne návratové správy, resp. odpovede sú typu JSON. Ako content type sa očakáva application/json.

V každej metóde komunikácie je potrebné uviesť registrationNumber. Toto registračné číslo je číslo zaregistrovaného externého systému v module Tickets. Pokiaľ sa dané číslo nenájde v zozname zaregistrovaných externých systémov, prípadne pokiaľ má externý systém zablokovanú komunikáciu, resp. nie je povolený, modul Tickets nedovolí vykonať požiadavku.



<a name="metoda-test"></a>

Metóda "test"

Metóda test slúži iba na preverenie komunikácie a validáciu základnej funkčnosti modulu Tickets.

http://server:port/Tickets/json/ExternalSystem/test/{registrationNumber}/{testMsg}

Vstupné parametre

  • registrationNumber - registračné číslo externého systému v module Tickets.
  • testMsg - testovacia správa.


Požiadavka

<code>
GET http://server:port/Tickets/json/ExternalSystem/test/48973453498/Testovaci retazec ...
</code>


JSON návratovej správy

<code>
... cezater icavotseT
</code>



<a name="metoda-check-ticket"></a>

Metóda "checkTicket"

Pri volaní tejto metódy sa v prvom rade validuje externý systém. Potom sa preverí existencia lístka a preverí sa aj platnosť udalosti pre ktorú je lístok určený. Pokiaľ je všetko v poriadku, tak v návratovej správe na túto požiadavku sa vracajú informácie o danom lístku, resp. vstupenke.

http://server:port/Tickets/json/ExternalSystem/checkTicket

Požiadavka

<code>
POST http://server:port/Tickets/json/ExternalSystem/checkTicket
</code>


JSON požiadavky

<code>
{
    "registrationNumber": 48973453498, 
    "ticketNumber": "TU2DL18461043152218318474"
}
</code>
  • registrationNumber - registračné číslo externého systému v module Tickets.
  • ticketNumber - číslo lístka, musí existovať v module Tickets pre platnú udalosť.


JSON návratovej správy

<code>
{
    "ticket": {
        "ticketNumber": "TU2DL18461043152218318474",
        "eventName": "Test udalost 2",
        "ticketTypeName": "Detský lístok",
        "price": 1,
        "freePrice": null,
        "active": false,
        "used": false,
        "canceled": false,
        "externalSystemName": null,
        "pluCode": null,
        "pluName": null
    },
    "returnMessage": {
        "message": "The event 'Test udalost 2 (TU2)' expired.",
        "code": 9
    }
}
</code>



<a name="metoda-use-ticket"></a>

Metóda "useTicket"

Pri volaní tejto metódy sa taktiež validuje externý systém. Potom sa preverí existencia lístka a preverí sa aj platnosť udalosti pre ktorú je lístok určený. Zároveň sa preverí, či je lístok vydaný a či náhodou nie je stornovaný.

http://server:port/Tickets/json/ExternalSystem/useTicket

Požiadavka

<code>
POST http://server:port/Tickets/json/ExternalSystem/useTicket
</code>


JSON požiadavky

<code>
{
    "registrationNumber": 48973453498, 
    "ticketNumber": "TU2DL18461043152218318474"
}
</code>
  • registrationNumber - registračné číslo externého systému v module Tickets.
  • ticketNumber - číslo lístka, musí existovať v module Tickets pre platnú udalosť.


JSON návratovej správy

<code>
{
    "ticket": {
        "ticketNumber": "TU2DL18461043152218318474",
        "eventName": "Test udalost 2",
        "ticketTypeName": "Detský lístok",
        "price": null,
        "freePrice": null,
        "active": true,
        "used": true,
        "canceled": false,
        "externalSystemName": "Blue Gastro S01",
        "pluCode": 123,
        "pluName": "Detsky listok"
    },
    "returnMessage": {
        "message": "Everything okay.",
        "code": 0
    }
}
</code>



<a name="navratove-kody"></a>

Návratové kódy

Jednotlivé metódy v časti returnMessage pri návratovej správe vracajú kód aj správu ako daná požiadavka dopadla. V nasledujúcej tabuľke je zoznam všetkých návratových kódov, ktoré môžu nastať.

<thead> </thead> <tbody>

</tbody>

Kód Popis
0 Všetko je v poriadku. Požiadavka bola spracovaná.
1 Neznámy stav. Predpoklad je, že ide o chybu.
2 Externý systém neexistuje.
3 Externý systém existuje, ale nie je povolený.
4 Lístok neexistuje.
5 Nie je definovaná udalosť pre lístok.
6 Typ lístka nie je definovaný.
7 Typ lístka nie je povolený.
8 Udalosť nie je povolená.
9 Udalosť je po dátume a čase platnosti.
10 Udalosť ešte nezačala, nie je naštartovaná.
11 Predaj lístka nie je povolený.
12 Lístok nie je aktívovaný.
13 Lístok už je aktivovaný.
14 Lístok je už použitý.
15 Lístok bol stornovaný.
16 Lístok je rezervovaný pre iný systém.
17 Lístok už je rezervovaný (pokiaľ je požiadavka z rovnakého systému).
18 Udalosť nie je uzavretá.
19 Lístok nie je validný.
20 Udalosť nie je validná.


<a href="#obsah">Späť na obsah</a>

</body> </html>