مستندات سرویس رویداد در شاد
مقدمه
سرویس رویداد در شاد برای مدیریت و مشارکت کاربران در رویدادهای فرهنگی، اجتماعی و آموزشی طراحی و پیادهسازی شده است. این سرویس امکان هدایت کاربران شاد به سامانه پویش را بدون نیاز به احراز هویت مجدد فراهم میکند و تجربه کاربری روانی را تضمین میکند.
برای استفاده از این سرویس، سازمان برگزارکننده ابتدا باید مجوزهای لازم را دریافت نماید، پس از آن تیم عملیات شاد تنظیمات رویداد را در سیستم شاد پیکربندی می نماید. پس از تنظیم، یک کد عددی اختصاصی به عنوان کد رویداد، یک نام کاربری و یک رمز، و یک apikey به سازمان برگزار کننده رویداد توسط تیم عملیات ارائه خواهد شد. سپس اقدامات لازم جهت ایجاد باکس رویداد در اپلیکیشن شاد انجام می شود و کاربران از طریق لینک مشخص به آن دسترسی داشته باشند.
پیکربندی رویداد
برای پیکربندی یک رویداد، اطلاعات زیر مورد نیاز است:
شناسه رویداد، نام کاربری و رمز عبور
این اطلاعات برای احراز هویت سازمانها استفاده میشود. جزئیات توسط تیم عملیات شاد ارائه میشود.
لینک اتصال
برگزارکننده رویداد باید یک لینک هدایت مشخص برای کاربران شاد جهت هدایت به صفحه اختصاصی رویداد فراهم کند. این لینک باید به صورت یک پارامتر QueryString شامل مقدار UserID ساختاردهی شود:
مثال:
https://mysite.ir/shad?UserID=D4-76-29-46-BA-E1-88-74-C1-51-89-2A-D1-A8-58-C0در این مثال، UserID شناسه کاربر در شاد است.
متدهای وب سرویس
Login
این متد برای احراز هویت برگزارکننده رویداد و دریافت توکن برای تعاملات بعدی استفاده میشود.
آدرس:
https://shadapi.noyanet.com/api/v1/Account/loginپارامترهای ورودی:
| پارامتر | نوع | اجباری | توضیحات |
|---|---|---|---|
landingId | int | بله | شناسه منحصربهفرد برای رویداد |
username | string | بله | نام کاربری ارائهشده برای رویداد |
password | string | بله | رمز عبور ارائهشده برای رویداد |
نمونه درخواست:
curl -X 'POST' \
'https://shadapi.noyanet.com/api/v1/Account/login' \
-H 'accept: text/plain' \
-H 'Content-Type: application/json' \
-d '{
"landingId": [your landingId],
"username": "[your username]",
"password": "[your password]"
}'نمونه پاسخ:
{
"data": "[Token]",
"success": true,
"statusCode": "OK",
"code": 200,
"description": "با موفقیت انجام شد"
}ShadEvent
این متد برای دریافت اطلاعات کاربر پس از احراز هویت موفق استفاده میشود.
آدرس:
https://shadapi.noyanet.com/api/v1/ShadEvent?UserHashId=[your userId]پارامترهای ورودی:
| پارامتر | نوع | اجباری | توضیحات |
|---|---|---|---|
Token | string | بله | توکن دریافتی از متد Login در هدر |
UserHashId | string | بله | شناسه منحصربهفرد کاربر |
نمونه درخواست:
curl -X 'GET' \
'https://shadapi.noyanet.com/api/v1/ShadEvent?UserHashId=[your userId]' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer [token]'نمونه پاسخ برای کاربر احراز هویت شده:
{
"data": {
"id": 516222,
"nationalId": null,
"hashedId": "C3-A4-F5-C2-27-14-D9-56-A6-A0-AE-90-3A-E0-CF-2E",
"name": "رونيكا",
"family": "نادم كچائي",
"event": null,
"provinceName": "گیلان",
"mobile": "989226670378",
"courseStudy": "دوره ابتدایی توصیفی",
"districtName": "1رشت .ناحیه",
"fundamentalId": 3,
"role": "student"
},
"success": true,
"statusCode": 200,
"code": 200,
"description": "با موفقیت انجام شد"
}نمونه پاسخ برای کاربر احراز هویت نشده:
{
"data": {
"id": 516223,
"nationalId": null,
"hashedId": "E7-17-70-D6-D0-37-26-FE-4F-74-A7-ED-89-23-46-FC",
"name": null,
"family": null,
"event": null,
"provinceName": null,
"mobile": "989388332389",
"courseStudy": null,
"districtName": null,
"fundamentalId": null,
"role": null
},
"success": true,
"statusCode": 200,
"code": 200,
"description": "با موفقیت انجام شد"
}ShadEvent/GetUserInfoByApiKey
این متد برای دریافت اطلاعات کاربر با استفاده از apiKey میشود. در این روش نیازی به احراز هویت با نام کاربری و رمز عبور نیست.
آدرس:
https://shadapi.noyanet.com/api/v1/ShadEvent/GetUserInfoByApiKey?UserHashId=[your userId]پارامترهای ورودی:
| پارامتر | نوع | اجباری | توضیحات |
|---|---|---|---|
apiKey | string | بله | کلید دریافتی |
EventId | int64 | بله | شناسه منحصربهفرد رویداد |
UserHashId | string | بله | شناسه منحصربهفرد کاربر |
نکته: apiKey باید در header ارسال شود
نمونه درخواست:
curl -X 'GET' \
'https://shadapi.noyanet.com/api/v1/ShadEvent/GetUserInfoByApiKey?EventId=[your event id]&UserHashId=[your userId]' \
-H 'accept: text/plain' \
-H 'apiKey: [apiKey]'نمونه پاسخ برای کاربر احراز هویت شده:
{
"data": {
"id": 516222,
"nationalId": null,
"hashedId": "C3-A4-F5-C2-27-14-D9-56-A6-A0-AE-90-3A-E0-CF-2E",
"name": "رونيكا",
"family": "نادم كچائي",
"event": null,
"provinceName": "گیلان",
"mobile": "989226670378",
"courseStudy": "دوره ابتدایی توصیفی",
"districtName": "1رشت .ناحیه",
"fundamentalId": 3,
"role": "student"
},
"success": true,
"statusCode": 200,
"code": 200,
"description": "با موفقیت انجام شد"
}نمونه پاسخ برای کاربر احراز هویت نشده:
{
"data": {
"id": 516223,
"nationalId": null,
"hashedId": "E7-17-70-D6-D0-37-26-FE-4F-74-A7-ED-89-23-46-FC",
"name": null,
"family": null,
"event": null,
"provinceName": null,
"mobile": "989388332389",
"courseStudy": null,
"districtName": null,
"fundamentalId": null,
"role": null
},
"success": true,
"statusCode": 200,
"code": 200,
"description": "با موفقیت انجام شد"
}جریان کاری رویداد
مراحل زیر جریان کاری رویداد را برای کاربران شاد توضیح میدهد:
- کاربر بر روی لینک رویداد در اپلیکیشن شاد کلیک میکند.
- کاربر به لینک اتصال مشخصشده هدایت میشود (
UserIDبه عنوان پارامتر ارسال میشود). - برگزارکننده رویداد از متد
Loginاستفاده کرده و توکن دریافت میکند. - برگزارکننده با استفاده از متد
ShadEventو توکن، اطلاعات کاربر را دریافت و پلتفرم رویداد را بهروزرسانی میکند.
نسخه: 1403، شهریور ماه
منتشرکننده: شرکت فنآوری شبکه آموزش دانشنویان