#P1662
POST /v2/core/system/report
Core System: Add System Report
این اندپوینت برای ثبت گزارش سیستمی (System Report) در بخش Core استفاده میشود. دادهها به متد Visa::AddSystemReport() ارسال شده و پس از ثبت، یک کد رهگیری (tracking_code) تولید و برگردانده میشود.
Request Overview
URL:
/v2/core/system/reportMethod: POST
Controller: CoreController@addSystemReport
Middleware Stack: authWithJwt
Access Control
- JWT معتبر لازم است
- در این روت هیچ محدودیت branch یا middleware core وجود ندارد
- اطلاعات operator از داخل JWT توسط سیستم تزریق میشود:
$request->get('operator')
Request Body Schema
| Field | Type | Required | Description |
|---|---|---|---|
| data | mixed | yes | داده خام گزارش. محتوای آن ۱۰۰٪ وابسته به Visa::AddSystemReport() است. |
| operator | object | auto | به صورت خودکار از JWT استخراج میشود؛ شامل اطلاعات کاربری. از این object فقط id استفاده میشود. |
Core Processing Logic
ورودیها مستقیماً وارد سرویس ثبت گزارش میشوند:
$insert = Visa::AddSystemReport(
$request->get('data'),
$request->get('operator')->id
);
- پارامتر اول: محتوای گزارش (data)
- پارامتر دوم: ID اپراتور ارسال کننده گزارش
- خروجی متد شامل کلید
Codeاست که نقش tracking_code را دارد
Response (Success)
کد وضعیت HTTP: 201 Created
{
"payload": {
"tracking_code": "ABC123456"
},
"meta": {
"timestamp": 1710000000
}
}
Response (Error)
در این متد هیچ try/catch وجود ندارد، بنابراین هرگونه Exception از طرف Visa::AddSystemReport یا دیتابیس → خطای 500 بازگشت داده میشود.
Flowchart
Validate JWT
↓
Extract: data + operator.id
↓
Call Visa::AddSystemReport(data, operator_id)
↓
Receive tracking_code (insert['Code'])
↓
Return JSON (201 Created)