# GET /v2/accounting/account

<div id="bkmrk-" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"></div>### Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; margin: auto; border-collapse: collapse; text-align: center; border: 1px solid #ddd;"><tbody><tr style="background: #f4f4f4; font-weight: bold;"><td style="padding: 10px;">Method</td><td style="padding: 10px;">Endpoint</td><td style="padding: 10px;">Controller</td></tr><tr><td style="direction: ltr; padding: 10px;">GET</td><td style="direction: ltr; padding: 10px;">/v2/accounting/account</td><td style="direction: ltr; padding: 10px;">AccountingController@accountIndex</td></tr></tbody></table>

</div></div>### شرح عملکرد (Functionality)

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

<div id="bkmrk-%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%28join" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;">- **دریافت اطلاعات (Join Query):**   
    اطلاعات از جدول `accounting_accounts` دریافت شده و با جدول `accounting_banks` جوین می‌شود تا نام و لوگوی بانک رزرو شود.
- **ترجمه وضعیت‌ها (Status Mapping):**
    - **نوع حساب (type):** اگر مقدار دیتابیس `2` باشد، به عنوان `cash` (صندوق) و در غیر این صورت `bank` خروجی داده می‌شود.
    - **واحد پولی (currency):** اگر `0` باشد، `rials` و در غیر این صورت `currency` (ارزی) در نظر گرفته می‌شود.
- **ساختار درختی (Nested Objects):**   
    اطلاعات مربوط به درگاه پرداخت (`gateway`)، دستگاه پوز (`pos`)، بانک (`bank`) و شعبه (`branch`) در آبجکت‌های مجزا دسته‌بندی می‌شوند تا پارس کردن آن در فرانت‌اند ساده‌تر باشد.

</div>### پارامترهای ورودی (Input Parameters)

<div id="bkmrk-%D9%86%D8%A7%D9%85-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D9%86%D9%88%D8%B9-%D8%A7%D9%84%D8%B2%D8%A7" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; border-collapse: collapse; text-align: right;"><thead><tr style="background: #f4f4f4;"><th style="padding: 8px;">نام پارامتر</th><th style="padding: 8px;">نوع</th><th style="padding: 8px;">الزامی؟</th><th style="padding: 8px;">توضیحات</th></tr></thead><tbody><tr><td style="direction: ltr;">id</td><td>Integer</td><td>بله</td><td>شناسه یکتای حساب مورد نظر در جدول accounting\_accounts.</td></tr></tbody></table>

</div></div>### نمونه خروجی موفق (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"
    }
}
```

<div id="bkmrk--1" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"></div>### نمونه خروجی خطا (Error Response)

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

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