# POST /v2/core/system/report

# Core System: Add System Report

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

<div class="api-docs" id="bkmrk-"></div>## Request Overview

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcore%2Fsystem"><div class="endpoint-info"><div>**URL:** `/v2/core/system/report`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** CoreController@addSystemReport</div><div>**Middleware Stack:** authWithJwt</div></div></div>## Access Control

<div class="api-docs" id="bkmrk-jwt-%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-%D9%84%D8%A7%D8%B2%D9%85-%D8%A7%D8%B3%D8%AA-%D8%AF">- JWT معتبر لازم است
- در این روت هیچ محدودیت branch یا middleware core وجود ندارد
- اطلاعات operator از داخل JWT توسط سیستم تزریق می‌شود: <div class="code-inline">$request-&gt;get('operator')</div>

</div>## Request Body Schema

<div class="api-docs" id="bkmrk-field-type-required-"><table class="schema-table"><thead><tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>data</td><td>mixed</td><td>yes</td><td>داده خام گزارش. محتوای آن ۱۰۰٪ وابسته به `Visa::AddSystemReport()` است.</td></tr><tr><td>operator</td><td>object</td><td>auto</td><td>به صورت خودکار از JWT استخراج می‌شود؛ شامل اطلاعات کاربری. از این object فقط `id` استفاده می‌شود.</td></tr></tbody></table>

</div>## Core Processing Logic

ورودی‌ها مستقیماً وارد سرویس ثبت گزارش می‌شوند:

```
$insert = Visa::AddSystemReport(
    $request->get('data'),
    $request->get('operator')->id
);
  
```

<div class="api-docs" id="bkmrk-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D8%A7%D9%88%D9%84%3A-%D9%85%D8%AD%D8%AA%D9%88%D8%A7%DB%8C-">- پارامتر اول: محتوای گزارش (data)
- پارامتر دوم: ID اپراتور ارسال کننده گزارش
- خروجی متد شامل کلید `Code` است که نقش tracking\_code را دارد

</div>## Response (Success)

کد وضعیت HTTP: **201 Created**

```
{
  "payload": {
    "tracking_code": "ABC123456"
  },
  "meta": {
    "timestamp": 1710000000
  }
}
  
```

<div class="api-docs" id="bkmrk--1"></div>## Response (Error)

در این متد هیچ try/catch وجود ندارد، بنابراین هرگونه Exception از طرف Visa::AddSystemReport یا دیتابیس → خطای 500 بازگشت داده می‌شود.

<div class="api-docs" id="bkmrk--2"></div>## Flowchart

<div class="api-docs" id="bkmrk-validate-jwt-%E2%86%93-extra"><div class="flowchart"><div class="flow-item">Validate JWT</div><div class="flow-arrow">↓</div><div class="flow-item">Extract: data + operator.id</div><div class="flow-arrow">↓</div><div class="flow-item">Call Visa::AddSystemReport(data, operator_id)</div><div class="flow-arrow">↓</div><div class="flow-item">Receive tracking_code (insert['Code'])</div><div class="flow-arrow">↓</div><div class="flow-item">Return JSON (201 Created)</div></div></div>