REST API
مستندات تعاملی
مستندات تعاملی REST API در ThingsConnect از طریق رابط کاربری Swagger در دسترس است. بهعنوانمثال، میتوانید مستندات API سرور نسخه نمایشی ویرایش جامعه را با استفاده از لینک رابط کاربری Swagger مشاهده کنید.
پس از نصب سرور ThingsConnect، میتوانید مستندات تعاملی را با استفاده از آدرس زیر باز کنید:
http://YOUR_HOST:PORT/swagger-ui.html
صفحه مستندات بهطور خودکار از اطلاعات کاربری شما استفاده میکند، اگر قبلاً در صفحه اصلی ورود به سیستم وارد شده باشید. همچنین میتوانید با استفاده از دکمه "Authorize" که در گوشه بالا سمت راست صفحه مستندات قرار دارد، بهصورت دستی وارد شوید. با این دکمه میتوانید با یک حساب کاربری دیگر نیز وارد شوید. به تصویر زیر مراجعه کنید:
برای اطلاعات بیشتر در مورد نحوه دریافت حساب کاربری خود، به صفحه نسخه نمایشی زنده مراجعه کنید.
توکنهای JWT
ThingsConnect از توکنهای JWT برای انتقال امن اطلاعات (Claims) بین کلاینت API (مرورگر، اسکریپتها و غیره) و پلتفرم استفاده میکند. زمانی که به پلتفرم وارد میشوید، نام کاربری و رمز عبور شما به جفت توکن تبدیل میشود.
توکن اصلی: توکن کوتاهمدتی است که باید برای اجرای درخواستهای API استفاده کنید.
توکن بازنشانی (Refresh): برای دریافت توکن اصلی جدید پس از انقضای آن استفاده میشود.
زمان انقضای توکنهای اصلی و بازنشانی در تنظیمات سیستم با استفاده از پارامترهای JWT_TOKEN_EXPIRATION_TIME و JWT_REFRESH_TOKEN_EXPIRATION_TIME قابل پیکربندی است. مقدار پیشفرض زمان انقضای توکن اصلی 2.5 ساعت و توکن بازنشانی 1 هفته است.
نمونه دستور زیر برای دریافت توکن برای کاربر "tenant@thingsboard.org"، رمز عبور "tenant" و سرور "THINGSBOARD_URL" را مشاهده کنید:
get-token.sh
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"username":"tenant@thingsboard.org", "password":"tenant"}' 'http://THINGSBOARD_URL/api/auth/login'
response.json
{"token":"$YOUR_JWT_TOKEN", "refreshToken":"$YOUR_JWT_REFRESH_TOKEN"}
- اکنون باید هدر X-Authorization را به مقدار Bearer $YOUR_JWT_TOKEN تنظیم کنید. مطمئن شوید که از توکن اصلی JWT استفاده میکنید و نه توکن بازنشانی (Refresh Token).
کتابخانه کلاینت REST API برای جاوا
تیم ThingsConnect یک کتابخانه کلاینت به زبان جاوا ارائه میدهد تا استفاده از REST API را سادهتر کند. برای اطلاعات بیشتر، لطفاً به صفحه مستندات کلاینت REST API جاوا مراجعه کنید.
کتابخانه کلاینت REST API برای پایتون
تیم ThingsConnect یک کتابخانه کلاینت به زبان پایتون ارائه میدهد تا استفاده از REST API را سادهتر کند. برای اطلاعات بیشتر، لطفاً به صفحه مستندات کلاینت REST API پایتون مراجعه کنید.