شروع کار

این بخش، Web API پلتفرم را شرح می‌دهد که به‌صورت یک بستهٔ دادهٔ REST-API برای تبادل در قالب json پیاده‌سازی شده است.

کلیات

  • قالب انتقال داده Web API به‌صورت یک بستهٔ دادهٔ REST-API برای تبادل در قالب json پیاده‌سازی شده است.
  • رویهٔ احراز هویت احراز هویت بر پایهٔ توکنی است که به‌صورت پویا به‌روزرسانی می‌شود؛ این کار امنیت داده‌های دریافتی را تضمین می‌کند و از نشت توکن جلوگیری می‌کند.
  • قالب متغیرهای حاوی تاریخ و زمان Web API داده‌های از نوع تاریخ و زمان را با کدگذاری UNIX time یا POSIX time و در قالب UTC: 1613376963 بازمی‌گرداند. هنگام تبدیل Unix time به تاریخی خوانا، باید منطقهٔ زمانی را مشخص کنید.
  • صفحه‌بندی 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 آشنا شوید:

آخرین به‌روزرسانی در

آیا این صفحه مفید بود؟