Skip to main content
#P1562

GET /api/v2/support/departments/list

Route Info

Method Endpoint Controller
GET /api/v2/support/departments/list OfficialController@listDepartmentsSupport

شرح عملکرد (Functionality)

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

  • فیلتر و مرتب‌سازی: تنها دپارتمان‌هایی که وضعیت فعال دارند (status = 1) از جدول support_departments انتخاب شده و بر اساس فیلد order مرتب می‌شوند.
  • جایگزینی پویا نام برند (Brand Injection):
    • در هنگام پردازش لیست، سیستم بررسی می‌کند که آیا کلمه "آژانس" در عنوان فارسی (title_fa) وجود دارد یا خیر.
    • اگر وجود داشته باشد، نام برند آژانس جاری (brand_fa) از جدول offices (بر اساس branch موجود در درخواست) استخراج شده و جایگزین کلمه "آژانس" می‌شود.
    • مثال: اگر عنوان دپارتمان "امور مالی آژانس" باشد و نام برند "تراول‌سیتی" باشد، خروجی به "امور مالی تراول‌سیتی" تغییر می‌کند.
  • ساختار چندزبانه: عنوان‌ها در قالب یک آبجکت شامل کلیدهای fa و en بازگردانده می‌شوند.

پارامترهای ورودی (Input Parameters)

نام پارامتر نوع الزامی؟ توضیحات
branch Integer بله شناسه شعبه فعال (جهت یافتن نام برند برای جایگزینی در عنوان‌ها). معمولاً از طریق میدل‌ور تزریق می‌شود.

نمونه خروجی (Response)

{
    "status": true,
    "time": 1732617000,
    "data": [
        {
            "id": 1,
            "allowed_response": 1, // سطح دسترسی پاسخ‌دهی (مثلا: 1 برای همه)
            "description": "سوالات مربوط به پروازهای داخلی و خارجی",
            "title": {
                "fa": "فروش پرواز", // بدون تغییر چون کلمه 'آژانس' ندارد
                "en": "Flight Sales"
            }
        },
        {
            "id": 2,
            "allowed_response": 0,
            "description": "پیگیری موارد مالی و حسابداری",
            "title": {
                "fa": "امور مالی آسمان سیر", // 'آژانس' با 'آسمان سیر' جایگزین شده است
                "en": "Finance Department"
            }
        }
    ]
}