Prvi koraci

U ovom odeljku opisan je veb API (Web API) platforme, realizovan kao paket podataka REST API za razmenu u formatu json.

Opšte napomene

  • Format prenosa podataka Veb API je realizovan kao paket podataka REST API za razmenu u formatu json.
  • Postupak autentifikacije Autentifikacija se zasniva na dinamički ažuriranom tokenu, što garantuje bezbednost primljenih podataka i sprečava curenje tokena.
  • Format promenljivih sa datumom i vremenom Veb API vraća podatke tipa datum i vreme kodirane kao UNIX vreme ili POSIX vreme, u formatu UTC: 1613376963. Pri pretvaranju Unix vremena u čitljiv datum morate da navedete vremensku zonu.
  • Straničenje Veb API podržava straničenje radi preuzimanja podataka stranicu po stranicu. Broj stranice prosleđ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 primeri na ovim stranicama koriste sledeći osnovni URL:

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

Autentifikacija

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

  • Početna autentifikacija obavlja se pomoću imejl adrese i lozinke koje postoje u sistemu, a kao odgovor stižu dinamički token i povezani atributi.
  • Formira se ciljni zahtev za preuzimanje podataka, a u zaglavlja HTTP zahteva dodaje se token dobijen u prethodnom koraku.
  • Zahtev se šalje serveru. Ako je zahtev ispravno formiran, server vraća podatke u telu odgovora i novi token u zaglavljima odgovora, a stari token postaje nevažeći. Sa novim tokenom možete da ponovite prethodni korak i tako dalje.
  • Po završetku rada poslednji token može se poništiti odjavom (SignOut) pre isteka roka važenja.

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

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

Primer zahteva 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 sledeća poruka:

U ovom odgovoru zanimaju nas sledeća zaglavlja:

ZaglavljeOpis
access_tokenVrednost ovog zaglavlja koristi se kao lozinka za svaki zahtev. Vrednost se menja sa svakim zahtevom.
clientOvo zaglavlje je jedinstveno za trenutnu vezu. Omogućava više aktivnih sesija istovremeno.
expiryVreme kada ovaj token ističe. Podrazumevana vrednost je 2 nedelje od prijema tokena. Ili ranije, posle odjave (SignOut). Nije potrebno za sledeći zahtev.
uidJedinstvena vrednost koja identifikuje korisnika. U našem slučaju to je imejl adresa.
token-typeTip tokena koji se koristi.

Primer zahteva sa 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 sledeća poruka:

Da biste završili rad, možete da se odjavite (SignOut) ili da sačuvate potrebna zaglavlja iz poslednjeg zahteva i, ako rok važenja tokena nije istekao, da ih upotrebite sledeći put.

Završetak sesije:

Sledeći koraci

Sada kada znate kako se obavlja autentifikacija, upoznajte se sa osnovnim resursima interfejsa API:

Poslednje ažuriranje

Da li vam je ova stranica bila korisna?