Motoshub · REST API v1 · راهنمای تیم فرانت‌اند

راهنمای کامل API برای فرانت‌اند

هر چیزی که برای اتصال به بک‌اند لازم دارید: احراز هویت، قراردادهای مشترک، ساختار پاسخ‌ها و خطاها، صفحه‌بندی، و فهرست کامل 281 endpoint با پارامترها.

281 endpoint
GET 115
POST 80
PATCH 35
DELETE 51

شروع سریع

وضعیت فعلی: روی سرور تولید هنوز فقط ۲۴ endpoint قدیمی فعال است. این 281 endpoint پس از merge شدن ۹ درخواست ادغام و اجرای دستورهای استقرار فعال می‌شوند. قرارداد نهایی است — پیاده‌سازی سمت فرانت‌اند می‌تواند بر اساس همین سند آغاز شود.

آدرس پایه: https://motonext.shub.ir/api — همه‌ی مسیرها با /v1/... ادامه پیدا می‌کنند.

// ۱) ورود و گرفتن توکن
const res = await fetch('https://motonext.shub.ir/api/v1/auth/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ username: 'user', password: 'secret' })
});
const { access_token } = await res.json();

// ۲) بقیه‌ی درخواست‌ها با همان توکن
const events = await fetch('https://motonext.shub.ir/api/v1/events?page=1&per_page=20', {
  headers: { Authorization: `Bearer ${access_token}` }
}).then(r => r.json());

راه‌اندازی و استقرار

این بخش گام‌های لازم برای فعال‌سازی api/v1 روی یک محیط (محلی یا سرور) را به ترتیب اجرا شرح می‌دهد. گام‌های ۱ تا ۵ بر عهده‌ی تیم بک‌اند یا DevOps است و گام ۶ به بعد مربوط به تیم فرانت‌اند است.

الف) استقرار سمت سرور

  1. دریافت کد. پس از ادغام ۹ درخواست ادغام در شاخه‌ی اصلی، آخرین نسخه را روی سرور بگیرید:
    git pull origin main
  2. نصب وابستگی‌ها. لایه‌ی Bridge و swagger-php از طریق Composer نصب می‌شوند:
    composer install --no-dev --optimize-autoloader
    در صورت اجرا داخل کانتینر:
    docker compose exec app composer install --no-dev --optimize-autoloader
  3. ثبت مجوزهای API. هر endpoint با گروه و اکشن مجوزِ خود محافظت می‌شود. این دستور گروه‌ها و اکشن‌ها را ثبت کرده و به نقش‌های موجود اعطا می‌کند. دستور idempotent است و اجرای مکرر آن بی‌خطر است:
    php motoshub api:permissions-migrate
    برای مشاهده‌ی تغییرات پیش از اعمال:
    php motoshub api:permissions-migrate --dry-run
    اجرا نشدن این گام باعث می‌شود همه‌ی endpointها با کد 403 پاسخ دهند، حتی برای کاربر معتبر.
  4. پاک‌سازی کش. پس از تغییر مجوزها و مسیرها، کش اکسوال باید بازسازی شود:
    rm -rf ow_smarty/template_c/* ow_static/tmp/*
  5. راستی‌آزمایی. سلامت استقرار با دو درخواست بررسی می‌شود:
    curl -i https://motonext.shub.ir/api/v1/docs/json | head -1
    curl -i -X POST https://motonext.shub.ir/api/v1/auth/login \
      -H 'Content-Type: application/json' \
      -d '{"username":"...","password":"..."}'
    پاسخ مورد انتظار: کد 200 برای هر دو، و مشاهده‌ی 281 عملیات در خروجی docs/json. صفحه‌ی تعاملی نیز روی /api/v1/docs/index در دسترس است.

ب) اتصال سمت فرانت‌اند

  1. تعریف آدرس پایه. آدرس پایه را از متغیر محیطی بخوانید تا محیط‌های توسعه و تولید جدا بمانند:
    // .env
    VITE_API_BASE_URL=https://motonext.shub.ir/api/v1
  2. پیاده‌سازی ورود. POST /v1/auth/login را فراخوانی کرده و access_token را به همراه expires_at ذخیره کنید. با توجه به اعتبار یک‌ساعته‌ی توکن، زمان انقضا باید نگهداری شود تا پیش از سررسید، ورود مجدد انجام گیرد.
  3. ارسال خودکار توکن. یک interceptor تعریف کنید که هدر Authorization: Bearer <token> را به همه‌ی درخواست‌ها اضافه کند.
  4. مدیریت خطاها. رفتار مورد انتظار برای کدهای وضعیت:
    • 401: توکن نامعتبر یا منقضی است؛ کاربر به صفحه‌ی ورود هدایت شود.
    • 403: کاربر مجوز ندارد، یا حساب او معلق یا تأییدنشده است؛ پیام فارسیِ موجود در بدنه‌ی پاسخ به کاربر نمایش داده شود.
    • 422: خطای اعتبارسنجی؛ شیء errors شامل نگاشت نام فیلد به فهرست پیام‌هاست و باید کنار همان فیلد فرم نمایش یابد.
    • 404: منبع یافت نشد.
    جزئیات ساختار پاسخ خطا در بخش خطاها آمده است.
  5. ساخت لایه‌ی دسترسی. برای پرهیز از پیاده‌سازی دستی، کلاینت را از روی مشخصات OpenAPI تولید کنید:
    npx openapi-typescript motoshub-api-v1.openapi.json -o src/api/schema.ts
    فایل openapi.json و Postman collection از همین صفحه قابل دریافت‌اند.
  6. کنترل نمایش بر اساس مجوز. پس از ورود، GET /v1/auth/permissions را فراخوانی کنید و بر اساس فهرست بازگشتی، بخش‌هایی از رابط کاربری را که کاربر مجاز به آن‌ها نیست پنهان کنید. این کار از دریافت 403های قابل پیش‌بینی جلوگیری می‌کند.
محیط آزمایش پیش از تولید: تا زمان ادغام درخواست‌های ادغام، تیم فرانت‌اند می‌تواند با اجرای گام‌های الف روی یک محیط محلی، نسخه‌ی کامل ۲۸۱ endpoint را بالا بیاورد و توسعه را آغاز کند. قرارداد مسیرها، پارامترها و ساختار پاسخ‌ها نهایی است و تغییر نخواهد کرد.

احراز هویت

جریان ورود

POST /v1/auth/login با username و password ارسال می‌شود و پاسخ شامل access_token (JWT)، token_type و expires_at. توکن یک ساعت اعتبار دارد؛ پس از انقضا، درخواست ورود مجدداً ارسال شود.

ارسال توکن

در هدر: Authorization: Bearer <token>
endpointهایی که با نشان auth مشخص شده‌اند بدون توکن 401 می‌دهند.

نکته‌ی مهم: حساب‌های معلق یا تأییدنشده توسط مدیر هم در login و هم در هر درخواست بعدی 403 می‌گیرند — حتی اگر توکنشان هنوز منقضی نشده باشد. پس اگر ناگهان 403 با پیام فارسی گرفتید، کاربر را از سیستم خارج کنید.

GET /v1/auth/me اطلاعات کاربر جاری و GET /v1/auth/permissions فهرست مجوزهای او را می‌دهد — برای تصمیم‌گیری دربارهٔ نمایش یا پنهان‌کردن بخش‌های رابط کاربری مفید است.

قراردادهای مشترک

افعال (verbs)

GET خواندن · POST ساختن یا اقدام · PATCH ویرایش · DELETE حذف.
رفتار PATCH در همه‌ی منابع یکسان نیست؛ بخش زیر را ببینید.

صفحه‌بندی

فهرست‌ها page و per_page می‌گیرند و q برای جستجو. مرتب‌سازی با sort_by_<field>=asc|desc (مثلاً sort_by_created_at=desc).

// پاسخ فهرست‌ها
{
  "data": [ /* آیتم‌ها */ ],
  "links": { "first": "...", "last": "...", "prev": null, "next": "..." },
  "meta":  { "current_page": 1, "per_page": 15, "total": 42, "last_page": 3 }
}

// پاسخ عملیات نوشتن
{ "status": "success", "status_code": 201, "message": "...", "data": null }
پاسخ عملیات ساخت، منبع ساخته‌شده را برمی‌گرداند. POST با کد 201 پاسخ می‌دهد و data شامل رکورد تازه است — با همان ساختاری که GET همان منبع برمی‌گرداند، فیلد‌به‌فیلد یکسان. نیازی به خواندن مجدد فهرست پس از ساخت نیست.
PATCH به‌روزرسانی جزئی است. تنها فیلدهایی را بفرستید که تغییر کرده‌اند؛ فیلدهای ارسال‌نشده دست‌نخورده باقی می‌مانند.
// فقط عنوان را عوض کن؛ بقیه‌ی فیلدها حفظ می‌شوند
await api.patch(`/v1/events/${id}`, { title: newTitle });
استثنا: منابعی که تنها یک فیلد قابل ویرایش دارند — مانند forum/posts، messages و feed — همان فیلد را اجباری می‌دانند، چون PATCH با بدنه‌ی خالی در آن‌ها بی‌معناست.
تاریخ‌ها به‌صورت ISO-8601 برمی‌گردند و هرجا معنا داشته باشد یک فیلد *_jalali هم کنارش هست (مثلاً created_at_jalali) که می‌توانید مستقیم نمایش دهید.

خطاها

کدمعناواکنش پیشنهادی فرانت
200/201موفق
401توکن نیست یا منقضی شدههدایت به صفحه‌ی ورود
403دسترسی ندارد، یا حساب معلق/تأییدنشدهنمایش پیام سرور (فارسی است)
404یافت نشد یا متعلق به کاربر دیگری استپیام «یافت نشد»
422خطای اعتبارسنجینمایش خطا زیر همان فیلد
// ۴۲۲ — پیام‌ها فارسی و آماده‌ی نمایش‌اند
{
  "message": "The given data was invalid.",
  "errors": { "title": ["عنوان رویداد را وارد کنید"] }
}

در جدول‌های زیر، فیلدهای پررنگtype اجباری‌اند و بقیه اختیاری.

احراز هویت و کاربران 16 endpoint

Auth 3

Verbمسیرشرح و پارامترها
POST/v1/auth/loginورود کاربر به سیستم
بدنه: usernamestring passwordstring
GET/v1/auth/meauthدریافت اطلاعات کاربر جاری
GET/v1/auth/permissionsauthدریافت دسترسی های کاربر جاری

Users 3

Verbمسیرشرح و پارامترها
GET/v1/usersauthدریافت لیست کاربران (به همراه صفحه‌بندی و جستجو)
کوئری: page per_page q
PATCH/v1/users/meauthویرایش فیلدهای پروفایل کاربر جاری
بدنه: fieldsobject user_statusstring
GET/v1/users/{id}authدریافت پروفایل کامل یک کاربر (به همراه سوالات پروفایل)
مسیر: id

User Blocks 3

Verbمسیرشرح و پارامترها
GET/v1/users/blockedauthدریافت لیست کاربران بلاک‌شده توسط کاربر جاری
کوئری: page per_page
DELETE/v1/users/{id}/blockauthآنبلاک کردن یک کاربر توسط کاربر جاری
مسیر: id
POST/v1/users/{id}/blockauthبلاک کردن یک کاربر توسط کاربر جاری
مسیر: id

User Follows 2

Verbمسیرشرح و پارامترها
DELETE/v1/users/{id}/followauthلغو دنبال کردن یک کاربر توسط کاربر جاری
مسیر: id
POST/v1/users/{id}/followauthدنبال کردن یک کاربر توسط کاربر جاری
مسیر: id

Avatar 2

Verbمسیرشرح و پارامترها
DELETE/v1/users/me/avatarauthحذف آواتار کاربر جاری
POST/v1/users/me/avatarauthتغییر آواتار کاربر جاری (آپلود multipart)
بدنه: filefile

Sessions 3

Verbمسیرشرح و پارامترها
DELETE/v1/users/me/sessionsauthخاتمه دادن به تمام سشن‌های دیگر کاربر جاری
GET/v1/users/me/sessionsauthدریافت تاریخچه ورود و سشن‌های فعال کاربر جاری
کوئری: page per_page
DELETE/v1/users/me/sessions/{id}authخاتمه دادن به یک سشن کاربر جاری
مسیر: id

فایل و گزارش 7 endpoint

Files 3

Verbمسیرشرح و پارامترها
POST/v1/filesauthبارگذاری یک فایل به صورت پیوست (multipart)
بدنه: filefile typestring bundle_idstring
GET/v1/files/configدریافت پسوندهای مجاز و حداکثر حجم فایل برای اعتبارسنجی سمت کلاینت
GET/v1/files/{uid}authدریافت اطلاعات یک پیوست بر اساس شناسه بسته (bundle)
مسیر: uid

Flags 1

Verbمسیرشرح و پارامترها
POST/v1/flagsauthگزارش (فلگ) یک محتوا توسط کاربر جاری
بدنه: entity_typestring entity_idinteger reasonstring

Contact 1

Verbمسیرشرح و پارامترها
POST/v1/contactauthارسال پیام تماس با ما از طرف کاربر جاری
بدنه: subjectstring messagestring

Privacy 2

Verbمسیرشرح و پارامترها
GET/v1/privacy/settingsauthدریافت تنظیمات حریم خصوصی کاربر جاری
PATCH/v1/privacy/settingsauthبروزرسانی تنظیمات حریم خصوصی کاربر جاری
بدنه: settingsobject

شبکه اجتماعی 54 endpoint

Feed 9

Verbمسیرشرح و پارامترها
GET/v1/feedauthدریافت فید خبری (داشبورد، پروفایل کاربر، گروه یا کل سایت — به همراه صفحه‌بندی)
کوئری: page per_page q feed_type entity_id start_time end_time entity_type author_username sort_by_created_at
POST/v1/feedauthارسال پست جدید روی فید (دیوار خود، دیوار کاربر دیگر یا گروه)
بدنه: statusstring feed_typestring feed_idinteger privacystring attachment_uidstring reply_tointeger
DELETE/v1/feed/{id}authحذف کامل یک پست از فید
مسیر: id
GET/v1/feed/{id}authدریافت اطلاعات یک پست خاص از فید خبری
مسیر: id
PATCH/v1/feed/{id}authویرایش متن یک پست فید
مسیر: id
بدنه: statusstring
POST/v1/feed/{id}/forwardauthبازنشر (فوروارد) یک پست فید روی دیوار کاربر(ان) یا گروه(ها)
مسیر: id
بدنه: target_typestring target_idinteger target_idsarray
DELETE/v1/feed/{id}/likeauthحذف لایک/دیس‌لایک کاربر جاری از یک پست فید
مسیر: id
POST/v1/feed/{id}/likeauthلایک (vote=1) یا دیس‌لایک (vote=-1) یک پست فید
مسیر: id
بدنه: voteinteger
PATCH/v1/feed/{id}/privacyauthتغییر سطح حریم خصوصی یک پست فید
مسیر: id
بدنه: privacystring

Friends 5

Verbمسیرشرح و پارامترها
GET/v1/friendsauthدریافت لیست دوستان کاربر جاری (به همراه صفحه‌بندی)
کوئری: page per_page sort_by_created_at
POST/v1/friendsauthارسال درخواست دوستی
بدنه: user_idinteger
GET/v1/friends/requestsauthدریافت لیست درخواست‌های دوستی دریافتی کاربر جاری
کوئری: page per_page sort_by_created_at
DELETE/v1/friends/{id}authحذف دوست یا لغو/رد درخواست دوستی
مسیر: id
POST/v1/friends/{id}/acceptauthتایید درخواست دوستی دریافتی
مسیر: id

Groups 15

Verbمسیرشرح و پارامترها
GET/v1/groupsدریافت لیست گروه‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q my user_username member_id status sort_by_created_at sort_by_last_activity_at
POST/v1/groupsauthایجاد گروه جدید
بدنه: titlestring descriptionstring who_can_viewstring who_can_invitestring who_can_create_contentstring who_can_upload_filestring who_can_create_topicstring category_idinteger need_approveboolean send_sms_on_new_messageboolean send_sms_on_new_message_admin_onlyboolean send_sms_on_new_message_periodinteger
DELETE/v1/groups/files/{fileId}authحذف فایل گروه
مسیر: fileId
POST/v1/groups/invites/acceptauthپذیرش دعوت‌نامه گروه
بدنه: invite_idinteger
DELETE/v1/groups/{id}authحذف کامل گروه
مسیر: id
GET/v1/groups/{id}دریافت اطلاعات یک گروه خاص
مسیر: id
PATCH/v1/groups/{id}authویرایش اطلاعات گروه
مسیر: id
بدنه: titlestring descriptionstring who_can_viewstring who_can_invitestring who_can_create_contentstring who_can_upload_filestring who_can_create_topicstring category_idinteger need_approveboolean delete_group_imageboolean send_sms_on_new_messageboolean send_sms_on_new_message_admin_onlyboolean send_sms_on_new_message_periodinteger
GET/v1/groups/{id}/filesدریافت لیست فایل‌های یک گروه (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page q sort_by_created_at
POST/v1/groups/{id}/filesauthبارگذاری فایل جدید در گروه
مسیر: id
بدنه: filefile namestring
POST/v1/groups/{id}/invitesauthدعوت کاربر به گروه
مسیر: id
بدنه: user_idinteger
DELETE/v1/groups/{id}/joinauthخروج از گروه
مسیر: id
POST/v1/groups/{id}/joinauthعضویت در گروه
مسیر: id
POST/v1/groups/{id}/managersauthافزودن مدیر به گروه
مسیر: id
بدنه: user_idinteger
DELETE/v1/groups/{id}/managers/{userId}authحذف مدیر گروه
مسیر: id userId
GET/v1/groups/{id}/membersدریافت لیست اعضای یک گروه (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page sort_by_joined_at

Mailbox 13

Verbمسیرشرح و پارامترها
GET/v1/conversationsauthدریافت لیست گفتگوهای کاربر جاری (به همراه صفحه‌بندی)
کوئری: page per_page mode sort_by_last_message_at
GET/v1/conversations/forward-targetsauthدریافت لیست کاربران قابل انتخاب برای هدایت پیام (طرف‌های گفتگو + دوستان)
کوئری: page per_page
GET/v1/conversations/searchauthجستجو در پیام‌های گفتگوها (کل گفتگوها یا محدود به یک گفتگو)
کوئری: page per_page q conversation_id opponent_id
DELETE/v1/conversations/{id}authپاک کردن گفتگو برای کاربر جاری (تاریخچه سمت مقابل حفظ می‌شود)
مسیر: id
GET/v1/conversations/{id}authدریافت یک گفتگو به همراه پیام‌های آن (خواندن گفتگو پیام‌های خوانده‌نشده را خوانده‌شده می‌کند)
مسیر: id
کوئری: page per_page before_id
GET/v1/conversations/{id}/mediaauthدریافت رسانه‌های (پیوست‌های) یک گفتگو با فیلتر اختیاری photo | video
مسیر: id
کوئری: page per_page type
POST/v1/conversations/{id}/muteauthبی‌صدا کردن گفتگو برای کاربر جاری
مسیر: id
POST/v1/conversations/{id}/readauthعلامت‌گذاری همه پیام‌های خوانده‌نشده گفتگو به عنوان خوانده‌شده
مسیر: id
POST/v1/conversations/{id}/unmuteauthباصدا کردن (خروج از حالت بی‌صدا) گفتگو برای کاربر جاری
مسیر: id
POST/v1/messagesauthارسال پیام جدید به یک کاربر (opponent_id) یا گفتگوی موجود (conversation_id)
بدنه: opponent_idinteger conversation_idinteger textstring reply_idinteger attachment_uidstring
DELETE/v1/messages/{id}authحذف یکی از پیام‌های کاربر جاری
مسیر: id
PATCH/v1/messages/{id}authویرایش متن یکی از پیام‌های کاربر جاری
مسیر: id
بدنه: textstring
POST/v1/messages/{id}/forwardauthهدایت (forward) یک پیام به یک یا چند کاربر دیگر
مسیر: id
بدنه: target_idsarray

Notifications 5

Verbمسیرشرح و پارامترها
GET/v1/notificationsauthدریافت لیست اعلان‌های کاربر جاری (به همراه صفحه‌بندی)
کوئری: page per_page viewed plugin_key sort_by_created_at
POST/v1/notifications/seenauthعلامت‌گذاری همه اعلان‌های کاربر جاری به عنوان دیده‌شده
GET/v1/notifications/settingsauthدریافت تنظیمات اعلان‌های کاربر جاری
PATCH/v1/notifications/settingsauthبروزرسانی تنظیمات اعلان‌های کاربر جاری
بدنه: schedulestring actionsobject
POST/v1/notifications/{id}/readauthعلامت‌گذاری یک اعلان مشخص به عنوان خوانده‌شده
مسیر: id

Comments 5

Verbمسیرشرح و پارامترها
GET/v1/commentsauthدریافت لیست نظرات یک محتوا (به همراه صفحه‌بندی)
کوئری: page per_page entity_type entity_id sort_by_created_at
POST/v1/commentsauthثبت نظر جدید روی یک محتوا
بدنه: entity_typestring entity_idinteger textstring attachmentstring reply_idinteger reply_user_idinteger
DELETE/v1/comments/{id}authحذف یک نظر
مسیر: id
DELETE/v1/comments/{id}/likeauthحذف پسند از یک نظر
مسیر: id
POST/v1/comments/{id}/likeauthثبت پسند برای یک نظر
مسیر: id

Mentions 1

Verbمسیرشرح و پارامترها
GET/v1/mentions/suggestionsauthپیشنهاد کاربران قابل منشن برای کاربر جاری (دوستان و اعضای گروه)
کوئری: q context

Search 1

Verbمسیرشرح و پارامترها
GET/v1/searchauthجستجوی سراسری (کاربران و پست‌های خوراک) به همراه صفحه‌بندی
کوئری: q type page per_page

محتوا 67 endpoint

Blogs 5

Verbمسیرشرح و پارامترها
GET/v1/blogsدریافت لیست وبلاگ‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q author_username sort_by_created_at
POST/v1/blogsauthایجاد وبلاگ جدید
بدنه: titlestring post_contentstring attachment_uidstring send_publish_notificationboolean tagsarray is_draftboolean
DELETE/v1/blogs/{id}authحذف کامل وبلاگ
مسیر: id
GET/v1/blogs/{id}دریافت اطلاعات یک وبلاگ خاص
مسیر: id
PATCH/v1/blogs/{id}authویرایش اطلاعات وبلاگ
مسیر: id
بدنه: titlestring post_contentstring attachment_uidstring send_publish_notificationboolean tagsarray is_draftboolean

News 5

Verbمسیرشرح و پارامترها
GET/v1/newsدریافت لیست اخبار
کوئری: page per_page q author_username sort_by_created_at
POST/v1/newsauthایجاد خبر جدید
بدنه: titlestring post_contentstring attachment_uidstring send_publish_notificationboolean tagsarray is_draftboolean privacystring
DELETE/v1/news/{id}authحذف کامل خبر
مسیر: id
GET/v1/news/{id}دریافت اطلاعات یک خبر خاص
مسیر: id
PATCH/v1/news/{id}authویرایش اطلاعات خبر
مسیر: id
بدنه: titlestring post_contentstring attachment_uidstring send_publish_notificationboolean tagsarray is_draftboolean privacystring

Photos 5

Verbمسیرشرح و پارامترها
GET/v1/photosدریافت لیست عکس‌ها
کوئری: page per_page q album_id user_id user_username sort_by_created_at
POST/v1/photosauthآپلود عکس جدید
بدنه: photofile album_idinteger descriptionstring privacystring
DELETE/v1/photos/{id}authحذف کامل عکس
مسیر: id
GET/v1/photos/{id}دریافت اطلاعات یک عکس خاص
مسیر: id
PATCH/v1/photos/{id}authویرایش اطلاعات عکس
مسیر: id
بدنه: descriptionstring album_idinteger privacystring

Albums 6

Verbمسیرشرح و پارامترها
GET/v1/albumsدریافت لیست آلبوم‌ها
کوئری: page per_page q user_id user_username sort_by_created_at
POST/v1/albumsauthایجاد آلبوم جدید
بدنه: namestring descriptionstring
DELETE/v1/albums/{id}authحذف کامل آلبوم
مسیر: id
GET/v1/albums/{id}دریافت اطلاعات یک آلبوم خاص
مسیر: id
PATCH/v1/albums/{id}authویرایش اطلاعات آلبوم
مسیر: id
بدنه: namestring descriptionstring
GET/v1/albums/{id}/photosدریافت عکس‌های یک آلبوم
مسیر: id
کوئری: page per_page

Videos 5

Verbمسیرشرح و پارامترها
GET/v1/videosدریافت لیست ویدیوها (به همراه صفحه‌بندی)
کوئری: page per_page q user_id user_username sort_by_created_at
POST/v1/videosauthافزودن ویدیو جدید
بدنه: titlestring descriptionstring codestring filefile privacystring
DELETE/v1/videos/{id}authحذف کامل ویدیو
مسیر: id
GET/v1/videos/{id}دریافت اطلاعات یک ویدیو خاص
مسیر: id
PATCH/v1/videos/{id}authویرایش اطلاعات ویدیو
مسیر: id
بدنه: titlestring descriptionstring privacystring

Events 14

Verbمسیرشرح و پارامترها
GET/v1/eventsدریافت لیست رویدادها (به همراه صفحه‌بندی)
کوئری: page per_page q user_username sort_by_created_at
POST/v1/eventsauthایجاد رویداد جدید
بدنه: titlestring descriptionstring locationstring start_atstring end_atstring who_can_viewinteger who_can_inviteinteger all_dayboolean
DELETE/v1/events/{id}authحذف کامل رویداد
مسیر: id
GET/v1/events/{id}دریافت اطلاعات یک رویداد خاص
مسیر: id
PATCH/v1/events/{id}authویرایش اطلاعات رویداد
مسیر: id
بدنه: titlestring descriptionstring locationstring start_atstring end_atstring who_can_viewinteger who_can_inviteinteger all_dayboolean
PATCH/v1/events/{id}/attendanceauthتغییر وضعیت حضور در رویداد
مسیر: id
بدنه: statusinteger
POST/v1/events/{id}/filesauthافزودن فایل به رویداد (multipart)
مسیر: id
بدنه: filefile
DELETE/v1/events/{id}/files/{fileId}authحذف فایل رویداد
مسیر: id fileId
GET/v1/events/{id}/invitable-usersauthلیست کاربران قابل‌دعوت به رویداد
مسیر: id
کوئری: page per_page q
DELETE/v1/events/{id}/invitesauthرد/لغو دعوت رویداد برای کاربر جاری
مسیر: id
POST/v1/events/{id}/invitesauthدعوت کاربر به رویداد
مسیر: id
بدنه: user_idinteger
POST/v1/events/{id}/invites/acceptauthپذیرش دعوت رویداد
مسیر: id
DELETE/v1/events/{id}/joinauthخروج از رویداد (مالک = حذف کل رویداد)
مسیر: id
POST/v1/events/{id}/joinauthعضویت در رویداد
مسیر: id

Forum 11

Verbمسیرشرح و پارامترها
DELETE/v1/forum/posts/{id}authحذف یک پاسخ
مسیر: id
PATCH/v1/forum/posts/{id}authویرایش یک پاسخ
مسیر: id
بدنه: textstring
GET/v1/forum/topicsدریافت لیست موضوعات انجمن (به همراه صفحه‌بندی)
کوئری: page per_page q group_id user_username sort_by_created_at
POST/v1/forum/topicsauthایجاد موضوع جدید
بدنه: group_idinteger titlestring textstring
DELETE/v1/forum/topics/{id}authحذف کامل موضوع
مسیر: id
GET/v1/forum/topics/{id}دریافت اطلاعات یک موضوع خاص
مسیر: id
PATCH/v1/forum/topics/{id}authویرایش اطلاعات موضوع
مسیر: id
بدنه: titlestring textstring
POST/v1/forum/topics/{id}/lockauthقفل کردن موضوع
مسیر: id
POST/v1/forum/topics/{id}/unlockauthباز کردن قفل موضوع
مسیر: id
GET/v1/forum/topics/{topicId}/postsدریافت لیست پاسخ‌های یک موضوع (به همراه صفحه‌بندی)
مسیر: topicId
کوئری: page per_page q sort_by_created_at
POST/v1/forum/topics/{topicId}/postsauthارسال پاسخ جدید در یک موضوع
مسیر: topicId
بدنه: textstring

Polls 6

Verbمسیرشرح و پارامترها
GET/v1/pollsدریافت لیست نظرسنجی‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q owner_username sort_by_created_at
POST/v1/pollsauthایجاد نظرسنجی جدید
بدنه: add_optionstring is_multipleboolean optionsarray contextstring context_idinteger
DELETE/v1/polls/{id}authحذف کامل نظرسنجی
مسیر: id
GET/v1/polls/{id}دریافت اطلاعات یک نظرسنجی خاص
مسیر: id
PATCH/v1/polls/{id}authویرایش تنظیمات نظرسنجی
مسیر: id
بدنه: add_optionstring is_multipleboolean
POST/v1/polls/{id}/voteauthثبت یا حذف رأی برای یک گزینه نظرسنجی
مسیر: id
بدنه: option_idinteger

LandingPages 5

Verbمسیرشرح و پارامترها
GET/v1/landing-pagesauthدریافت لیست صفحات فرود (به همراه صفحه‌بندی)
کوئری: page per_page q is_active admin_id sort_by_created_at
POST/v1/landing-pagesauthایجاد صفحه فرود جدید
بدنه: slugstring is_activeboolean header_stylestring header_scriptstring footer_scriptstring
DELETE/v1/landing-pages/{id}authحذف کامل صفحه فرود
مسیر: id
GET/v1/landing-pages/{id}authدریافت اطلاعات یک صفحه فرود خاص
مسیر: id
PATCH/v1/landing-pages/{id}authویرایش اطلاعات صفحه فرود
مسیر: id
بدنه: slugstring is_activeboolean header_stylestring header_scriptstring footer_scriptstring

LandingSections 5

Verbمسیرشرح و پارامترها
GET/v1/landing-pages/{id}/sectionsauthدریافت لیست بخش‌های یک صفحه فرود
مسیر: id
POST/v1/landing-pages/{id}/sectionsauthایجاد بخش جدید برای صفحه فرود
مسیر: id
بدنه: typestring is_activeboolean prior_section_idinteger payloadstring
DELETE/v1/landing-sections/{id}authحذف کامل بخش صفحه فرود
مسیر: id
GET/v1/landing-sections/{id}authدریافت اطلاعات یک بخش صفحه فرود خاص
مسیر: id
PATCH/v1/landing-sections/{id}authویرایش اطلاعات بخش صفحه فرود
مسیر: id
بدنه: is_activeboolean prior_section_idinteger payloadstring

آزمون، مسابقه و ارزیابی 55 endpoint

Quizzes 5

Verbمسیرشرح و پارامترها
GET/v1/quizzesauthدریافت لیست آزمون‌ها / نظرسنجی‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q type sort_by_created_at
POST/v1/quizzesauthایجاد آزمون / نظرسنجی جدید
بدنه: namestring typestring intro_pageobject ending_pageobject is_activeboolean is_visibleboolean is_evaluableboolean is_scoreableboolean is_membership_requiredboolean is_sms_verification_neededboolean start_atinteger end_atinteger
DELETE/v1/quizzes/{id}authحذف کامل آزمون به همراه پرسش‌ها، شرکت‌کنندگان و داوری‌های آن
مسیر: id
GET/v1/quizzes/{id}authدریافت اطلاعات یک آزمون خاص به همراه پرسش‌های آن
مسیر: id
PATCH/v1/quizzes/{id}authویرایش اطلاعات آزمون
مسیر: id
بدنه: namestring intro_pageobject ending_pageobject is_activeboolean is_visibleboolean is_evaluableboolean is_scoreableboolean is_membership_requiredboolean is_sms_verification_neededboolean start_atinteger end_atinteger

Quiz Questions 4

Verbمسیرشرح و پارامترها
DELETE/v1/quiz-questions/{id}authحذف یک پرسش آزمون (به همراه اصلاح زنجیره ترتیب پرسش‌ها)
مسیر: id
PATCH/v1/quiz-questions/{id}authویرایش یک پرسش آزمون
مسیر: id
بدنه: titlestring descriptionstring payloadobject mediaobject requiredboolean show_question_numberboolean update_priorinteger
GET/v1/quizzes/{id}/questionsauthدریافت لیست مرتب پرسش‌های یک آزمون
مسیر: id
کوئری: participant_id
POST/v1/quizzes/{id}/questionsauthافزودن پرسش جدید به یک آزمون
مسیر: id
بدنه: titlestring question_typestring descriptionstring payloadobject mediaobject prior_questioninteger groupinteger requiredboolean show_question_numberboolean update_priorinteger

Quiz Submissions 4

Verbمسیرشرح و پارامترها
GET/v1/quizzes/{id}/statisticsauthدریافت آمار تجمیعی یک آزمون (تعداد شرکت‌کنندگان، میانگین زمان پاسخ و شمارش آرا)
مسیر: id
GET/v1/quizzes/{id}/submissionsauthدریافت لیست شرکت‌های کاربر جاری در یک آزمون (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page
POST/v1/quizzes/{id}/submissionsauthشرکت در آزمون: شروع (یا ادامه) شرکت، ثبت پاسخ‌های ارسالی و در صورت درخواست اتمام آزمون
مسیر: id
بدنه: answersarray finishboolean
GET/v1/submissions/{id}authدریافت اطلاعات یک شرکت در آزمون به همراه پاسخ‌های ثبت‌شده
مسیر: id

Judgements 4

Verbمسیرشرح و پارامترها
GET/v1/judgementsauthدریافت لیست داوری‌ها (به همراه صفحه‌بندی و انتساب داور جاری)
کوئری: page per_page quiz_id step type done sort_by_step sort_by_created_at sort_by_start_date
GET/v1/judgements/{id}authدریافت اطلاعات یک داوری به همراه معیارهای مرتب آن و پاسخ‌های داور جاری
مسیر: id
GET/v1/judgements/{id}/scoresauthدریافت لیست امتیازهای ثبت‌شده داور جاری برای انتساب خود در یک داوری
مسیر: id
POST/v1/judgements/{id}/scoresauthثبت (یا بروزرسانی) امتیاز داور جاری برای یک معیار داوری
مسیر: id
بدنه: criteria_idinteger answer

Challenges 4

Verbمسیرشرح و پارامترها
GET/v1/challenge-scoresauthدریافت جدول امتیازات کلی کاربران در مسابقات (به همراه صفحه‌بندی)
کوئری: page per_page
GET/v1/challengesauthدریافت لیست مسابقات تعاملی کاربران (به همراه صفحه‌بندی)
کوئری: page per_page q type status min_point sort_by_created_at sort_by_finish_date
GET/v1/challenges/{id}authدریافت اطلاعات یک مسابقه به همراه بیشترین امتیاز قابل کسب
مسیر: id
GET/v1/challenges/{id}/questionsauthدریافت دفترچه پرسش‌های یک مسابقه به همراه پاسخ‌های کاربر جاری
مسیر: id

Solitary Challenges 6

Verbمسیرشرح و پارامترها
GET/v1/solitary-challengesauthدریافت لیست مسابقات انفرادی کاربر جاری یا دعوت‌های باز (به همراه صفحه‌بندی)
کوئری: page per_page scope
POST/v1/solitary-challengesauthایجاد مسابقه انفرادی (در صورت وجود مسابقه باز منطبق، به آن پیوسته می‌شود)
بدنه: titlestring descriptionstring category_idinteger opponent_usernamestring sponsorstring prizestring min_pointinteger
DELETE/v1/solitary-challenges/{id}authانصراف کاربر جاری از یک مسابقه انفرادی در جریان
مسیر: id
GET/v1/solitary-challenges/{id}authدریافت وضعیت یک مسابقه انفرادی به همراه پرسش جاری و امتیاز طرفین
مسیر: id
POST/v1/solitary-challenges/{id}/answersauthثبت پاسخ کاربر جاری به پرسش جاری یک مسابقه انفرادی
مسیر: id
بدنه: question_idinteger answer_idinteger timeoutboolean
POST/v1/solitary-challenges/{id}/participantsauthپیوستن کاربر جاری به یک مسابقه انفرادی باز
مسیر: id

Universal Challenges 6

Verbمسیرشرح و پارامترها
GET/v1/universal-challengesauthدریافت لیست مسابقات عمومی (به همراه صفحه‌بندی)
کوئری: page per_page mine
POST/v1/universal-challengesauthایجاد مسابقه عمومی جدید
بدنه: titlestring descriptionstring category_idinteger questions_numberinteger win_numinteger win_pointinteger min_pointinteger sponsorstring prizestring start_datestring
DELETE/v1/universal-challenges/{id}authحذف یک مسابقه عمومی توسط سازنده یا مدیر
مسیر: id
GET/v1/universal-challenges/{id}authدریافت وضعیت یک مسابقه عمومی به همراه پرسش جاری، امتیاز کاربر و برنده
مسیر: id
POST/v1/universal-challenges/{id}/answersauthثبت پاسخ کاربر جاری به پرسش جاری یک مسابقه عمومی
مسیر: id
بدنه: question_idinteger answer_idinteger timeoutboolean
GET/v1/universal-challenges/{id}/scoresauthدریافت جدول امتیازات شرکت‌کنندگان یک مسابقه عمومی
مسیر: id
کوئری: per_page

Challenge Categories 2

Verbمسیرشرح و پارامترها
GET/v1/challenge-categoriesauthدریافت لیست دسته‌بندی‌های پرسش مسابقات (به همراه صفحه‌بندی)
کوئری: page per_page
GET/v1/challenge-categories/{id}authدریافت اطلاعات یک دسته‌بندی پرسش
مسیر: id

Competitions 5

Verbمسیرشرح و پارامترها
GET/v1/competitionsauthدریافت لیست مسابقات (به همراه صفحه‌بندی)
کوئری: page per_page q type active sort_by_created_at sort_by_start_date sort_by_end_date
POST/v1/competitionsauthایجاد مسابقه جدید
بدنه: titlestring descriptionstring typestring imagestring activeboolean start_dateinteger end_dateinteger show_in_tablearray show_in_exportarray send_publish_notificationboolean
DELETE/v1/competitions/{id}authحذف کامل مسابقه
مسیر: id
GET/v1/competitions/{id}authدریافت اطلاعات یک مسابقه خاص به همراه تعداد شرکت‌کنندگان
مسیر: id
PATCH/v1/competitions/{id}authویرایش اطلاعات مسابقه
مسیر: id
بدنه: titlestring descriptionstring typestring imagestring activeboolean start_dateinteger end_dateinteger show_in_tablearray show_in_exportarray

Competition Submissions 4

Verbمسیرشرح و پارامترها
GET/v1/competition-submissions/{id}authدریافت اطلاعات یک اثر ارسال شده
مسیر: id
PATCH/v1/competition-submissions/{id}authثبت امتیاز داور برای یک اثر ارسال شده
مسیر: id
بدنه: pointinteger payloadobject
GET/v1/competitions/{id}/submissionsauthدریافت لیست آثار ارسال شده به یک مسابقه (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page mine
POST/v1/competitions/{id}/submissionsauthارسال (یا جایگزینی) اثر کاربر جاری در یک مسابقه از نوع submitted
مسیر: id
بدنه: file_pathstring file_extstring descriptionstring payloadobject

Evaluations 5

Verbمسیرشرح و پارامترها
GET/v1/evaluationsauthدریافت لیست ارزیابی‌ها به همراه پیشرفت کاربر (با صفحه‌بندی)
کوئری: page per_page q user_id sort_by_order sort_by_name
POST/v1/evaluationsauthایجاد ارزیابی جدید
بدنه: namestring descriptionstring iconstring
DELETE/v1/evaluations/{id}authحذف کامل ارزیابی
مسیر: id
GET/v1/evaluations/{id}authدریافت اطلاعات یک ارزیابی خاص
مسیر: id
PATCH/v1/evaluations/{id}authویرایش اطلاعات ارزیابی
مسیر: id
بدنه: namestring descriptionstring iconstring

Evaluation Criteria 6

Verbمسیرشرح و پارامترها
DELETE/v1/evaluation-criteria/{id}authحذف یک شاخص ارزیابی
مسیر: id
PATCH/v1/evaluation-criteria/{id}authویرایش یک شاخص ارزیابی
مسیر: id
بدنه: titlestring descriptionstring evaluation_idinteger levelstring weightinteger has_describeboolean has_fileboolean has_verificationboolean
GET/v1/evaluation-criteria/{id}/optionsauthدریافت گزینه‌های پاسخ یک شاخص ارزیابی
مسیر: id
POST/v1/evaluation-criteria/{id}/optionsauthافزودن گزینه پاسخ جدید به یک شاخص ارزیابی
مسیر: id
بدنه: namestring valueinteger
GET/v1/evaluations/{id}/criteriaauthدریافت شاخص‌های یک ارزیابی به همراه گزینه‌ها و پاسخ کاربر جاری
مسیر: id
کوئری: page per_page
POST/v1/evaluations/{id}/criteriaauthافزودن شاخص جدید به یک ارزیابی
مسیر: id
بدنه: titlestring descriptionstring levelstring weightinteger has_describeboolean has_fileboolean has_verificationboolean

سازمانی و پژوهشی 56 endpoint

Grants 5

Verbمسیرشرح و پارامترها
GET/v1/grantsدریافت لیست گرنت‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q professor college_and_field started_year sort_by_created_at
POST/v1/grantsauthایجاد گرنت جدید
بدنه: titlestring professorstring college_and_fieldstring laboratorystring started_yearstring descriptionstring
DELETE/v1/grants/{id}authحذف کامل گرنت
مسیر: id
GET/v1/grants/{id}دریافت اطلاعات یک گرنت خاص
مسیر: id
PATCH/v1/grants/{id}authویرایش اطلاعات گرنت
مسیر: id
بدنه: titlestring professorstring college_and_fieldstring laboratorystring started_yearstring descriptionstring

Cfps 12

Verbمسیرشرح و پارامترها
GET/v1/cfpsدریافت لیست فراخوان‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q user_username status who_can_view sort_by_created_at
POST/v1/cfpsauthایجاد فراخوان جدید
بدنه: titlestring descriptionstring start_atstring end_atstring who_can_viewinteger file_disabledboolean file_notestring all_dayboolean
DELETE/v1/cfps/{id}authحذف کامل فراخوان
مسیر: id
GET/v1/cfps/{id}دریافت اطلاعات یک فراخوان خاص
مسیر: id
PATCH/v1/cfps/{id}authویرایش اطلاعات فراخوان
مسیر: id
بدنه: titlestring descriptionstring start_atstring end_atstring who_can_viewinteger file_disabledboolean file_notestring all_dayboolean
GET/v1/cfps/{id}/applicantsauthدریافت لیست متقاضیان فراخوان
مسیر: id
کوئری: page per_page status
POST/v1/cfps/{id}/applicantsauthثبت یک کاربر به عنوان متقاضی فراخوان (توسط مالک/مدیر)
مسیر: id
بدنه: user_idinteger statusinteger
DELETE/v1/cfps/{id}/applyauthانصراف کاربر جاری از فراخوان
مسیر: id
POST/v1/cfps/{id}/applyauthثبت درخواست کاربر جاری در فراخوان
مسیر: id
بدنه: statusinteger
GET/v1/cfps/{id}/filesauthدریافت لیست فایل‌های فراخوان
مسیر: id
کوئری: page per_page
POST/v1/cfps/{id}/filesauthافزودن فایل به فراخوان (multipart)
مسیر: id
بدنه: filefile namestring
DELETE/v1/cfps/{id}/files/{fileId}authحذف فایل پیوست فراخوان
مسیر: id fileId

Tickets 12

Verbمسیرشرح و پارامترها
GET/v1/ticket-categoriesauthدریافت لیست دسته‌بندی‌های تیکت
کوئری: status
GET/v1/ticket-ordersauthدریافت لیست سفارش‌های قابل انتخاب برای تیکت
GET/v1/ticketsauthدریافت لیست تیکت‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q category_id order_id user_id user_username locked sort_by_created_at
POST/v1/ticketsauthایجاد تیکت جدید
بدنه: titlestring descriptionstring category_idinteger order_idinteger attachment_uidstring
DELETE/v1/tickets/{id}authحذف کامل تیکت به همراه پاسخ‌ها و پیوست‌ها
مسیر: id
GET/v1/tickets/{id}authدریافت اطلاعات یک تیکت خاص
مسیر: id
PATCH/v1/tickets/{id}authویرایش اطلاعات تیکت
مسیر: id
بدنه: titlestring descriptionstring category_idinteger order_idinteger attachment_uidstring
GET/v1/tickets/{id}/repliesauthدریافت لیست پاسخ‌های یک تیکت
مسیر: id
کوئری: page
POST/v1/tickets/{id}/repliesauthثبت پاسخ جدید برای تیکت
مسیر: id
بدنه: textstring attachment_uidstring
DELETE/v1/tickets/{id}/replies/{postId}authحذف پاسخ تیکت
مسیر: id postId
PATCH/v1/tickets/{id}/replies/{postId}authویرایش پاسخ تیکت
مسیر: id postId
بدنه: textstring attachment_uidstring
PATCH/v1/tickets/{id}/statusauthقفل یا باز کردن تیکت
مسیر: id
بدنه: lockedinteger

Technologies 6

Verbمسیرشرح و پارامترها
GET/v1/technologiesدریافت لیست فناوری‌ها (به همراه صفحه‌بندی)
کوئری: page per_page q status area tag sort_by_created_at
POST/v1/technologiesauthثبت فناوری جدید (در وضعیت غیرفعال تا تایید مدیر)
بدنه: titlestring user_full_namestring positionstring gradestring student_numberstring organizationstring emailstring phone_numberstring areastring descriptionstring tagsarray
DELETE/v1/technologies/{id}authحذف کامل فناوری
مسیر: id
GET/v1/technologies/{id}دریافت اطلاعات یک فناوری خاص
مسیر: id
PATCH/v1/technologies/{id}authویرایش اطلاعات فناوری
مسیر: id
بدنه: titlestring user_full_namestring positionstring gradestring student_numberstring organizationstring emailstring phone_numberstring areastring descriptionstring tagsarray
PATCH/v1/technologies/{id}/statusauthفعال/غیرفعال کردن فناوری
مسیر: id
بدنه: statusstring

TechUnits 6

Verbمسیرشرح و پارامترها
GET/v1/tech-unitsدریافت لیست واحدهای فناور (به همراه صفحه‌بندی)
کوئری: page per_page q manager sort_by_created_at sort_by_name
POST/v1/tech-unitsauthایجاد واحد فناور جدید
بدنه: namestring managerstring addressstring phonestring emailstring websitestring imagefile qr_codefile sectionsobject
DELETE/v1/tech-units/{id}authحذف کامل واحد فناور به همراه بخش‌های آن
مسیر: id
GET/v1/tech-units/{id}دریافت اطلاعات یک واحد فناور خاص
مسیر: id
PATCH/v1/tech-units/{id}authویرایش اطلاعات واحد فناور
مسیر: id
بدنه: namestring managerstring addressstring phonestring emailstring websitestring imagefile qr_codefile delete_imageboolean delete_qr_codeboolean sectionsobject
GET/v1/tech-units/{id}/sectionsدریافت محتوای بخش‌های یک واحد فناور
مسیر: id

TechUnitSections 2

Verbمسیرشرح و پارامترها
GET/v1/tech-unit-sectionsدریافت فهرست بخش‌های قابل استفاده در واحدهای فناور
کوئری: page per_page q required sort_by_id sort_by_name
GET/v1/tech-unit-sections/{section}دریافت اطلاعات یک بخش بر اساس شناسه یا کلید آن
مسیر: section

Journal Issues 5

Verbمسیرشرح و پارامترها
GET/v1/journal-issuesدریافت لیست شماره‌های نشریه (به همراه صفحه‌بندی)
کوئری: page per_page q volume no sort_by_volume sort_by_no
POST/v1/journal-issuesauthایجاد شماره جدید نشریه
بدنه: titlestring volumeinteger nointeger poster_filestring filestring
DELETE/v1/journal-issues/{id}authحذف یک شماره نشریه
مسیر: id
GET/v1/journal-issues/{id}دریافت اطلاعات یک شماره نشریه
مسیر: id
PATCH/v1/journal-issues/{id}authویرایش اطلاعات یک شماره نشریه
مسیر: id
بدنه: titlestring volumeinteger nointeger poster_filestring filestring

Journal Articles 8

Verbمسیرشرح و پارامترها
GET/v1/journal-articlesدریافت لیست مقالات نشریه (به همراه صفحه‌بندی و جستجو در عنوان و چکیده)
کوئری: page per_page q issue_id is_active sort_by_created_at sort_by_view_count sort_by_download_count
DELETE/v1/journal-articles/{id}authحذف یک مقاله به همراه نویسندگان و کلیدواژه‌های آن
مسیر: id
GET/v1/journal-articles/{id}دریافت اطلاعات یک مقاله به همراه نویسندگان و کلیدواژه‌ها
مسیر: id
PATCH/v1/journal-articles/{id}authویرایش یک مقاله (کلیدواژه‌ها و نویسندگان در صورت ارسال جایگزین می‌شوند)
مسیر: id
بدنه: titlestring abstractstring citationstring filestring is_activeboolean issue_idinteger start_pageinteger end_pageinteger dorlstring keywordsarray authorsarray
POST/v1/journal-articles/{id}/downloadsauthثبت دریافت فایل مقاله (در هر نشست تنها یک بار شمارش می‌شود)
مسیر: id
POST/v1/journal-articles/{id}/viewsauthثبت بازدید مقاله (در هر نشست تنها یک بار شمارش می‌شود)
مسیر: id
GET/v1/journal-issues/{id}/articlesدریافت لیست مقالات یک شماره نشریه
مسیر: id
کوئری: page per_page q is_active
POST/v1/journal-issues/{id}/articlesauthافزودن مقاله جدید به یک شماره نشریه
مسیر: id
بدنه: titlestring abstractstring citationstring filestring is_activeboolean start_pageinteger end_pageinteger keywordsarray authorsarray

سایر 26 endpoint

Competition Participants 4

Verbمسیرشرح و پارامترها
GET/v1/competitions/{id}/groupsauthدریافت جدول امتیازات گروه‌های یک مسابقه (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page
POST/v1/competitions/{id}/groupsauthثبت (یا بروزرسانی) امتیاز یک گروه در مسابقه
مسیر: id
بدنه: group_idinteger valueinteger
GET/v1/competitions/{id}/participantsauthدریافت جدول امتیازات کاربران یک مسابقه (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page
POST/v1/competitions/{id}/participantsauthثبت (یا بروزرسانی) امتیاز یک کاربر در مسابقه
مسیر: id
بدنه: user_idinteger usernamestring valueinteger

Evaluation Scores 3

Verbمسیرشرح و پارامترها
GET/v1/evaluation-resultsauthدریافت درجه نهایی ارزیابی کاربر به همراه جدول سطوح الزام
کوئری: user_id
GET/v1/evaluations/{id}/scoresauthدریافت پاسخ‌های ثبت شده در یک ارزیابی (به همراه صفحه‌بندی)
مسیر: id
کوئری: page per_page user_id
POST/v1/evaluations/{id}/scoresauthثبت (یا بروزرسانی) پاسخ کاربر جاری به یک شاخص ارزیابی
مسیر: id
بدنه: criteria_idinteger option_idinteger descriptionstring filestring signstring

Iisemployee 4

Verbمسیرشرح و پارامترها
GET/v1/companiesدریافت لیست شرکت‌ها/کارفرمایان (به همراه صفحه‌بندی)
کوئری: page per_page q sort_by_name
GET/v1/companies/meauthبررسی اینکه آیا کاربر جاری یک شرکت (کارفرما) است
GET/v1/employees/{userId}/employerauthدریافت کارفرمای یک کاربر
مسیر: userId
POST/v1/employees/{userId}/toggleauthتغییر وضعیت تایید استخدام کارمند توسط کارفرما
مسیر: userId

Journal Article Authors 3

Verbمسیرشرح و پارامترها
GET/v1/journal-articles/{id}/authorsدریافت لیست نویسندگان یک مقاله
مسیر: id
کوئری: page per_page q sort_by_name
POST/v1/journal-articles/{id}/authorsauthافزودن نویسنده به یک مقاله
مسیر: id
بدنه: namestring emailstring affliationstring
DELETE/v1/journal-authors/{id}authحذف یک نویسنده
مسیر: id

Journal Article Keywords 3

Verbمسیرشرح و پارامترها
GET/v1/journal-articles/{id}/keywordsدریافت لیست کلیدواژه‌های یک مقاله
مسیر: id
کوئری: page per_page q sort_by_name
POST/v1/journal-articles/{id}/keywordsauthافزودن کلیدواژه به یک مقاله
مسیر: id
بدنه: namestring
DELETE/v1/journal-keywords/{id}authحذف یک کلیدواژه
مسیر: id

Journal Citation Formats 4

Verbمسیرشرح و پارامترها
GET/v1/journal-articles/{id}/citationsدریافت متن ارجاع‌های یک مقاله بر پایه همه قالب‌های ذخیره‌شده به همراه BibTeX
مسیر: id
GET/v1/journal-citation-formatsدریافت لیست قالب‌های ارجاع‌دهی نشریه
کوئری: page per_page q sort_by_title
POST/v1/journal-citation-formatsauthایجاد قالب ارجاع‌دهی جدید
بدنه: titlestring templatestring
DELETE/v1/journal-citation-formats/{id}authحذف یک قالب ارجاع‌دهی
مسیر: id

TechnologyOrders 5

Verbمسیرشرح و پارامترها
GET/v1/technologies/{id}/ordersauthدریافت سفارش‌های ثبت‌شده برای یک فناوری
مسیر: id
کوئری: page per_page q
POST/v1/technologies/{id}/ordersauthثبت سفارش برای یک فناوری
مسیر: id
GET/v1/technology-ordersauthدریافت لیست تمام سفارش‌های فناوری (ویژه مدیران)
کوئری: page per_page q technology_id sort_by_created_at
DELETE/v1/technology-orders/{id}authحذف سفارش فناوری
مسیر: id
GET/v1/technology-orders/{id}authدریافت اطلاعات یک سفارش خاص
مسیر: id

تولیدشده از اسپک زنده‌ی سرور · Motoshub API v1 · docs.shub.ir/reports