#P1613
PUT /v2/accounting/preference/{id}
Route Info
| Method | Endpoint | Controller | Middleware |
| PUT | /v2/accounting/preference/{id} | AccountingController@updateMappingPreferences | authWithJwt |
شرح عملکرد (Functionality)
این API برای ویرایش یک نگاشت حسابداری در جدول mapping_accounting_preferences استفاده میشود.
منطق مسیر شامل مراحل زیر است:
- بررسی یکتا بودن
codeدر همان شعبه (بهجز رکورد جاری). - تجزیه
idبهobject_typeوobject. - تجزیه
textبرای استخراج:- system_code → بخش اول متن
- title → آخرین بخش متن
- بهروزرسانی رکورد در دیتابیس.
- بازگردانی رکورد ویرایششده.
ساختار ورودی (JSON Body)
{
"branch": 1,
"id": "customer-24",
"text": "24 - مشتری عمده",
"code": "110201"
}
توضیح فیلدها
- branch شناسه شعبه
- id ساختار
{object_type}-{object}، مثال:- customer-24
- office-3
- text رشتهای شامل کد سیستمی و عنوان قابل نمایش مثال:
"24 - مشتری عمده" - code کد نهایی نگاشت (۶ رقمی یا بیشتر)
اعتبارسنجی
قبل از ذخیره، بررسی میشود که آیا کد جدید در همان شعبه قبلاً استفاده شده است یا خیر:
exists where:
branch = request.branch
code = request.code
id != {id}
اگر رکوردی با همین کد وجود داشته باشد، بهجای بهروزرسانی، خطا بازگردانده میشود.
پاسخ موفق (Success Response)
در صورت بهروزرسانی موفق، رکورد کامل جدید بازگردانده میشود:
{
"payload": {
"id": 12,
"branch": 1,
"object_type": "customer",
"object": 24,
"title": "مشتری عمده",
"system_code": "24",
"code": "110201",
"updated_at": "2024-07-21T10:00:00.000000Z"
},
"meta": {
"timestamp": 1733056000
}
}
پاسخ خطا (Error Response)
اگر کد تکراری باشد:
{
"error": {
"message": "این کد قبلا ثبت شده است."
},
"meta": {
"timestamp": 1733056000
}
}
وابستگی دیتابیس
| Table | Description |
| mapping_accounting_preferences | نگاشت حسابداری برای انواع موجودیتها |
Meta
- HTTP Status Code: 200
- Operation: Update
- Validation: Unique per branch (except current record)