Dokumentace Arriva Arrtic API v1
1. Přihlášení
Před voláním libovolné metody v API musíte mít platný token, ten získáte zavoláním metody:
POST /v1/Authentication/ExtAuthenticate
a posláním správných dat pro name a password
{
"name": "name",
"password": "password"
}
Token se přikládá ke každé volané metodě
2. Nakupní proces
Zahajení nákupu
GET /v1/Purchase/ExtBegin
V odpovedi od serveru ziskate obecna data k nakupu, nejdulezitejsi parametry:
purchaseId: identifikator celeho nakupniho procesuexpiredAt: expirace nákupu, po uplynuti doby nelze pridavat ani odebirat polozkycartId: identifikator nakupniho kosiku, nutne pro ukladani pasazeru a rezervaci do kosiku
Zjisteni tarifu na prodej
GET /v1/Purchase/ExtGetAvailableTariffs
Odpoved, obsahuje pole se strukturou:
tariffId: identifikator tarifu k prodejifareVariants: pole se strukturou:abstractFareVariantId: identifikator typu jizdneho, kompletni seznam lze ziskat i pomoci/v1/Constants/ExtAllAbstractFareVariantsabstractPassengerCategories: pole identifikatoru typu kategorie castujicich, kompletni seznam lze ziskat i pomoci/v1/Constants/ExtAllAbstractPassengerCategories
Identifikatory typu jizdneho a kategorii cestupicich se pouzivaji pro ulozeni cestujicich do nakupniho kosiku
Ziskani vlakovych stanic a autobusovych zastavek pro vyhledavani
GET /v1/Place/ExtSearch
Pozadavek:
keyword: klicove slovo pro vyhledani staniclimit: pocet vysledku po vyhledavani stanic
Odpoved:
- pole objektu se stanicemi a s identikatory
uic,sr70,arrivaneboidosbus
GET /v1/Constants/ExtAllPlaces
Odpoved:
- pole objektu se stanicemi a s identikatory
uic,sr70,arrivaneboidosbus
Vyhledani spojeni nebo ziskani identifikatoru spojeni
Pouziti vyhledavace spojeni v API
POST /v1/Route/ExtSearch
Pozadavek:
- pro identifikaci stanic
sourceatargetpouzijte hodnoty z endpointu/v1/Constants/ExtAllPlacesnebo/v1/Place/ExtSearch - podporovane identifikatory stanic jsou:
uic,sr70,arrivaneboidosbus
Odpoved:
searchId: identifikator konkretniho vyhledavani, nutne pro ukladani pasazeru a rezervaci do kosikuroutes: nalezene dopravni spojeni
Pro obecne overeni nalezeneho dopravniho spojeni lze vyuzit endpoint /v1/Route/ExtSearchResult s parametrem searchId, tedy identifikatorem vyhledaneho spojeni
Pouziti vlastniho vyhledavace spojeni
POST /v1/Route/ExtSearchExactConnection
Pozadavek:
- pro identifikaci stanic
sourceatargetpouzijte hodnoty z endpointu/v1/Constants/ExtAllPlacesnebo/v1/Place/ExtSearch - podporovane identifikatory stanic jsou:
uic,sr70,arrivaneboidosbus
Odpoved:
searchId: identifikator konkretniho vyhledavani, nutne pro ukladani pasazeru a rezervaci do kosikuroutes: nalezene dopravni spojeni
Pro obecne overeni nalezeneho dopravniho spojeni lze vyuzit endpoint /v1/Route/ExtSearchResult s parametrem searchId, tedy identifikatorem vyhledaneho spojeni
Zjisteni ceny
Zjisteni dostupnych men
POST /v1/Purchase/ExtGetAvailableCurrencies
Odpoved:
- seznam povolenych men, pouzitelne pro vypocet ceny jizdneho.
Obecne zjisteni ceny
POST /v1/Price/ExtCalculate
Pozadavek:
routes: seznam konkretnich dopravnich spojeni, pro ktere se bude pocitat cenacurrencyId: konkretni mena, dostupne hodnoty z endpointu/v1/Purchase/ExtGetAvailableCurrencies
Odpoved:
priceId: identifikator pro nalezenou cenu, nutne pro ukladani pasazeru a rezervaci do kosiku
Pro obecne overeni nalezene ceny lze vyuzit endpoint /v1/Price/ExtGetPrices s parametrem priceId, tedy identifikatorem nalezene ceny.
Zjisteni ceny za pomoci searchId z vyhledavce spojeni
POST /v1/Price/ExtCalculateBySearch
Pozadavek:
searchId: identifikator nalezeho spojenicurrencyId: konkretni mena, dostupne hodnoty z endpointu/v1/Purchase/ExtGetAvailableCurrencies
Odpoved:
priceId: identifikator pro nalezenou cenu, nutne pro ukladani pasazeru a rezervaci do kosiku
Pro obecne overeni nalezene ceny lze vyuzit endpoint /v1/Price/ExtGetPrices s parametrem priceId, tedy identifikatorem nalezene ceny.
Rezervovani mista
Viz samostatna dokumentace Reservation system CZ
Ulozeni pasazeru a rezervaci do nakupniho kosiku
PUT /v1/Purchase/ExtSetToConnection
PUT /v1/Purchase/ExtAddToConnection
Pozadavek:
cartId: identifikator nakupniho kosikusearchId: identifikator vyhledaneho dopravniho spojenipriceId: identifikator vysledku zjisteni ceny pro dane spojeni a dany pocet pasazeru. Urcuje konkretni menu, ktera se pouzije v kosiku.passengers: ulozeni konkretnich pasazeru, volitelne v pripade ulozeni jen rezervaci.reservationIds: ulozeni identifikatoru rezervaci, volitelne v pripade ulozeni jen cestujicich. Dokumentace k rezervacim vizReservation system CZabstractFareVariantId: typ jizdneho, kompletni seznam lze ziskat i pomoci/v1/Constants/ExtAllAbstractFareVariantsreturnToConnectionSearchId: v pripade prodeje zpatecni jizdenky vazba cesty zpet a cestu tam
Metoda *Set*** nastavuje a nahrazuje puvodne ulozene hodnoty v kosiku a metoda *Add*** pridava dalsi hodnoty k puvodne ulozenem hodnotam v kosiku
Nastaveni zaplaceni nakupu
GET /v1/Purchase/ExtPurchasePaid
Pozadavek:
purchaseId: identifikator nakupniho procesu
Odpoved:
orderId: identifikator objednavky s jizdenkami a rezervacemi
Ziskani dat pro tisk a zobrazeni objednavky
GET /v1/Render/ExternalRenderOrderToPdf
Pozadavek:
orderId: identifikator objednavky
Odpoved:
- byte array s daty pro zobrazeni PDF
GET /v1/Render/ExtRenderOrder
Pozadavek:
orderId: identifikator objednavky
Odpoved:
- strukturovana data k objednavce s jizdenkami a rezervacemi vhodne pro dalsi vykresleni
Ukonceni nakupu
GET /v1/Purchase/ExtEnd
Pozadavek:
purchaseId: identifikator nakupniho procesu