# POST /v2/trade/reference/type

<div class="api-docs" id="bkmrk-">  <div class="endpoint-section">  
</div></div>## Global Reference Search

این متد به عنوان یک جستجوگر چندمنظوره (Poly-morphic Search) عمل می‌کند. فرانت‌اند با ارسال پارامتر `goal` مشخص می‌کند که به دنبال چه نوع داده‌ای است (مثلاً مسافر، حساب بانکی، یا ایرلاین) و سیستم با جستجو در جداول مربوطه، لیست استاندارد شده‌ای شامل `id` و `text` برمی‌گرداند.

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

  </div># Search Entities (Autocomplete)

جستجو و واکشی اطلاعات برای ورودی‌های Select و Autocomplete در سراسر سیستم.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Ftrade%2Frefer"><div class="endpoint-info"><div>**URL:** `/v2/trade/reference/type`</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>(الزامی) شناسه نوع موجودیت مورد جستجو. می‌تواند یک عدد (مثل `1000`) یا یک رشته (مثل `pay_type`) یا ترکیبی جدا شده با کاما باشد.</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` در خروجی، نوع موجودیت اضافه می‌شود (مثلاً `account-123` به جای `123`). مناسب برای جستجوهای ترکیبی.</td></tr><tr><td dir="ltr">extra</td><td>JSON/Array</td><td>(اختیاری) فیلترهای تکمیلی. مثلاً برای حساب‌ها (goal=1000) نوع پرداخت (`type_pay`: cash, pos, check) را مشخص می‌کند.</td></tr></tbody></table>

</div>### Goal Codes (Magic Numbers) &amp; Logic

<div class="api-docs" id="bkmrk-goal-code-target-ent"><table class="schema-table" dir="rtl"><thead><tr><th>Goal Code</th><th>Target Entity</th><th>Search Logic / Filters</th></tr></thead><tbody><tr><td>1000</td><td>حساب‌ها (Accounts)</td><td>جستجو در `accounting_accounts`.   
پشتیبانی از فیلتر `extra['type_pay']` برای نمایش حساب‌های خاص (نقد، پوز، آنلاین، چک).</td></tr><tr><td>1100</td><td>ایرلاین‌ها (Airlines)</td><td>جستجو بر اساس نام فارسی، انگلیسی یا کد IATA.</td></tr><tr><td>1200</td><td>هتل‌ها (Hotels)</td><td>جستجو در نام هتل و نام استان (State).</td></tr><tr><td>1300</td><td>پرسنل (Personnel)</td><td>جستجو در کاربران (`users`). اعمال محدودیت دسترسی بر اساس سطح دسترسی اپراتور.</td></tr><tr><td>1500</td><td>تنخواه‌گردان‌ها</td><td>کاربرانی که فیلد `imprest` آن‌ها مقدار دارد.</td></tr><tr><td>1600</td><td>اعلامیه‌ها</td><td>جدول `announcements`.</td></tr><tr><td>2000</td><td>بانک‌ها</td><td>جدول `accounting_banks` (به جز نوع داخلی).</td></tr><tr><td>3000</td><td>حوالجات</td><td>حساب‌های بانکی متصل به بانک با شناسه 32.</td></tr><tr><td>4000</td><td>اقساط</td><td>حساب‌های بانکی متصل به بانک با شناسه 33.</td></tr><tr><td>5000, 5001</td><td>رفرنس/فاکتور</td><td>جستجو در شماره سریال فاکتور (`factors`) یا نام مشتری مرتبط.</td></tr><tr><td>8000, 8100</td><td>همکاران (Suppliers)</td><td>جدول `colleagues` با وضعیت فعال.</td></tr><tr><td>8200</td><td>متعهدین (Commitments)</td><td>جدول `colleagues` (معمولاً بدهکاران/بستانکاران خاص).</td></tr><tr><td>9000</td><td>مسافرین (Customers)</td><td>جستجو در نام، نام خانوادگی (فارسی/انگلیسی) جدول `customers`.</td></tr><tr><td>pay\_type</td><td>روش‌های پرداخت</td><td>لیست استاتیک بر اساس `extra['type']` (دریافت یا پرداخت). شامل: نقد، پوز، چک، پایا، ساتنا و...</td></tr><tr><td>type\_functor</td><td>طرف حساب</td><td>لیست انواع موجودیت‌های مجاز برای تراکنش (مسافر، همکار، پرسنل و...).</td></tr><tr><td>status</td><td>وضعیت‌ها</td><td>لیست استاتیک وضعیت (پایان یافته، در حال بررسی و...).</td></tr><tr><td>gateways</td><td>درگاه‌ها</td><td>لیست درگاه‌های پرداخت فعال شعبه.</td></tr></tbody></table>

</div>### Success Response Example

```json
{
    "total_count": 10,
    "incomplete_results": false,
    "results": [
        {
            "id": 105,
            "text": "1205 - هتل داریوش (کیش)"
        },
        {
            "id": "account-50", // در صورت فعال بودن separator
            "text": "1050 - صندوق ریالی (Main Branch)"
        }
    ],
    "pagination": {
        "more": false
    }
}
```