Začíname

Táto sekcia popisuje Web API platformy, ktoré je implementované ako dátový balík REST-API na výmenu údajov vo formáte json.

Všeobecné informácie

  • Formát prenosu údajov Web API je implementované ako dátový balík REST-API na výmenu údajov vo formáte json.
  • Postup autentifikácie Autentifikácia je založená na dynamicky aktualizovanom tokene, ktorý zaručuje bezpečnosť prijímaných údajov a zabraňuje úniku tokenu.
  • Formát premenných obsahujúcich dátum a čas Web API vracia údaje typu dátum a čas v kódovaní UNIX time alebo POSIX time vo formáte UTC: 1613376963. Pri prevode Unix time na čitateľný dátum je potrebné uviesť časové pásmo.
  • Stránkovanie (pagination) Web API poskytuje stránkovanie na postupné načítavanie údajov po stránkach. Odovzdáva sa parametrom: page="page number" (page=1). Počet záznamov vrátených v požiadavke možno určiť parametrom per_page, najviac však 1000 záznamov.

Základná URL

Všetky príklady na týchto stránkach používajú túto základnú URL:

bash
https://api.vadsro.eu/api/v1

Autentifikácia

Autentifikácia je založená na dynamicky aktualizovanom tokene. V praxi to vyzerá takto:

  • Prvotná autentifikácia sa vykoná pomocou e-mailu a hesla, ktoré existujú v systéme; v odpovedi sa vrátia dynamický token a súvisiace atribúty.
  • Zostavenie cieľovej požiadavky na získanie údajov, pričom token prijatý v predchádzajúcom kroku sa pridá do hlavičiek HTTP požiadavky.
  • Odoslanie požiadavky na server. Ak je požiadavka zostavená správne, server vráti údaje v tele odpovede a nový token v hlavičkách odpovede, pričom starý token stratí platnosť. S novým tokenom môžeme zopakovať predchádzajúci krok a tak ďalej.
  • Po dokončení práce možno posledný token zneplatniť ešte pred uplynutím jeho platnosti (SignOut).

Prvotná autentifikácia používa e-mail a heslo existujúceho používateľa. Na tento účel je potrebné odoslať požiadavku POST na adresu:

bash
https://api.vadsro.eu/api/v1/auth/sign_in

Príklad požiadavky vo formáte Curl:

bash
curl -i --header "Content-Type: application/json" \
     --request POST \
     --data '{"email":"api-user@example.com","password":"Str0ngPas$"}'\
     https://api.vadsro.eu/api/v1/auth/sign_in

V odpovedi dostaneme nasledujúcu správu:

V tejto odpovedi nás zaujímajú nasledujúce hlavičky:

HlavičkaPopis
access_tokenHodnota tejto hlavičky sa používa ako heslo pri každej požiadavke. Hodnota sa mení s každou požiadavkou.
clientTáto hlavička je jedinečná pre aktuálne spojenie. Umožňuje viacero súčasne aktívnych relácií.
expiryČas, keď platnosť tohto tokenu uplynie. Predvolene 2 týždne od okamihu jeho prijatia. Prípadne SignOut na predčasné zneplatnenie. Pre nasledujúcu požiadavku nie je potrebná.
uidJedinečná hodnota identifikujúca používateľa. V našom prípade e-mail.
token-typeTyp použitého tokenu.

Príklad požiadavky, ktorá používa token z predchádzajúcej odpovede:

bash
curl -i --header "access-token: EXAMPLE-ACCESS-TOKEN-1" \
 --header "token-type: Bearer" \
 --header "client: EXAMPLE-CLIENT-ID" \
 --header "uid: api-user@example.com" \
 --request GET \
 --header "Content-Type: application/json" \
 --data '{"page":"2"}' \
 https://api.vadsro.eu/api/v1/stations

V odpovedi dostaneme nasledujúcu správu:

Na ukončenie práce môžete použiť procedúru SignOut, prípadne uložiť potrebné hlavičky z poslednej požiadavky a použiť ich nabudúce, ak platnosť tokenu ešte neuplynula.

Ukončenie relácie:

Ďalšie kroky

Keď už viete, ako sa autentifikovať, preskúmajte hlavné zdroje API:

Naposledy aktualizované

Bola táto stránka užitočná?