Začínáme

Tato sekce popisuje Web API platformy, které je implementováno jako datový balík REST-API pro výměnu dat ve formátu json.

Obecné principy

  • Formát přenosu dat Web API je implementováno jako datový balík REST-API pro výměnu dat ve formátu json.
  • Postup autentizace Autentizace je založena na dynamicky obnovovaném tokenu, který zaručuje bezpečnost přijímaných dat a zabraňuje úniku tokenu.
  • Formát proměnných obsahujících datum a čas Web API vrací data typu datum a čas v kódování UNIX time nebo POSIX time ve formátu UTC: 1613376963. Při převodu Unix time na čitelné datum je nutné uvést časové pásmo.
  • Stránkování Web API nabízí stránkování pro postupné načítání dat po stránkách. Předává se parametrem: page="page number" (page=1). Počet záznamů vrácených v dotazu lze určit parametrem per_page, nejvýše však 1000 záznamů.

Základní URL

Všechny příklady na těchto stránkách používají následující základní URL:

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

Autentizace

Autentizace je založena na dynamicky obnovovaném tokenu. V praxi vypadá takto:

  • Primární autentizace se provádí pomocí e-mailu a hesla existujících v systému; v odpovědi se vrací dynamický token a související atributy.
  • Sestavení cílového požadavku na získání dat, do jehož hlaviček HTTP se přidá token obdržený v předchozím kroku.
  • Odeslání požadavku na server. Je-li požadavek sestaven správně, vrátí server data v těle odpovědi a nový token v hlavičkách odpovědi, přičemž starý token pozbývá platnosti. S novým tokenem můžeme zopakovat předchozí krok a tak dále.
  • Po dokončení práce lze poslední token zneplatnit ještě před vypršením jeho platnosti (SignOut).

Počáteční autentizace používá e-mail a heslo existujícího uživatele. K tomu je třeba odeslat požadavek POST na adresu:

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

Příklad požadavku ve formátu 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 odpovědi obdržíme následující zprávu:

V této odpovědi nás zajímají následující hlavičky:

HlavičkaPopis
access_tokenHodnota této hlavičky slouží jako heslo pro každý požadavek. S každým požadavkem se hodnota mění.
clientTato hlavička je jedinečná pro aktuální připojení. Umožňuje více současně aktivních relací.
expiryČas, kdy platnost tohoto tokenu vyprší. Výchozí hodnota jsou 2 týdny od okamžiku jeho obdržení. Nebo SignOut pro předčasné ukončení platnosti. Pro následující požadavek není potřeba.
uidJedinečná hodnota identifikující uživatele. V našem případě e-mail.
token-typeTyp použitého tokenu.

Příklad požadavku s použitím tokenu z předchozí odpovědi:

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 odpovědi obdržíme následující zprávu:

Práci lze ukončit procedurou SignOut, případně si uložit potřebné hlavičky z posledního požadavku a použít je příště, pokud doba platnosti tokenu dosud nevypršela.

Ukončení relace:

Další kroky

Nyní, když se umíte autentizovat, prozkoumejte hlavní zdroje API:

Naposledy aktualizováno

Byla tato stránka užitečná?