Skip to main content
#P1584

GET /v2/accounting/account

Route Info

Method Endpoint Controller
GET /v2/accounting/account AccountingController@accountIndex

شرح عملکرد (Functionality)

این متد جزئیات کامل یک حساب تفضیلی/بانکی خاص را برمی‌گرداند. تفاوت اصلی این متد با لیست‌گیری، در نرمال‌سازی (Normalize) داده‌ها و دسته‌بندی اطلاعات در آبجکت‌های تو در تو است.

  • دریافت اطلاعات (Join Query):
    اطلاعات از جدول accounting_accounts دریافت شده و با جدول accounting_banks جوین می‌شود تا نام و لوگوی بانک رزرو شود.
  • ترجمه وضعیت‌ها (Status Mapping):
    • نوع حساب (type): اگر مقدار دیتابیس 2 باشد، به عنوان cash (صندوق) و در غیر این صورت bank خروجی داده می‌شود.
    • واحد پولی (currency): اگر 0 باشد، rials و در غیر این صورت currency (ارزی) در نظر گرفته می‌شود.
  • ساختار درختی (Nested Objects):
    اطلاعات مربوط به درگاه پرداخت (gateway)، دستگاه پوز (pos)، بانک (bank) و شعبه (branch) در آبجکت‌های مجزا دسته‌بندی می‌شوند تا پارس کردن آن در فرانت‌اند ساده‌تر باشد.

پارامترهای ورودی (Input Parameters)

نام پارامتر نوع الزامی؟ توضیحات
id Integer بله شناسه یکتای حساب مورد نظر در جدول accounting_accounts.

نمونه خروجی موفق (Success Response)

{
    "status": true,
    "time": 1715768000,
    "data": {
        "id": 15,
        "bank": {
            "id": 3,
            "title": "بانک ملی ایران",
            "logo": "melli.png"
        },
        "account_number": "010555666777", // مپ شده از فیلد number
        "card": "6037991122334455",
        "sheba": "IR55017000000010555666777",
        "check": 1, // وضعیت دسته‌چک (دارد/ندارد)
        "type": "bank", // یا "cash"
        "currency": "rials", // یا "currency"
        "branch": {
            "code": "1245",
            "title": "شعبه مرکزی"
        },
        "pos": {
            "code": "998877", // سریال دستگاه پوز
            "status": true   // آیا متصل است؟
        },
        "gateway": {
            "data": "merchant_id_example", // اطلاعات اتصال درگاه
            "status": true
        },
        "status": 1,
        "created_at": "2023-01-01 12:00:00"
    }
}

نمونه خروجی خطا (Error Response)

در صورت بروز هرگونه خطا (مانند پیدا نشدن رکورد یا خطای دیتابیس):

{
    "status": false,
    "time": 1715768005,
    "code": 0, // کد خطا
    "message": "Attempt to read property \"id\" on null", // متن خطا
    "trace": [...] // جزئیات فنی برای دیباگ
}