Prvi koraci

U ovom odjeljku opisan je web-API (Web API) platforme, realiziran kao paket podataka REST API za razmjenu u formatu json.

Opće napomene

  • Format prijenosa podataka Web-API je realiziran kao paket podataka REST API za razmjenu u formatu json.
  • Postupak autentifikacije Autentifikacija se temelji na dinamički ažuriranom tokenu, što jamči sigurnost primljenih podataka i sprječava curenje tokena.
  • Format varijabli s datumom i vremenom Web-API vraća podatke tipa datum i vrijeme kodirane kao UNIX vrijeme ili POSIX vrijeme, u formatu UTC: 1613376963. Pri pretvorbi Unix vremena u čitljiv datum morate navesti vremensku zonu.
  • Straničenje Web-API podržava straničenje radi preuzimanja podataka stranicu po stranicu. Broj stranice prosljeđuje se parametrom: page="page number" (page=1). Broj zapisa koje upit vraća može se zadati parametrom per_page, ali ne više od 1.000 zapisa.

Osnovni URL

Svi primjeri na ovim stranicama koriste sljedeći osnovni URL:

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

Autentifikacija

Autentifikacija se temelji na dinamički ažuriranom tokenu. U praksi to izgleda ovako:

  • Početna autentifikacija obavlja se pomoću adrese e-pošte i lozinke koje postoje u sustavu, a kao odgovor stižu dinamički token i povezani atributi.
  • Oblikuje se ciljni zahtjev za preuzimanje podataka, a u zaglavlja HTTP zahtjeva dodaje se token dobiven u prethodnom koraku.
  • Zahtjev se šalje poslužitelju. Ako je zahtjev ispravno oblikovan, poslužitelj vraća podatke u tijelu odgovora i novi token u zaglavljima odgovora, a stari token postaje nevažeći. S novim tokenom možete ponoviti prethodni korak i tako dalje.
  • Po završetku rada posljednji token može se poništiti odjavom (SignOut) prije isteka roka valjanosti.

Za početnu autentifikaciju koriste se adresa e-pošte i lozinka postojećeg korisnika. U tu svrhu pošaljite POST zahtjev na adresu:

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

Primjer zahtjeva u formatu 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

Kao odgovor stiže sljedeća poruka:

U ovom odgovoru zanimaju nas sljedeća zaglavlja:

ZaglavljeOpis
access_tokenVrijednost ovog zaglavlja koristi se kao lozinka za svaki zahtjev. Vrijednost se mijenja sa svakim zahtjevom.
clientOvo je zaglavlje jedinstveno za trenutačnu vezu. Omogućuje više aktivnih sesija istodobno.
expiryVrijeme kada ovaj token istječe. Zadana vrijednost je 2 tjedna od primitka tokena. Ili ranije, nakon odjave (SignOut). Nije potrebno za sljedeći zahtjev.
uidJedinstvena vrijednost koja identificira korisnika. U našem slučaju to je adresa e-pošte.
token-typeTip tokena koji se koristi.

Primjer zahtjeva s tokenom iz prethodnog odgovora:

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

Kao odgovor stiže sljedeća poruka:

Da biste završili rad, možete se odjaviti (SignOut) ili spremiti potrebna zaglavlja iz posljednjeg zahtjeva i, ako rok valjanosti tokena nije istekao, upotrijebiti ih sljedeći put.

Završetak sesije:

Sljedeći koraci

Sada kada znate kako se obavlja autentifikacija, upoznajte se s osnovnim resursima API-ja:

Posljednji put ažurirano

Je li vam ova stranica bila korisna?