Skip to main content
#P1662

POST /v2/core/system/report

Core System: Add System Report

این اندپوینت برای ثبت گزارش سیستمی (System Report) در بخش Core استفاده می‌شود. داده‌ها به متد Visa::AddSystemReport() ارسال شده و پس از ثبت، یک کد رهگیری (tracking_code) تولید و برگردانده می‌شود.

Request Overview

URL: /v2/core/system/report
Method: 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)