# POST /api/v2/support/ticket/update

<div id="bkmrk-" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"></div>### Route Info

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; margin: auto; border-collapse: collapse; text-align: center; border: 1px solid #ddd;"><tbody><tr style="background: #f4f4f4; font-weight: bold;"><td style="padding: 10px;">Method</td><td style="padding: 10px;">Endpoint</td><td style="padding: 10px;">Controller</td></tr><tr><td style="direction: ltr; padding: 10px;">POST</td><td style="direction: ltr; padding: 10px;">/api/v2/support/ticket/update</td><td style="direction: ltr; padding: 10px;">OfficialController@updateTicketSupport</td></tr></tbody></table>

</div></div>### شرح عملکرد (Functionality)

این متد برای بروزرسانی اطلاعات مختلف یک تیکت استفاده می‌شود. ساختار کد به صورت `if/else if` است، به این معنی که در هر درخواست تنها **یکی** از عملیات زیر بر اساس اولویت پارامتر ارسالی انجام می‌شود:

<div id="bkmrk-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%28status%29" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;">1. **تغییر وضعیت (Status):** اگر پارامتر `status` ارسال شود: 
    - وضعیت تیکت آپدیت می‌شود.
    - یک **یادداشت خودکار** (System Note) متناسب با وضعیت جدید (مثلاً: "مورد شما در حال بررسی می‌باشد...") توسط اپراتور جاری در تیکت درج می‌شود.
    - اگر تیکت هنوز اپراتوری نداشت (`operator IS NULL`)، اپراتور جاری به عنوان مسئول تیکت ثبت می‌شود.
2. **ثبت امتیاز (Score):** اگر پارامتر `score` ارسال شود، امتیاز کاربر به تیکت ثبت می‌شود.
3. **ارجاع به دپارتمان (Department):** اگر پارامتر `department` ارسال شود، تیکت به دپارتمان دیگری منتقل می‌شود.
4. **تخصیص کارشناس (Operator):** اگر پارامتر `operator` ارسال شود: 
    - مسئول تیکت به شناسه ارسالی تغییر می‌کند.
    - یک اعلان (Notification) تلگرامی برای کارشناس انتخاب شده ارسال می‌شود که حاوی لینک مشاهده تیکت است.

</div>### پارامترهای ورودی (Input Parameters)

<div id="bkmrk-%D9%86%D8%A7%D9%85-%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1-%D9%86%D9%88%D8%B9-%D8%A7%D9%84%D8%B2%D8%A7" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div><table border="1" style="width: 100%; border-collapse: collapse; text-align: right;"><thead><tr style="background: #f4f4f4;"><th style="padding: 8px;">نام پارامتر</th><th style="padding: 8px;">نوع</th><th style="padding: 8px;">الزامی؟</th><th style="padding: 8px;">توضیحات</th></tr></thead><tbody><tr><td style="direction: ltr;">ticket</td><td>Integer</td><td>بله</td><td>شناسه تیکت مورد نظر برای ویرایش.</td></tr><tr><td style="direction: ltr;">status</td><td>Integer</td><td>اختیاری\*</td><td>وضعیت جدید تیکت (1 تا 5). در صورت ارسال، اولویت با این فیلد است.</td></tr><tr><td style="direction: ltr;">score</td><td>Integer</td><td>اختیاری\*</td><td>امتیاز دهی به تیکت (معمولاً 1 تا 5).</td></tr><tr><td style="direction: ltr;">department</td><td>Integer</td><td>اختیاری\*</td><td>شناسه دپارتمان جدید جهت انتقال تیکت.</td></tr><tr><td style="direction: ltr;">operator</td><td>Integer</td><td>اختیاری\*</td><td>شناسه کارشناس جهت ارجاع دستی تیکت.</td></tr></tbody></table>

</div></div>\* نکته: در هر درخواست باید فقط یکی از پارامترهای اختیاری ارسال شود تا عملیات مربوطه انجام گیرد.

<div id="bkmrk--1" style="direction: rtl; font-family: Vazir,Tahoma; text-align: justify; line-height: 1.85;"><div>  
</div></div>### نمونه خروجی (Response)

```
{
    "status": true,
    "time": 1732621500
}
```