راهنمای برنامه‌نویس LMS

از کلاس LMS تا کلاس آنلاین، در دو قدم

یک بار کلاس و اعضایش را ثبت کنید. هنگام ورود هر شخص، فقط با شناسهٔ او لینک بگیرید.

قبل از شروع، اتصال را آماده کنید

این کار فقط یک بار انجام می‌شود.

در پنل مدیر ArtanClass ← «اتصال به LMS»، کلید بسازید و نشانی اصلی LMS را ثبت کنید. این دو مقدار را در تنظیمات سرور LMS بگذارید:

تنظیمات سرور LMS
ARTANCLASS_BASE_URL=https://meet.localhost
ARTANCLASS_API_KEY=art_lms_YOUR_SERVER_KEY

در سرور آنلاین، دامنهٔ واقعی را جایگزین کنید. کلید اتصال فقط روی سرور LMS نگه داشته شود.

۱

کلاس را با معلم و دانش‌آموزان بسازید

هنگام ثبت کلاس در LMS یا تغییر اعضای آن

شناسه و نام کلاس، یک معلم و فهرست کامل دانش‌آموزان را بفرستید. کاربر جدید خودکار ساخته و به همین کلاس متصل می‌شود.

POST/api/v1/lms/classes

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

class.json
{
  "external_class_id": "math-701",
  "name": "ریاضی هفتم ۷۰۱",
  "teacher": {
    "external_user_id": "teacher-42",
    "name": "سمیه احمدی",
    "national_id": "0012345679"
  },
  "students": [
    {
      "external_user_id": "student-101",
      "name": "علی رضایی",
      "national_id": "0023456787"
    },
    {
      "external_user_id": "student-102",
      "name": "مریم محمدی",
      "national_id": "0034567895"
    }
  ]
}

پاسخ موفق

class-response.json
{
  "class_url": "https://meet.localhost/c/ریاضی-هفتم-۷۰۱"
}

فقط لینک مورد نیاز برمی‌گردد.

لینک کلاس را در LMS ذخیره کنید.

ظرفیت خودکار محاسبه می‌شود؛ در این مثال ۲ دانش‌آموز + ۱ معلم = ۳ نفر. ارسال دوباره با همان شناسه، همان کلاس را به‌روز می‌کند.

قواعد اطلاعات و تغییر اعضا
  • external_class_id شناسهٔ ثابت کلاس است؛ برای هر جلسه عوض نمی‌شود.
  • external_user_id شناسهٔ ثابت همان شخص در LMS است؛ هنگام ورود هم همین مقدار ارسال می‌شود.
  • برای تغییر اعضا، فهرست کامل و تازه را بفرستید. شمارهٔ نسخه لازم نیست؛ درخواست‌های تغییر را به ترتیب ارسال کنید.
  • تغییر هنگام جلسهٔ فعال با 409 class_running متوقف می‌شود؛ پس از پایان جلسه دوباره ارسال کنید.
  • کد ملی رشتهٔ ده‌رقمی معتبر است؛ صفر اول را نگه دارید. رمز اولیهٔ حساب جدید کد ملی است؛ رمز حساب قبلی عوض نمی‌شود.
  • نامک کلاس جدید از نام آن ساخته می‌شود. محدودیت استریم و نامک دستی از پنل مدیریت تنظیم می‌شود.
  • نام‌ها و کدهای ملی مثال ساختگی آموزشی‌اند؛ با اعضای خودتان جایگزین کنید.
۲

برای همان شخص لینک ورود بگیرید

هنگام کلیک «ورود به کلاس» در LMS

سرور LMS ابتدا هویت و عضویت شخص را بررسی کند. بعد، فقط شناسهٔ او را بفرستد. شناسهٔ کلاس در مسیر درخواست قرار می‌گیرد.

POST/api/v1/lms/classes/math-701/launch

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

launch.json
{
  "external_user_id": "teacher-42"
}

پاسخ موفق

launch-response.json
{
  "entry_url": "https://meet.localhost/sso/launch#ticket=EXAMPLE&browser_nonce=EXAMPLE"
}

فقط لینک مورد نیاز برمی‌گردد.

مرورگر همان شخص را با 303 Redirect به مقدار کامل entry_url هدایت کنید. او نامش را تأیید می‌کند و وارد می‌شود؛ رمز دوباره لازم نیست.

کلیک در LMSدریافت لینک شخصیتأیید نام و ورود
برای معلم و دانش‌آموز یک API است.

برای دانش‌آموز فقط شناسه را مثلاً به student-101 تغییر دهید. نقش از عضویت تعیین می‌شود؛ معلم جلسه را شروع می‌کند و دانش‌آموز زودتر رسیده، منتظر می‌ماند.

اعتبار لینک و مدیریت نشست
  • لینک شخصی یک‌بارمصرف و حداکثر ۱۲۰ ثانیه معتبر است؛ برای کلیک بعدی لینک تازه بگیرید.
  • مقدار کامل شامل بخش بعد از # حفظ شود. لینک شخصی را ذخیره، لاگ یا برای افراد دیگر ارسال نکنید.
  • شناسهٔ نشست و اطلاعات مرورگر را نفرستید؛ ArtanClass مدیریت نشست را انجام می‌دهد.
  • محدودیت یک نشست و ظرفیت کلاس همچنان اعمال می‌شود. استثنای چندنشستی توسط مدیر فعال می‌شود.
  • class_url ثابت است و فرم نام کاربری یا کد ملی و رمز را باز می‌کند؛ entry_url ورود شخصی از LMS است.
  • EXAMPLE در پاسخ، صرفاً نمایشی است؛ API لینک واقعی می‌سازد.
اگر درخواست خطا داد، چه کنم؟

پاسخ خطا شامل code و آرایهٔ errors است.

پاسخ خطا
{"code":"invalid_payload","errors":["اطلاعات درخواست را اصلاح کنید."]}
  • 400 / 422: JSON، فیلدها، کد ملی و شناسه‌های تکراری را بررسی کنید.
  • 401: کلید اتصال نامعتبر یا غیرفعال است.
  • 403 / 404: کلاس، کاربر یا عضویت ثبت نشده است؛ ابتدا ساخت کلاس را انجام دهید.
  • 409: code را بخوانید؛ جلسهٔ فعال یا هویت ناسازگار باید اصلاح شود.
  • 429: به‌اندازهٔ هدر Retry-After صبر کنید.
  • 503 / قطع ارتباط: با فاصلهٔ افزایشی دوباره تلاش کنید. ثبت مجدد همان کلاس، کلاس تکراری نمی‌سازد؛ برای ورود لینک تازه بگیرید.

حداکثر JSON: ۲ مگابایت. برای هر کلید: ثبت کلاس ۱۲۰ و دریافت لینک ۱۲۰۰ درخواست در دقیقه.

آمادهٔ اتصال هستید

نمونه‌کدها را بردارید یا از فضای تست محلی درخواست بفرستید.

باز کردن فضای تست Go، Node.js و cURL