Skip to main content
#P1586

PUT /v2/accounting/account

Route Info

Method Endpoint Controller
PUT /v2/accounting/account AccountingController@accountUpdate

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

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

  • هدف‌گیری رکورد: عملیات آپدیت بر اساس فیلد id ارسال شده در JSON انجام می‌شود.
  • بازنویسی کامل: تمام فیلدهای قابل ویرایش (اطلاعات بانکی، نوع حساب، وضعیت‌ها و تنظیمات درگاه/پوز) با مقادیر جدید جایگزین می‌شوند.
  • به‌روزرسانی زمان: فیلد updated_at به زمان لحظه‌ای سرور تغییر می‌کند.
  • نکته مهم: فیلدهای سیستمی و ثابت مانند serial (شماره سریال سیستمی) و created_at و branch (شناسه اصلی شعبه) در این متد تغییر نمی‌کنند.

پارامترهای ورودی (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
    }
}

خروجی (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": [...]
}