Skip to content

مستندات سرویس رویداد در شاد

مقدمه

سرویس رویداد در شاد برای مدیریت و مشارکت کاربران در رویدادهای فرهنگی، اجتماعی و آموزشی طراحی و پیاده‌سازی شده است. این سرویس امکان هدایت کاربران شاد به سامانه پویش را بدون نیاز به احراز هویت مجدد فراهم می‌کند و تجربه کاربری روانی را تضمین می‌کند.

برای استفاده از این سرویس، سازمان برگزارکننده ابتدا باید مجوزهای لازم را دریافت نماید، پس از آن تیم عملیات شاد تنظیمات رویداد را در سیستم شاد پیکربندی می نماید. پس از تنظیم، یک کد عددی اختصاصی به عنوان کد رویداد، یک نام کاربری و یک رمز، و یک 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

پارامترهای ورودی:

پارامترنوعاجباریتوضیحات
landingIdintبلهشناسه منحصربه‌فرد برای رویداد
usernamestringبلهنام کاربری ارائه‌شده برای رویداد
passwordstringبلهرمز عبور ارائه‌شده برای رویداد

نمونه درخواست:

bash
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]"
}'

نمونه پاسخ:

json
{
  "data": "[Token]",
  "success": true,
  "statusCode": "OK",
  "code": 200,
  "description": "با موفقیت انجام شد"
}

ShadEvent

این متد برای دریافت اطلاعات کاربر پس از احراز هویت موفق استفاده می‌شود.

آدرس:

https://shadapi.noyanet.com/api/v1/ShadEvent?UserHashId=[your userId]

پارامترهای ورودی:

پارامترنوعاجباریتوضیحات
Tokenstringبلهتوکن دریافتی از متد Login در هدر
UserHashIdstringبلهشناسه منحصربه‌فرد کاربر

نمونه درخواست:

bash
curl -X 'GET' \
'https://shadapi.noyanet.com/api/v1/ShadEvent?UserHashId=[your userId]' \
-H 'accept: text/plain' \
-H 'Authorization: Bearer [token]'

نمونه پاسخ برای کاربر احراز هویت شده:

json
{
  "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": "با موفقیت انجام شد"
}

نمونه پاسخ برای کاربر احراز هویت نشده:

json
{
  "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]

پارامترهای ورودی:

پارامترنوعاجباریتوضیحات
apiKeystringبلهکلید دریافتی
EventIdint64بلهشناسه منحصربه‌فرد رویداد
UserHashIdstringبلهشناسه منحصربه‌فرد کاربر

نکته: apiKey باید در header ارسال شود

نمونه درخواست:

bash
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]'

نمونه پاسخ برای کاربر احراز هویت شده:

json
{
  "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": "با موفقیت انجام شد"
}

نمونه پاسخ برای کاربر احراز هویت نشده:

json
{
  "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": "با موفقیت انجام شد"
}

جریان کاری رویداد

مراحل زیر جریان کاری رویداد را برای کاربران شاد توضیح می‌دهد:

  1. کاربر بر روی لینک رویداد در اپلیکیشن شاد کلیک می‌کند.
  2. کاربر به لینک اتصال مشخص‌شده هدایت می‌شود (UserID به عنوان پارامتر ارسال می‌شود).
  3. برگزارکننده رویداد از متد Login استفاده کرده و توکن دریافت می‌کند.
  4. برگزارکننده با استفاده از متد ShadEvent و توکن، اطلاعات کاربر را دریافت و پلتفرم رویداد را به‌روزرسانی می‌کند.

نسخه: 1403، شهریور ماه
منتشرکننده: شرکت فن‌آوری شبکه آموزش دانش‌نویان

مستندات API شاد