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 procesu
  • expiredAt: expirace nákupu, po uplynuti doby nelze pridavat ani odebirat polozky
  • cartId: 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 prodeji
  • fareVariants: pole se strukturou:
    • abstractFareVariantId: identifikator typu jizdneho, kompletni seznam lze ziskat i pomoci /v1/Constants/ExtAllAbstractFareVariants
    • abstractPassengerCategories: 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 stanic
  • limit: pocet vysledku po vyhledavani stanic

Odpoved:

  • pole objektu se stanicemi a s identikatory uic, sr70, arriva nebo idosbus
GET /v1/Constants/ExtAllPlaces

Odpoved:

  • pole objektu se stanicemi a s identikatory uic, sr70, arriva nebo idosbus

Vyhledani spojeni nebo ziskani identifikatoru spojeni


Pouziti vyhledavace spojeni v API

POST /v1/Route/ExtSearch

Pozadavek:

  • pro identifikaci stanic source a target pouzijte hodnoty z endpointu /v1/Constants/ExtAllPlaces nebo /v1/Place/ExtSearch
  • podporovane identifikatory stanic jsou: uic, sr70, arriva nebo idosbus

Odpoved:

  • searchId: identifikator konkretniho vyhledavani, nutne pro ukladani pasazeru a rezervaci do kosiku
  • routes: 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 source a target pouzijte hodnoty z endpointu /v1/Constants/ExtAllPlaces nebo /v1/Place/ExtSearch
  • podporovane identifikatory stanic jsou: uic, sr70, arriva nebo idosbus

Odpoved:

  • searchId: identifikator konkretniho vyhledavani, nutne pro ukladani pasazeru a rezervaci do kosiku
  • routes: 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 cena
  • currencyId: 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 spojeni
  • currencyId: 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 kosiku
  • searchId: identifikator vyhledaneho dopravniho spojeni
  • priceId: 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 viz Reservation system CZ
  • abstractFareVariantId: typ jizdneho, kompletni seznam lze ziskat i pomoci /v1/Constants/ExtAllAbstractFareVariants
  • returnToConnectionSearchId: 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