Ishni boshlash

Ushbu boʻlimda platformaning Web API’si tavsiflanadi; u json formatida maʼlumot almashish uchun REST-API maʼlumot paketi koʻrinishida amalga oshirilgan.

Umumiy qoidalar

  • Maʼlumotlarni uzatish formati Web API json formatida almashish uchun REST-API maʼlumot paketi koʻrinishida amalga oshirilgan.
  • Autentifikatsiya tartibi Autentifikatsiya dinamik ravishda yangilanib turadigan tokenga asoslanadi; bu olinayotgan maʼlumotlar xavfsizligini kafolatlaydi va tokenning sizib chiqishiga yoʻl qoʻymaydi.
  • Sana va vaqtni oʻz ichiga olgan oʻzgaruvchilar formati Web API «sana va vaqt» turidagi maʼlumotlarni UNIX time yoki POSIX time kodlashida UTC: 1613376963 formatida qaytaradi. Unix time qiymatini tushunarli sanaga aylantirishda vaqt mintaqasini koʻrsatish zarur.
  • Sahifalash (pagination) Web API’da maʼlumotlarni sahifama-sahifa yuklash uchun sahifalash imkoniyati amalga oshirilgan. U parametr orqali uzatiladi: page="page number" (page=1). Soʻrovda qaytariladigan yozuvlar sonini per_page parametri orqali koʻrsatish mumkin, lekin 1000 yozuvdan oshmasligi kerak.

Bazaviy URL

Ushbu sahifalardagi barcha misollarda quyidagi bazaviy URL ishlatiladi:

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

Autentifikatsiya

Autentifikatsiya dinamik ravishda yangilanib turadigan tokenga asoslanadi. Amalda bu quyidagicha koʻrinadi:

  • Birlamchi autentifikatsiya tizimda mavjud elektron pochta va parol yordamida bajariladi; javob sifatida dinamik token va u bilan bogʻliq atributlar olinadi.
  • Maʼlumot olish uchun maqsadli soʻrov shakllantiriladi: oldingi qadamda olingan token HTTP soʻrovining sarlavhalariga qoʻshiladi.
  • Soʻrov serverga yuboriladi. Agar soʻrov toʻgʻri shakllantirilgan boʻlsa, server javob tanasida maʼlumotlarni, javob sarlavhalarida esa yangi tokenni qaytaradi, eski token esa yaroqsiz boʻlib qoladi. Yangi token bilan oldingi qadamni takrorlash mumkin — va shu tariqa davom etadi.
  • Ish yakunlangach, oxirgi tokenni amal qilish muddati tugashidan oldin yaroqsiz qilish mumkin (SignOut).

Birlamchi autentifikatsiyada tizimda mavjud foydalanuvchining elektron pochtasi va paroli ishlatiladi. Buning uchun quyidagi manzilga POST soʻrovini yuborish kerak:

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

Curl formatidagi soʻrov misoli:

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

Javob sifatida quyidagi xabarni olamiz:

Ushbu javobda bizni quyidagi sarlavhalar qiziqtiradi:

SarlavhaTavsif
access_tokenUshbu sarlavhaning qiymati har bir soʻrov uchun parol vazifasini bajaradi. Qiymat har bir soʻrovda oʻzgarib turadi.
clientBu sarlavha joriy ulanish uchun noyob. Bir vaqtning oʻzida bir nechta faol seansni olib borish imkonini beradi.
expiryUshbu tokenning amal qilish muddati tugaydigan vaqt. Sukut boʻyicha — olingan paytdan boshlab 2 hafta. Yoki muddatidan oldin tugatish uchun SignOut. Keyingi soʻrov uchun kerak emas.
uidFoydalanuvchini identifikatsiya qiluvchi noyob qiymat. Bizning holatda — elektron pochta.
token-typeIshlatilayotgan tokenning turi.

Oldingi javobdan olingan tokendan foydalanadigan soʻrov misoli:

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

Javob sifatida quyidagi xabarni olamiz:

Ishni yakunlash uchun SignOut protsedurasidan foydalanish yoki oxirgi soʻrovdan kerakli sarlavhalarni saqlab qoʻyib, tokenning amal qilish muddati tugamagan boʻlsa, ularni keyingi safar ishlatish mumkin.

Seansni yakunlash:

Keyingi qadamlar

Endi autentifikatsiyadan oʻta olar ekansiz, API’ning asosiy resurslari bilan tanishing:

Oxirgi yangilanish

Ushbu sahifa foydali boʻldimi?