#P1585
POST /v2/accounting/account
Route Info
| Method | Endpoint | Controller |
| POST | /v2/accounting/account | AccountingController@accountStore |
شرح عملکرد (Functionality)
این متد وظیفه ثبت یک حساب بانکی یا صندوق جدید در سیستم را بر عهده دارد. برخلاف متد نمایش، این متد دادههای دریافت شده از کلاینت را به فرمت عددی و دیتابیسی تبدیل (Reverse Mapping) میکند.
- تولید سریال (Serial Generation):
شناسه سریال حساب به صورت خودکار توسط تابع کمکیStaticController::getSerialIdبر اساس نوع موجودیت ("account") و شعبه مربوطه تولید میشود. - تبدیل دادهها (Data Mapping):
- نوع حساب: ورودی
cashبه2و سایر مقادیر به1تبدیل میشوند. - ارز: ورودی
rialsبه0و سایر مقادیر به1تبدیل میشوند. - وضعیتها: فیلدهای بولین (مانند
check,pos,online) در صورت وجود یا true بودن به1و در غیر این صورت بهnullتبدیل میشوند.
- نوع حساب: ورودی
- ذخیرهسازی (Database Insert):
دادهها در جدولaccounting_accountsدرج میشوند. تاریخ ایجاد و ویرایش نیز با زمان فعلی سرور تنظیم میشود.
پارامترهای ورودی (JSON Body)
ساختار جیسون ارسالی باید به شکل زیر باشد:
{
"branch": 2, // شناسه شعبه
"bank": 12, // شناسه بانک از لیست بانکها
"account_number": "123456",// شماره حساب
"card": "6037...", // شماره کارت (اختیاری)
"sheba": "IR00...", // شماره شبا (اختیاری)
"type": "bank", // نوع: "bank" یا "cash"
"currency": "rials", // ارز: "rials" یا "currency"
"check": true, // آیا دسته چک دارد؟
"status": 1, // وضعیت فعال/غیرفعال
"branch": { // آبجکت اطلاعات شعبه
"code": "101",
"title": "مرکزی"
},
"pos": { // تنظیمات پوز
"status": true,
"code": "990011" // سریال پوز
},
"gateway": { // تنظیمات درگاه آنلاین
"status": false,
"data": null
}
}
خروجی (Response)
موفقیت (Success):
{
"status": true,
"time": 1715772000
}
خطا (Error):
در صورت بروز خطای سیستمی (مثلاً دیتابیس یا فرمت داده):
{
"status": false,
"time": 1715772005,
"code": 0,
"message": "SQLSTATE[23000]: Integrity constraint violation...",
"trace": [...]
}