Skip to main content
#P1774

POST /v2/base/reference


Base System References

این اندپوینت دقیقاً همان موتور جستجوی مرکزی (Global Search) است که در ماژول Trade استفاده می‌شد، اما با آدرس base برای استفاده‌های عمومی در کل سیستم (مانند فرم‌های تنظیمات، داشبورد و غیره) در دسترس قرار گرفته است.
وظیفه آن تبدیل کدهای موجودیت (Goals) به لیست‌های استاندارد برای Dropdownها است.




General Reference Lookup

جستجوی تمامی موجودیت‌های پایه سیستم (کاربران، شیفت‌ها، دپارتمان‌ها، حساب‌ها و...) برای استفاده در کامپوننت‌های Select2.

URL: /v2/base/reference
Method: POST
Controller: BaseController@tradeReferenceType
Middleware: authWithJwt

Request Parameters

Parameter Type Description
goal String/Array (الزامی) شناسه نوع داده مورد نیاز. (لیست کامل در جدول پایین).
q String (اختیاری) عبارت متنی یا عددی برای جستجو.
branch Integer (الزامی) شناسه شعبه فعال.
separator Boolean (اختیاری) افزودن پیشوند متنی به ID خروجی (مثلاً office-1).
details Boolean (اختیاری) برای برخی موجودیت‌ها مثل shift_works جزئیات کامل رکورد را در خروجی برمی‌گرداند.

Reference Codes (Goal Dictionary)

Code Entity Notes
1000 حساب‌های حسابداری فیلتر بر اساس extra['type_pay'] (نقد، بانک، چک).
1300 پرسنل کاربران سیستم. دسترسی محدود به سطح دسترسی اپراتور.
1500 تنخواه‌گردان کاربران دارای فیلد imprest.
1600 اعلامیه‌ها جستجو در عنوان و شرکت صادرکننده.
2000 بانک‌ها لیست بانک‌های تعریف شده (بجز نوع داخلی).
5000 فاکتور/رفرنس جستجو در سریال فاکتور یا نام مشتری.
8000/8100 همکاران تامین‌کنندگان (Suppliers).
9000 مشتریان/مسافرین جستجو در نام فارسی و انگلیسی.
office دفاتر/شعب لیست دفاتر فعال (`offices`).
gateways درگاه‌های پرداخت درگاه‌های متصل به شعبه (`gateways`).
shift_works شیفت‌های کاری لیست شیفت‌ها. اگر details=true باشد، کل آبجکت برمی‌گردد.
office_departments دپارتمان‌ها لیست دپارتمان‌های شعبه (فروش، مالی و...).
status وضعیت‌ها لیست استاتیک (پایان یافته، در حال بررسی، ...).

Example Request (Shift Works)

{
    "goal": "shift_works",
    "branch": 1,
    "details": true
}

Success Response

{
    "total_count": 5,
    "incomplete_results": false,
    "results": [
        {
            "id": 1,
            "text": "شیفت صبح",
            "query": {
                "id": 1,
                "title": "شیفت صبح",
                "start_time": "08:00",
                "end_time": "16:00"
            }
        }
    ],
    "pagination": {
        "more": false
    }
}

Technical Logic Flow

Request: Goal + Query
Switch Case (Goal)
Select Table (User, Account, Office...)
Apply Filters
(Branch check, Search 'q', Extra params)
Format Output
{ id: ..., text: ... }