# POST /v2/base/reference

<div class="api-docs" id="bkmrk-">  <div class="endpoint-section">  
</div></div>## Base System References

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

<div class="api-docs" id="bkmrk--1"><div class="endpoint-section">  
</div>  
---

  </div># General Reference Lookup

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

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fbase%2Frefere"><div class="endpoint-info"><div>**URL:** `/v2/base/reference`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** BaseController@tradeReferenceType</div><div>**Middleware:** authWithJwt</div></div></div>### Request Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">goal</td><td>String/Array</td><td>(الزامی) شناسه نوع داده مورد نیاز. (لیست کامل در جدول پایین).</td></tr><tr><td dir="ltr">q</td><td>String</td><td>(اختیاری) عبارت متنی یا عددی برای جستجو.</td></tr><tr><td dir="ltr">branch</td><td>Integer</td><td>(الزامی) شناسه شعبه فعال.</td></tr><tr><td dir="ltr">separator</td><td>Boolean</td><td>(اختیاری) افزودن پیشوند متنی به ID خروجی (مثلاً `office-1`).</td></tr><tr><td dir="ltr">details</td><td>Boolean</td><td>(اختیاری) برای برخی موجودیت‌ها مثل `shift_works` جزئیات کامل رکورد را در خروجی برمی‌گرداند.</td></tr></tbody></table>

</div>### Reference Codes (Goal Dictionary)

<div class="api-docs" id="bkmrk-code-entity-notes-10"><table class="schema-table" dir="rtl"><thead><tr><th>Code</th><th>Entity</th><th>Notes</th></tr></thead><tbody><tr><td>1000</td><td>حساب‌های حسابداری</td><td>فیلتر بر اساس `extra['type_pay']` (نقد، بانک، چک).</td></tr><tr><td>1300</td><td>پرسنل</td><td>کاربران سیستم. دسترسی محدود به سطح دسترسی اپراتور.</td></tr><tr><td>1500</td><td>تنخواه‌گردان</td><td>کاربران دارای فیلد `imprest`.</td></tr><tr><td>1600</td><td>اعلامیه‌ها</td><td>جستجو در عنوان و شرکت صادرکننده.</td></tr><tr><td>2000</td><td>بانک‌ها</td><td>لیست بانک‌های تعریف شده (بجز نوع داخلی).</td></tr><tr><td>5000</td><td>فاکتور/رفرنس</td><td>جستجو در سریال فاکتور یا نام مشتری.</td></tr><tr><td>8000/8100</td><td>همکاران</td><td>تامین‌کنندگان (Suppliers).</td></tr><tr><td>9000</td><td>مشتریان/مسافرین</td><td>جستجو در نام فارسی و انگلیسی.</td></tr><tr><td>office</td><td>دفاتر/شعب</td><td>لیست دفاتر فعال (`offices`).</td></tr><tr><td>gateways</td><td>درگاه‌های پرداخت</td><td>درگاه‌های متصل به شعبه (`gateways`).</td></tr><tr><td>shift\_works</td><td>شیفت‌های کاری</td><td>لیست شیفت‌ها. اگر `details=true` باشد، کل آبجکت برمی‌گردد.</td></tr><tr><td>office\_departments</td><td>دپارتمان‌ها</td><td>لیست دپارتمان‌های شعبه (فروش، مالی و...).</td></tr><tr><td>status</td><td>وضعیت‌ها</td><td>لیست استاتیک (پایان یافته، در حال بررسی، ...).</td></tr></tbody></table>

</div>### Example Request (Shift Works)

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

### Success Response

```json
{
    "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
    }
}
```

<div class="api-docs" id="bkmrk--2">---

</div>### Technical Logic Flow

<div class="api-docs" id="bkmrk-request%3A-goal-%2B-quer"><div class="flowchart"><div class="flow-item">Request: Goal + Query</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #fffde7;">**Switch Case (Goal)**  
Select Table (User, Account, Office...)</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #e3f2fd;">**Apply Filters**  
(Branch check, Search 'q', Extra params)</div><div class="flow-arrow">↓</div><div class="flow-item-success">**Format Output**  
{ id: ..., text: ... }</div></div></div>