#P1472

POST /api/v2/management/office

Route Info

Method Endpoint Controller Middleware Purpose
POST /api/v2/management/office V2BaseController@office authWithJwt واکشی مشخصات دفتر و سرویس‌های مرتبط با شعبهٔ فعلی برای نمایش در پنل مدیریت

منطق عملکرد تابع

تابع office برای تجمیع اطلاعات اولیهٔ دفتر در داشبورد مدیریتی طراحی شده است:
  • واکشی اطلاعات از جدول offices با استفاده از branch id در درخواست JWT.
  • دریافت تنظیمات API از جدول application_interface مخصوص سرویس‌های فعال شعبه.
  • تجمیع داده‌ها و بازگشت در قالب JSON با زمان پاسخ و وضعیت موفقیت.

ورودی‌ها (Request Fields)

نام فیلد نوع داده الزامی توضیح
branch integer بله شناسه شعبه جهت دریافت اطلاعات دفتر

نمونه درخواست:

POST /api/v2/management/office
Authorization: Bearer {JWT_TOKEN}
Content-Type: application/json

{
  "branch": 7
}

خروجی (Response)

فیلد نوع داده توضیح
status boolean وضعیت کلی درخواست
time integer زمان Unix پاسخ سرور
data.office array اطلاعات دقیق دفتر از جدول offices
data.api array لیست سرویس‌های فعال در جدول application_interface شامل URL و نوع سرویس

نمونه پاسخ:

{
  "status": true,
  "time": 1732290287,
  "data": {
    "office": [
      {
        "id": 7,
        "en_title": "Isfahan Branch",
        "fa_title": "دفتر مرکزی اصفهان",
        "country": "IR",
        "credit_limit": 20000000,
        "base_online": 12000000
      }
    ],
    "api": [
      {
        "type": "sms",
        "url": "https://soap.melipayamak.com",
        "username": "isf-admin",
        "status": 1
      },
      {
        "type": "accounting",
        "url": "https://hub.airplus.app/v2/accounting",
        "status": 1
      }
    ]
  }
}

نکات امنیتی و احراز هویت

عملکرد و Performance

وابستگی‌ها

کدهای خطا

کد شرح خطا منبع
1006 توکن JWT نامعتبر یا منقضی authWithJwt
400 branch ارسال نشده Input Validation
500 خطای داخلی DB یا Exception ناشناخته office()

پیشنهادهای امنیتی

پیشنهادهای بهبود

ممیزی و لاگ‌ها

جمع‌بندی

مسیر /management/office بستری برای بررسی سریع وضعیت شعبه و سرویس‌های فعال است. منطق عملکرد ساده اما امنیت سطح پایین دارد؛ پیشنهاد قطعی اجرای **Role-based Access + Audit Logging** جهت جلوگیری از افشای داده‌های دفاتر دیگر در محیط production می‌باشد.

Revision #1
Created 2025-11-22 13:25:34 UTC by Alireza
Updated 2025-11-22 13:26:12 UTC by Alireza