Skip to main content
#P1382

POST /api/v2/colleagues/billing

POSTRoute /api/v2/colleagues/billingInfo

این متد برای دریافت اطلاعات مالی کلی یک همکار (Colleague) یا پرسنل (Personnel) استفاده می‌شود. مسیر (Route) و میان‌افزارهای امنیتی آن به شرح زیر است:
بخشHTTP Method توضیحاتRouteControllerFunctionMiddleware
آدرس مسیرPOST POST /api/v2/colleagues/billing
کنترلر / تابعColleaguesController ColleaguesController → general_billingV2(Request $request)
میان‌افزارها (Middlewares)general_billingV2 domainAccess ,domainAccess, ipTrust

۱.Request تحلیل عملکردParameters

این Routeمتد براییک بازیابی اطلاعات صورتحساب عمومی همکاران در نسخه دوم API طراحی شده است. تابع بر اساس مقدارپارامتر ورودی اصلی با نام id نوع شناسه را تشخیصاز بدنه‌ی درخواست دریافت می‌دهد (colleague یا personnel) و با توجه به نوع، ماندهٔ اعتباری سال جاری را تولید و برمی‌گرداند.

۲. ورودی‌ها (Inputs)

کند.
فیلدنام پارامتر نوع داده اجباریالزامی توضیحتوضیحات
id string بله شناسه مربوط به همکار یا پرسنل. دراگر صورتمقدار وجود کاراکترشامل - باشد، نوع شخصاز personnelمقدار تشخیص دادهاستخراج می‌شود؛گردد، در غیر این صورت مقدار نوع برابر colleague. فرض می‌شود.

۳.Processing Logic

منطق عملکرد متد بر اساس کد موجود در کنترلر به شرح زیر می‌باشد:
  • ابتدا مقدار $request->id بررسی می‌شود.
  • اگر این مقدار شامل خط تیره (-) باشد، نوع (type) و شناسه (id) از آن استخراج می‌شود؛ در غیر این صورت نوع پیش‌فرض colleague در نظر گرفته می‌شود.
  • در صورتی که نوع برابر با colleague باشد، تابع CronController::colleaguesGeneralBilling($id) فراخوانی شده تا مانده سال جاری حساب محاسبه گردد.
  • خروجی موفق (Successful Response - HTTP 200)

    برای همکاراننوع (colleague):

    colleague به‌صورت زیر است:
{
  "CreditLimit": 12000000,{credit_amount},
  "CreditBalance": 4500000{credit_amount - balance}
}
  

فیلد

CreditLimit
در برابرصورتی با مقدارکه credit_amounttype = personnel مدلباشد:
Colleague است. CreditBalance از تفاضل CreditLimit و مانده حساب برگردانده‌شده توسط CronController::colleaguesGeneralBilling($id) محاسبه می‌شود.

۴. خروجی برای پرسنل (personnel)

{
  "CreditLimit": false,
  "CreditBalance": false
}
  

۵.Error وابستگی‌ها (Dependencies)Handling

    در
  • App\Http\Controllers\Api\CronController::colleaguesGeneralBilling($id)
  • صورتی
  • App\Models\Colleague
  • که
  • Morilog\Jalali\Jalalianشرکت برای(همکار) محاسبهیافت تاریخنشود شمسییا جاری
  • اطلاعات
نادرست باشد، پاسخ زیر بازگردانده می‌شود:

۶. موارد خطا (Error Cases -
HTTP 200)

200
OK {"status":
شرطخروجی JSON
عدم یافتن همکار در جدول Colleague{false, "message": "اطلاعات شرکت بدرستی ارسال نشده است." }

Response Example

نوع درخواستکد وضعیتنمونه پاسخ
موفق (Colleague)200 OK
{
  "CreditLimit": 5000000,
  "CreditBalance": 2750000
}
پرسنل200 OK
{
  "CreditLimit": false,
  "CreditBalance": false
}

۷. شیوهٔ تست (Testing)

درخواست باید به صورت JSON ارسال شود:

POST /api/v2/colleagues/billing
Headers:
  Content-Type: application/json
Body:
{
  "id": "1234"
}
  

۸. خلاصه پیاده‌سازی (Implementation Summary)Notes

    -
  1. دریافتپاسخ مقدارهمواره $request->id
  2. با
  3. تشخیصوضعیت نوعHTTP شناسه200 بربازگردانده اساسمی‌شود، وجودحتی کاراکتردر حالت خطا.
    -
  4. محاسبهاین متد صرفاً جهت خواندن وضعیت مالی کل سال جاری شمسیطراحی باشده Jalalian::forge('now')
  5. است
  6. اگرو نوعهیچ colleague:
    • واکشی Colleague با id
    • فراخوانی colleaguesGeneralBilling()
    • محاسبه CreditBalance = CreditLimit - Balance
  7. اگر نوع personnel → بازگرداندن خروجی ثابت false/false

🧩 مستند بالا کاملاً مطابق قالب HTML نهایی نسخهٔ ۱.۱ با قوانین چینش نهایی آماده درجتغییری در Confluenceداده‌های است.

اصلی ایجاد نمی‌کند.
- محاسبه مانده و سقف اعتبار بر مبنای اطلاعات ثبت‌شده در حسابداری داخلی سیستم انجام می‌شود.