Skip to main content
#P1773

POST /v2/trade/reference/type


Global Reference Search

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




Search Entities (Autocomplete)

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

URL: /v2/trade/reference/type
Method: 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
    }
}