# RESOURCE /v2/cartable/subject_steps

<div class="api-docs" id="bkmrk-">  <div class="endpoint-section">  
</div></div>## Subject Steps Management Logic

این کنترلر وظیفه مدیریت **مراحل پیش‌فرض (Step Templates)** را بر عهده دارد.   
این جدول (`cartable\_subject\_steps`) به عنوان یک بانک اطلاعاتی از مراحل عمل می‌کند که شامل یک عنوان (`title`) و یک اپراتور مسئول (`operator`) است. این مراحل مستقل هستند اما می‌توانند هنگام تعریف گردش کار (Workflow) در بخش Subjectها مورد استفاده قرار گیرند.

<div class="api-docs" id="bkmrk-admin-define-step-te"><div class="endpoint-section"><div class="flowchart"><div class="flow-item">Admin Define Step Template</div><div class="flow-arrow">↓</div><div class="flow-item-process" style="background-color: #e3f2fd;">**Assign Operator &amp; Title**  
(e.g. Operator: 105, Title: "Financial Review")</div><div class="flow-arrow">↓</div><div class="flow-item-success">Saved in `cartable_subject_steps`</div><div class="flow-arrow" style="border-left: 2px dashed #999; height: 30px; width: 0; margin: 0 auto;">  
</div><div class="flow-item" style="border: 1px dashed #999; color: #666; font-size: 0.8em;">Selectable in Subject Workflow Config</div></div></div>  
---

  </div># List Step Definitions

دریافت لیست مراحل تعریف شده. این لیست بر اساس تاریخ ایجاد (نزولی) مرتب شده است.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcartable%2Fsu"><div class="endpoint-info"><div>**URL:** `/v2/cartable/subject_steps`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** SubjectStepsController@index</div></div></div>### Query Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">operator</td><td>Integer</td><td>(اختیاری) فیلتر بر اساس شناسه اپراتور مسئول.</td></tr><tr><td dir="ltr">status</td><td>Integer</td><td>(اختیاری) فیلتر بر اساس وضعیت مرحله (اگرچه در متد Store فیلد status ست نمی‌شود، اما در Index قابل فیلتر است).</td></tr></tbody></table>

</div>### Response Structure

```json
{
    "items": [
        {
            "id": 10,
            "operator": 105,
            "title": "بررسی مالی",
            "created_at": "...",
            "updated_at": "..."
        }
    ],
    "meta": { "timestamp": 1733760000 }
}
```

<div class="api-docs" id="bkmrk--1">---

  </div># Create Step Definition

ایجاد یک تعریف مرحله جدید (Template).

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcartable%2Fsu-1"><div class="endpoint-info"><div>**URL:** `/v2/cartable/subject_steps`</div><div>**Method:** <span class="method-post">POST</span></div><div>**Controller:** SubjectStepsController@store</div></div></div>### Body Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-1"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">operator</td><td>Integer</td><td>(الزامی) شناسه اپراتوری که مسئول انجام این مرحله است.</td></tr><tr><td dir="ltr">title</td><td>String</td><td>(الزامی) عنوان مرحله (مثلاً: "تایید نهایی").</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 15,
        "operator": 105,
        "title": "تایید نهایی",
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}
```

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

  </div># Show Step Details

مشاهده جزئیات یک مرحله خاص.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcartable%2Fsu-2"><div class="endpoint-info"><div>**URL:** `/v2/cartable/subject_steps/{id}`</div><div>**Method:** <span class="method-get">GET</span></div><div>**Controller:** SubjectStepsController@show</div></div></div>### Response Structure

```json
{
    "payload": {
        "id": 15,
        "operator": 105,
        "title": "تایید نهایی",
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}
```

<div class="api-docs" id="bkmrk--3">---

  </div># Update Step Definition

ویرایش اطلاعات اپراتور یا عنوان مرحله.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcartable%2Fsu-3"><div class="endpoint-info"><div>**URL:** `/v2/cartable/subject_steps/{id}`</div><div>**Method:** <span class="method-put">PUT</span> / <span class="method-patch">PATCH</span></div><div>**Controller:** SubjectStepsController@update</div></div></div>### Body Parameters

<div class="api-docs" id="bkmrk-parameter-type-descr-2"><table class="schema-table" dir="rtl"><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td dir="ltr">operator</td><td>Integer</td><td>شناسه اپراتور جدید.</td></tr><tr><td dir="ltr">title</td><td>String</td><td>عنوان جدید مرحله.</td></tr></tbody></table>

</div>### Success Response

```json
{
    "payload": {
        "id": 15,
        "operator": 200, // Updated
        "title": "تایید مدیریت ارشد", // Updated
        "created_at": "...",
        "updated_at": "..."
    },
    "meta": { "timestamp": 1733760000 }
}
```

<div class="api-docs" id="bkmrk--4">---

  </div># Delete Step Definition

حذف فیزیکی (Hard Delete) یک مرحله از دیتابیس.   
<span style="color: red;">هشدار:</span> اگر این مرحله در Subjectها استفاده شده باشد، ممکن است باعث ناهماهنگی در تنظیمات شود (بسته به منطق فرانت‌اند). در اینجا حذف کامل انجام می‌شود.

<div class="api-docs" id="bkmrk-url%3A-%2Fv2%2Fcartable%2Fsu-4"><div class="endpoint-info"><div>**URL:** `/v2/cartable/subject_steps/{id}`</div><div>**Method:** <span class="method-delete">DELETE</span></div><div>**Controller:** SubjectStepsController@destroy</div></div></div>### Success Response

```json
{
    "payload": 1, // تعداد رکوردهای حذف شده
    "meta": { "timestamp": 1733760000 }
}
```