POST /v2/manual-document/preferences/list/details Route Info Method Endpoint Controller Middleware POST /v2/manual-document/preferences/list/details AccountingController@preferenceDetails authWithJwt شرح عملکرد (Functionality) این مسیر برای دریافت جزئیات کامل معین (Moeen) و تفصیل (Preference) استفاده می‌شود. ورودی شامل آرایه‌ای از رکوردها است که هر کدام شامل: moeen : کد معین ۶ رقمی preference : کد تفصیل ۹ رقمی (pref code) این متد با منطق زیر کار می‌کند: استخراج کدهای group/general/moeen از کد اصلی ۶ رقمی اعتبارسنجی وجود داشتن: accounting_groups accounting_generals accounting_moeens بازگرداندن اطلاعات کامل معین شامل: id serialId aggregation title + کد کامل تشخیص نوع تفصیل از روی ۲ رقم اول کد و استخراج اطلاعات آن از جداول مربوطه: (accounts / offices / colleague / personnel / references / customers / titles / announcement) در صورت عدم یافتن هر جزء، پاسخ خطـا ۴۲۲ برگردانده می‌شود. پارامترهای ورودی (JSON Body) Body: { "data": [ { "moeen": "110203", "preference": 120000145 } ], "branch": 1 } data : آرایه‌ای از آیتم‌ها moeen : رشته/عدد با ۶ رقم (گروه + کل + معین) preference : کد کامل تفصیل branch : شناسه شعبه خروجی موفق (Success Response) در صورت موفقیت، خروجی شامل آرایه‌ای از آیتم‌های پردازش شده: { "items": [ { "moeen": { "id": 25, "serialId": 25, "details": { "aggregation": 1 }, "code": "110203", "text": "110203 - فروش | فروش داخلی" }, "preference": { "id": "title-15", "code": 120000145, "table": "title", "text": "هزینه تعمیرات", "financial": false } } ], "meta": { "timestamp": 1718453500 } } خطاهای اعتبارسنجی (Error Response 422) اگر هر بخش از گروه، کل یا معین وجود نداشته باشد: { "error": { "code": 1000, "message": "گروه حسابداری با کد 11 در معین 110203 وجود ندارد" }, "meta": { "timestamp": 1718453500 } } اگر تفصیل وجود نداشته باشد: { "error": { "code": 1000, "message": "تفصیل با کد 120000999 وجود ندارد" }, "meta": { "timestamp": 1718453500 } } ساختار استخراج کد معین (Moeen Code Structure) برای هر کد ۶ رقمی مثلاً 110203: group = 11 general = 02 moeen = 03 این ۳ بخش به‌ترتیب روی جداول زیر اعتبارسنجی می‌شوند: accounting_groups accounting_generals accounting_moeens تشخیص نوع تفصیل بر اساس ۲ رقم اول کد پیشوند نوع جدول مرتبط 10 حساب بانکی accounting_accounts 12 عنوان‌ها titles 13 پرسنل / اپراتور operators 20 همکار colleagues 21 اعلان announcement 30 مرکز هزینه offices 40 فاکتور (reference) factors + customers 80 مشتری customers نمونه خروجی تفصیل برای انواع مختلف 1 — Bank Account (prefix 10) { "id": "account-12", "code": 100000532, "text": "بانک ملت شعبه مرکزی (1234567890)" } 2 — Personnel (prefix 13) { "id": "personnel-88", "code": 130001234, "text": "مهدی احمدی" } 3 — Office (prefix 30) { "id": "office-7", "code": 300000215, "text": "مرکز هزینه اداره مرکزی" } Meta تمام پاسخ‌ها شامل: timestamp : زمان Unix HTTP Status: 200 در صورت موفقیت 422 در صورت خطا