# PUT /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;">PUT</td><td style="direction: ltr; padding: 10px;">/v2/accounting/account</td><td style="direction: ltr; padding: 10px;">AccountingController@accountUpdate</td></tr></tbody></table>

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

این متد اطلاعات یک حساب موجود را به طور کامل بازنویسی (Full Update) می‌کند. شناسه حساب از طریق بدنه درخواست (Body) دریافت می‌شود.

<div id="bkmrk-%D9%87%D8%AF%D9%81%E2%80%8C%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B1%DA%A9%D9%88%D8%B1%D8%AF%3A-%D8%B9%D9%85%D9%84%DB%8C" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;">- **هدف‌گیری رکورد:** عملیات آپدیت بر اساس فیلد `id` ارسال شده در JSON انجام می‌شود.
- **بازنویسی کامل:** تمام فیلدهای قابل ویرایش (اطلاعات بانکی، نوع حساب، وضعیت‌ها و تنظیمات درگاه/پوز) با مقادیر جدید جایگزین می‌شوند.
- **به‌روزرسانی زمان:** فیلد `updated_at` به زمان لحظه‌ای سرور تغییر می‌کند.
- **نکته مهم:** فیلدهای سیستمی و ثابت مانند `serial` (شماره سریال سیستمی) و `created_at` و `branch` (شناسه اصلی شعبه) در این متد تغییر نمی‌کنند.

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

**هشدار:** تمام فیلدهای زیر الزامی هستند. حتی اگر تغییری نکرده‌اند باید ارسال شوند، در غیر این صورت ممکن است با خطای سیستمی مواجه شوید.

```
{
    "id": 15,                  // شناسه حساب (الزامی برای پیدا کردن رکورد)
    "branch": {                // آبجکت شعبه (الزامی)
        "code": "101",
        "title": "شعبه مرکزی"
    },
    "bank": 12,
    "account_number": "987654321",
    "card": "6037...",
    "sheba": "IR99...",
    "type": "bank",            // یا "cash"
    "currency": "rials",       // یا "currency"
    "check": true,
    "status": 1,
    "pos": {
        "status": true,
        "code": "NEW_POS_SERIAL"
    },
    "gateway": {
        "status": false,
        "data": null
    }
}
```

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

#### موفقیت (Success):

```
{
    "status": true,
    "time": 1715775000
}
```

#### نکته امنیتی/منطقی:

اگر `id` ارسال شده وجود نداشته باشد، سیستم همچنان `status: true` برمی‌گرداند اما عملاً هیچ تغییری در دیتابیس رخ نداده است (Silent Failure).

#### خطا (Error):

در صورت ارسال ناقص داده‌ها (مثلاً حذف آبجکت branch):

```
{
    "status": false,
    "time": 1715775005,
    "code": 0,
    "message": "Trying to access array offset on value of type null",
    "trace": [...]
}
```