#P1773
POST /v2/trade/reference/type
Global Reference Search
این متد به عنوان یک جستجوگر چندمنظوره (Poly-morphic Search) عمل میکند. فرانتاند با ارسال پارامتر goal مشخص میکند که به دنبال چه نوع دادهای است (مثلاً مسافر، حساب بانکی، یا ایرلاین) و سیستم با جستجو در جداول مربوطه، لیست استاندارد شدهای شامل id و text برمیگرداند.
Search Entities (Autocomplete)
جستجو و واکشی اطلاعات برای ورودیهای Select و Autocomplete در سراسر سیستم.
URL:
/v2/trade/reference/typeMethod: POST
Controller: BaseController@tradeReferenceType
Middleware: authWithJwt
Request Parameters
| Parameter | Type | Description |
|---|---|---|
| goal | String/Array | (الزامی) شناسه نوع موجودیت مورد جستجو. میتواند یک عدد (مثل 1000) یا یک رشته (مثل pay_type) یا ترکیبی جدا شده با کاما باشد. |
| q | String | (اختیاری) عبارت جستجو (متن یا شناسه عددی). |
| branch | Integer | (الزامی - معمولاً در هدر یا بادی) شناسه شعبه فعال کاربر. |
| separator | Boolean | (اختیاری) اگر ارسال شود، به ابتدای id در خروجی، نوع موجودیت اضافه میشود (مثلاً account-123 به جای 123). مناسب برای جستجوهای ترکیبی. |
| extra | JSON/Array | (اختیاری) فیلترهای تکمیلی. مثلاً برای حسابها (goal=1000) نوع پرداخت (type_pay: cash, pos, check) را مشخص میکند. |
Goal Codes (Magic Numbers) & Logic
| Goal Code | Target Entity | Search Logic / Filters |
|---|---|---|
| 1000 | حسابها (Accounts) | جستجو در accounting_accounts. پشتیبانی از فیلتر extra['type_pay'] برای نمایش حسابهای خاص (نقد، پوز، آنلاین، چک). |
| 1100 | ایرلاینها (Airlines) | جستجو بر اساس نام فارسی، انگلیسی یا کد IATA. |
| 1200 | هتلها (Hotels) | جستجو در نام هتل و نام استان (State). |
| 1300 | پرسنل (Personnel) | جستجو در کاربران (`users`). اعمال محدودیت دسترسی بر اساس سطح دسترسی اپراتور. |
| 1500 | تنخواهگردانها | کاربرانی که فیلد imprest آنها مقدار دارد. |
| 1600 | اعلامیهها | جدول announcements. |
| 2000 | بانکها | جدول accounting_banks (به جز نوع داخلی). |
| 3000 | حوالجات | حسابهای بانکی متصل به بانک با شناسه 32. |
| 4000 | اقساط | حسابهای بانکی متصل به بانک با شناسه 33. |
| 5000, 5001 | رفرنس/فاکتور | جستجو در شماره سریال فاکتور (`factors`) یا نام مشتری مرتبط. |
| 8000, 8100 | همکاران (Suppliers) | جدول colleagues با وضعیت فعال. |
| 8200 | متعهدین (Commitments) | جدول colleagues (معمولاً بدهکاران/بستانکاران خاص). |
| 9000 | مسافرین (Customers) | جستجو در نام، نام خانوادگی (فارسی/انگلیسی) جدول customers. |
| pay_type | روشهای پرداخت | لیست استاتیک بر اساس extra['type'] (دریافت یا پرداخت). شامل: نقد، پوز، چک، پایا، ساتنا و... |
| type_functor | طرف حساب | لیست انواع موجودیتهای مجاز برای تراکنش (مسافر، همکار، پرسنل و...). |
| status | وضعیتها | لیست استاتیک وضعیت (پایان یافته، در حال بررسی و...). |
| gateways | درگاهها | لیست درگاههای پرداخت فعال شعبه. |
Success Response Example
{
"total_count": 10,
"incomplete_results": false,
"results": [
{
"id": 105,
"text": "1205 - هتل داریوش (کیش)"
},
{
"id": "account-50", // در صورت فعال بودن separator
"text": "1050 - صندوق ریالی (Main Branch)"
}
],
"pagination": {
"more": false
}
}