Жұмысты бастау

Бұл бөлімде платформаның Web API интерфейсі сипатталған; ол json пішімінде деректер алмасуға арналған REST-API деректер пакеті түрінде іске асырылған.

Жалпы ережелер

  • Деректерді беру пішімі Web API json пішімінде деректер алмасуға арналған REST-API деректер пакеті түрінде іске асырылған.
  • Аутентификация тәртібі Аутентификация динамикалық түрде жаңарып отыратын токенге негізделген; ол алынатын деректердің қауіпсіздігіне кепілдік беріп, токеннің таралып кетуін болдырмайды.
  • Күн мен уақытты қамтитын айнымалылардың пішімі Web API «күн мен уақыт» типіндегі деректерді UNIX time немесе POSIX time кодтауында UTC: 1613376963 пішімінде қайтарады. Unix time мәнін оқуға ыңғайлы күнге түрлендіргенде уақыт белдеуін көрсету қажет.
  • Беттеп шығару (pagination) Web API интерфейсінде деректерді бетке бөліп жүктеуге арналған беттеп шығару мүмкіндігі іске асырылған. Ол параметрмен беріледі: page="page number" (page=1). Сұрауда қайтарылатын жазбалар санын per_page параметрі арқылы көрсетуге болады, бірақ ол 1000 жазбадан аспауы тиіс.

Базалық URL

Осы беттердегі барлық мысалдарда мынадай базалық URL пайдаланылады:

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

Аутентификация

Аутентификация динамикалық түрде жаңарып отыратын токенге негізделген. Іс жүзінде бұл былай жүзеге асады:

  • Бастапқы аутентификация жүйеде бар электрондық пошта мекенжайы мен құпиясөз арқылы орындалады; жауап ретінде динамикалық токен және онымен байланысты атрибуттар алынады.
  • Деректерді алуға арналған мақсатты сұрауды қалыптастыру: алдыңғы қадамда алынған токен HTTP сұрауының тақырыптамаларына қосылады.
  • Сұрауды серверге жіберу. Сұрау дұрыс қалыптастырылған болса, сервер жауап денесінде деректерді, ал жауап тақырыптамаларында жаңа токенді қайтарады, ескі токен болса жарамсыз болып қалады. Жаңа токенмен алдыңғы қадамды қайталауға болады — және осылай жалғаса береді.
  • Жұмыс аяқталған соң, соңғы токенді жарамдылық мерзімі өтпей тұрып жарамсыз етуге болады (SignOut).

Бастапқы аутентификация жүйеде бар пайдаланушының электрондық пошта мекенжайы мен құпиясөзі арқылы орындалады. Ол үшін мына мекенжайға POST сұрауын жіберу қажет:

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

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

Жауап ретінде мынадай хабар аламыз:

Бұл жауапта бізді мынадай тақырыптамалар қызықтырады:

ТақырыптамаСипаттама
access_tokenОсы тақырыптаманың мәні әрбір сұрау үшін құпиясөз ретінде қолданылады. Мән әр сұрау сайын өзгеріп отырады.
clientБұл тақырыптама ағымдағы қосылым үшін бірегей. Бір мезгілде бірнеше белсенді сеанс жүргізуге мүмкіндік береді.
expiryОсы токеннің жарамдылық мерзімі бітетін уақыт. Әдепкі бойынша — алынған сәттен бастап 2 апта. Немесе мерзімінен бұрын тоқтату үшін SignOut. Келесі сұрау үшін қажет емес.
uidПайдаланушыны сәйкестендіретін бірегей мән. Біздің жағдайда — электрондық пошта мекенжайы.
token-typeҚолданылатын токеннің типі.

Алдыңғы жауаптан алынған токенді пайдаланатын сұрау мысалы:

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

Жауап ретінде мынадай хабар аламыз:

Жұмысты аяқтау үшін SignOut процедурасын пайдалануға болады немесе соңғы сұраудан қажетті тақырыптамаларды сақтап қойып, токеннің жарамдылық мерзімі өтпеген болса, оларды келесі жолы қолдануға болады.

Сеансты аяқтау:

Келесі қадамдар

Енді аутентификациядан өте алатын болғандықтан, API-дің негізгі ресурстарымен танысыңыз:

Соңғы жаңарту

Бұл бет пайдалы болды ма?