# مدیریت خطاها – Error handling

# مقدمه ای بر Error Handling

قبل از هر چیز لازم است بدانیم مدیریت خطا یا error handling به چه معناست. این اصطلاح به واکنش و مکانیسم‌های بازیابی نرم‌افزار در صورت بروز خطا اشاره می‌کند. به عبارت دیگر این کار فرآیندی است که شامل پیش‌بینی دقیق، شناسایی و رفع خطاها در برنامه‌ها است.

اجرای منظم یک برنامه از طریق مدیریت خطا آسان‌تر است. وقتی صحبت از رویکردهای خطا handling می‌شود، بسیاری از برنامه‌ها با مشکلات معماری نرم‌افزار مواجه می‌شوند.

توجه داشته باشید که API AirPlus کامل منطق بر اصول RESTful API نوشته شده است پس بنابراین پاسخ تمام درخواست ها با Status Code مورد نظر خود ارسال خواهد شد و مدیریت این Status Code ها یا هما کدهای وضعیتی در برنامه شما الزامیست.

[![1681155201571.png](https://docs.airplus.app/uploads/images/gallery/2025-11/scaled-1680-/1681155201571.png)](https://docs.airplus.app/uploads/images/gallery/2025-11/1681155201571.png)

طبق اصول کلی تمام پاسخ های صحیح با کد وضعیتی 200 ارسال خواهند شد.

اما اتوماسیون ایرپلاس در زمینه مدیریت خطاها هم مستندات جامع و کاربردی را تهیه نموده است.

# نحوه نگارش خطاها

#### پاسخ نادرست – Response False یا همان مشکل در ارسال اطلاعات

<div class="wp-block-group" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA%D9%88%D8%B6"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><figure class="wp-block-table is-style-stripes"><table border="1" class="has-fixed-layout align-center" style="width: 88.6905%; height: 118.4px; border-collapse: collapse;"><tbody><tr style="height: 29.6px;"><td class="has-text-align-left" data-align="left" style="width: 7.1443%; height: 29.6px;">**عنوان**</td><td style="width: 11.4111%; height: 29.6px;">**نوع**</td><td style="width: 17.094%; height: 29.6px;">**مقادیر**</td><td style="width: 64.2248%; height: 29.6px;">**توضیحات**</td></tr><tr style="height: 29.6px;"><td class="has-text-align-left" data-align="left" style="width: 7.1443%; height: 29.6px;">status</td><td style="width: 11.4111%; height: 29.6px;">Boolean</td><td style="width: 17.094%; height: 29.6px;">false</td><td style="width: 64.2248%; height: 29.6px;">مقدار در پاسخ نادرست همیشه false است</td></tr><tr style="height: 29.6px;"><td class="has-text-align-left" data-align="left" style="width: 7.1443%; height: 29.6px;">time</td><td style="width: 11.4111%; height: 29.6px;">Timestamp</td><td style="width: 17.094%; height: 29.6px;">زمان تولید پاسخ</td><td style="width: 64.2248%; height: 29.6px;">این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود.</td></tr><tr style="height: 29.6px;"><td class="has-text-align-left" data-align="left" style="width: 7.1443%; height: 29.6px;">code</td><td style="width: 11.4111%; height: 29.6px;">Integer</td><td style="width: 17.094%; height: 29.6px;">شماره خطا مربوطه</td><td style="width: 64.2248%; height: 29.6px;">جهت استعلام خطا میتوانید از طریق این لینک اقدام کنید.</td></tr></tbody></table>

```
{
    "status": false,
    "time": "Timestamp", // Timestamp
    "code": "Error Code"
}
```

</figure></div></div>

# Status Code – کدهای وضعیتی درخواست ها

###  وضعیت 200 — OK

کد وضعیت **`200 OK`** نشان می‌دهد که درخواست به‌درستی توسط سرور دریافت، درک و پردازش شده و پاسخ استاندارد حاوی داده‌های درخواست‌شده را بازگردانده است.

طبق RFC 9110 (HTTP Semantics, 2022)، این کد برای موفقیت عمومی تمام متدهای HTTP استفاده می‌شود؛ در پاسخ به `GET` معمولاً به معنی دریافت محتوای صحیح است، در `PUT` و `DELETE` به معنی انجام کامل عملیات است.

در صورت دریافت 200، کلاینت می‌تواند فرض کند که هیچ خطایی در فرآیند ارتباط وجود نداشته و پاسخ معتبر است.

---

###  وضعیت 201 — Created

کد **`201 Created`** نشان می‌دهد که درخواست با موفقیت انجام شده و منبع جدیدی ایجاد شده است.

بر اساس RFC 9110، این پاسخ اغلب برای متدهای `POST` و گاهی `PUT` استفاده می‌شود. سرور می‌تواند هدر `Location` را شامل URI منبع تازه ایجادشده برگرداند تا کلاینت بتواند به آن دسترسی پیدا کند.

نمونه: هنگام ثبت سفارش یا خرید بلیت، اگر ایجاد آیتم در پایگاه داده موفقیت‌آمیز باشد، سرور وضعیت 201 بازمی‌گرداند.

---

###  وضعیت 204 — No Content

کد **`204 No Content`** به معنی موفقیت‌آمیز بودن درخواست بدون نیاز به ارسال محتوای جدید در پاسخ است.

این کد معمولاً در پاسخ به متدهای `PUT`, `PATCH`, `DELETE` یا `POST` استفاده می‌شود، زمانی‌که عمل مورد‌نظر در سرور انجام شده ولی داده‌ای برای بازگرداندن وجود ندارد.

مثال: API حذف رزرو در صورت موفق بودن حذف، بدون بدنهٔ پاسخ، وضعیت 204 ارسال می‌کند.

---

###  وضعیت 207 — Multi‑Status

کد **`207 Multi‑Status`** بخشی از استاندارد **WebDAV (RFC 4918)** است.

این کد زمانی استفاده می‌شود که یک درخواست شامل چندین عملیات یا منبع باشد و پاسخ برای هر مورد جداگانه در قالب XML یا JSON شامل وضعیت مجزا ارائه گردد.

به‌طور مثال در یک درخواست جمعی برای بروزرسانی چند فایل، اگر بعضی پردازش شوند و بعضی خطا بدهند، پاسخ 207 حاوی نتیجهٔ جزئی هر فایل ارسال می‌شود.

---

###  وضعیت 400 — Bad Request

کد **`400 Bad Request`** نشان‌دهندهٔ آن است که سرور نمی‌تواند یا نمی‌خواهد درخواست را پردازش کند زیرا در نحو (syntax) یا ساختار داده‌های درخواست خطا وجود دارد.

علل رایج: بدنه غیرقابل parse شدن، مقادیر ناقص، هدرهای نادرست یا شناسهٔ توکن نامعتبر.

این خطا ناشی از اشتباه سمت کلاینت است و معمولاً با پیام‌هایی نظیر `invalid JSON` یا `missing parameter` همراه می‌شود.

---

###  وضعیت 404 — Not Found

کد **`404 Not Found`** زمانی برگردانده می‌شود که منبع یا مسیر مورد نظر در سرور وجود ندارد یا حذف شده است.

از دید API یعنی Endpoint یا URI درخواستی شناسایی نمی‌شود.

دلایل معمول: آدرس غلط، تغییر نسخهٔ سرویس، پایان پشتیبانی از مسیر قبلی (`deprecated endpoint`).

راه‌حل: بررسی مجدد URL و در صورت نیاز به‌روزرسانی URI مورد استفاده.

---

###  وضعیت 405 — Method Not Allowed

کد **`405 Method Not Allowed`** یعنی URI مورد درخواست معتبر است، اما متد (مثلاً `POST` یا `DELETE`) توسط سرور برای آن مسیر مجاز نیست.

در پاسخ معمولاً هدر `Allow` شامل لیستی از متدهای مجاز مثل `GET, PUT` برگردانده می‌شود.

این خطا از نوع کلاینت است و نشانهٔ استفاده از متد غیرفعال برای endpoint خاص می‌باشد.

---

###  وضعیت 409 — Conflict

کد **`409 Conflict`** به معنی وجود تعارض در وضعیت فعلی منبع است که مانع انجام عملیات می‌شود.

این خطا زمانی بازگردانده می‌شود که درخواست در تضاد با داده‌های موجود باشد، مثلاً تلاش برای ایجاد رکورد تکراری یا بروزرسانی نسخهٔ قدیمی شیء.

در سيستم‌های دارای نسخه‌بندی و کنترل همزمان (مثل وب‌سایت رزرو یا فرم ثبت آیتم تکراری) کاربرد دارد.

---

###  وضعیت 422 — Unprocessable Entity

کد **`422 Unprocessable Content`** (نام جدید در RFC 9110، ‌قبلاً **Unprocessable Entity** در RFC 4918 بود) زمانی ارسال می‌شود که درخواست از نظر نحوی درست است ولی داده‌های آن از نظر منطقی یا اعتبارسنجی نامعتبر است.

مثلاً فیلدهای الزامی خالی‌اند یا مقادیر بعضی پارامترها خارج از محدودهٔ مجاز هستند.

این کد معمولاً در APIهایی که قبل از پردازش داده، validation دقیقی انجام می‌دهند (مثلاً در فرم‌های ثبت اطلاعات) استفاده می‌شود.

---

###  وضعیت 500 — Internal Server Error

کد **`500 Internal Server Error`** بیانگر خطای عمومی در سمت سرور است، بدون اشاره به علت دقیق.

معمولاً در اثر بروز استثنا (Exception)، نقص در پیکربندی، یا قطع ارتباط سرویس وابسته رخ می‌دهد.

این خطا قابل تشخیص برای کلاینت نیست و صرفاً به معنی شکست درخواست در سطح سرور است.

توصیهٔ استاندارد: بررسی log سرور، و در صورت نیاز ارائه سرویس پشتیبان یا fallback endpoint برای حفظ پایداری ارتباط.

---

<div class="wp-block-image" id="bkmrk--10"><figure class="aligncenter size-full">![](https://airplus.app/wp-content/uploads/2025/01/301-302-304-400-403-260nw-1922987690.jpg)</figure></div>

# خطاهایی که در قالب Response دریافت میشود

این خطا ها در قالب Response False بصورت کد دریافت میشوند که میتوانید در متن خطا ها و راه حل آنها را در جدول زیر مشاهده نمائید.

<figure class="wp-block-table is-style-stripes" id="bkmrk-%D8%B1%D8%AF%DB%8C%D9%81-%DA%A9%D8%AF-%D8%AE%D8%B7%D8%A7-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D8%B1%D8%A7"><table border="1" class="has-fixed-layout align-center" style="width: 106.548%; border-collapse: collapse; height: 1072px;"><thead><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">ردیف</td><td style="width: 5.48141%; height: 46.4px;">کد خطا</td><td style="width: 36.3651%; height: 46.4px;">عنوان</td><td style="width: 56.4824%; height: 46.4px;">راه حل</td></tr></thead><tbody><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">1</td><td style="width: 5.48141%; height: 29.6px;">1000</td><td style="width: 33.3651%; height: 29.6px;">ثبت این آیتم موفقیت آمیز بوده است</td><td style="width: 56.4824%; height: 29.6px;">در مواردی دیگر خطایی رخ داده است.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">2</td><td style="width: 5.48141%; height: 46.4px;">1001</td><td style="width: 33.3651%; height: 46.4px;">امکان قفل بر روی چارتری درخواستی امکان پذیر نمی باشد.</td><td style="width: 56.4824%; height: 46.4px;">این خطا راهکاری ندارد.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">3</td><td style="width: 5.48141%; height: 29.6px;">1002</td><td style="width: 33.3651%; height: 29.6px;">چارتر درخواستی موجود نمی باشد.</td><td style="width: 56.4824%; height: 29.6px;">این خطا راهکاری ندارد.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">4</td><td style="width: 5.48141%; height: 46.4px;">1003</td><td style="width: 33.3651%; height: 46.4px;">مقصد مورد نظر یافت نشد.</td><td style="width: 56.4824%; height: 46.4px;">لطفا مقصد مورد نظر را یا بصورت یاتا و یا بصورت سریال از طریق API ایرپلاس وارد نمائید (الویت سریال های ایرپلاس می باشد)</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">5</td><td style="width: 5.48141%; height: 29.6px;">1004</td><td style="width: 33.3651%; height: 29.6px;">تاریخ های وارد شده معتبر نمی باشد</td><td style="width: 56.4824%; height: 29.6px;">لطفا تاریخ ها را به میلادی و با فرمت صحیح ارسال فرمائید (YYYY-MM-DD)</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">6</td><td style="width: 5.48141%; height: 46.4px;">1005</td><td style="width: 33.3651%; height: 46.4px;">قفل ارسالی معتبر نمی باشد.</td><td style="width: 56.4824%; height: 46.4px;">اطلاعات قفل را بررسی نمائید و اگر از کد اطمینان دارید تعداد مسافرین با قفل همخوانی ندارد.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">7</td><td style="width: 5.48141%; height: 46.4px;">1006</td><td style="width: 33.3651%; height: 46.4px;">برای این مسافر قبلا این آیتم خریداری شده است.</td><td style="width: 56.4824%; height: 46.4px;">در صورتی که با این خطا مواجه شده اید از طریق متد بررسی وضعیت اطلاعات این رزرو را دریافت نمائید.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">8</td><td style="width: 5.48141%; height: 29.6px;">1007</td><td style="width: 33.3651%; height: 29.6px;">آیتم مورد نظر یافت نشد.</td><td style="width: 56.4824%; height: 29.6px;">این خطا راهکاری ندارد.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">9</td><td style="width: 5.48141%; height: 29.6px;">1008</td><td style="width: 33.3651%; height: 29.6px;">ظرفیت این آیتم تکمیل شده است</td><td style="width: 56.4824%; height: 29.6px;">لطفا مجدد جستجو را انجام دهید و در صورت فعال بودن آیتم دیگری را انتخاب نمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">10</td><td style="width: 5.48141%; height: 46.4px;">1009</td><td style="width: 33.3651%; height: 46.4px;">تعداد مسافرین با قفل ارسالی همخوانی ندارد</td><td style="width: 56.4824%; height: 46.4px;">لطفا مجدد درخواست خود را با تعداد صحیح مندرج در قفل ارسال فرمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">11</td><td style="width: 5.48141%; height: 46.4px;">1010</td><td style="width: 33.3651%; height: 46.4px;">جمع مبلغ ارسالی با مبلغ قابل پرداخت همخوانی ندارد.</td><td style="width: 56.4824%; height: 46.4px;">لطفا مجدد درخواست خود را با مبلغ صحیح ارسال فرمائید.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">12</td><td style="width: 5.48141%; height: 29.6px;">1011</td><td style="width: 33.3651%; height: 29.6px;">کد ملی/شماره پاسپورت معتبر نمی باشد</td><td style="width: 56.4824%; height: 29.6px;">لطفا کدملی/شماره پاسپورت موجود در data را بررسی و تصحیح فرمائید.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">13</td><td style="width: 5.48141%; height: 29.6px;">1012</td><td style="width: 33.3651%; height: 29.6px;">با اطلاعاتی ارسالی رزروی یافت نشد</td><td style="width: 56.4824%; height: 29.6px;">لطفا اطلاعات رابررسی و دوباره اقدام فرمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">14</td><td style="width: 5.48141%; height: 46.4px;">1013</td><td style="width: 33.3651%; height: 46.4px;">فرمت شماره موبایل ارسالی صحیح نمی باشد.</td><td style="width: 56.4824%; height: 46.4px;">فرمت صحیح شماره تلفن همراه باید با +98 یا 09 و یا 9 شروع شده باشد و تعداد کاراکتر صحیح ارسال شود.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">15</td><td style="width: 5.48141%; height: 29.6px;">1014</td><td style="width: 33.3651%; height: 29.6px;">فرمت ایمیل ارسالی صحیح نمی باشد.</td><td style="width: 56.4824%; height: 29.6px;">لطفا یک ایمیل صحیح با فرمت درست ارسال فرمائید بطور مثال : info@airplus.app</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">16</td><td style="width: 5.48141%; height: 46.4px;">1015</td><td style="width: 33.3651%; height: 46.4px;">استرداد این آیتم باتوجه به قوانین استرداد امکان پذیر نمی باشد.</td><td style="width: 56.4824%; height: 46.4px;">با توجه به قوانین استرداد این آیتم امکان استرداد را ندارد.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">17</td><td style="width: 5.48141%; height: 29.6px;">1016</td><td style="width: 33.3651%; height: 29.6px;">مغادیر مورد نیاز API ارسال نشده است.</td><td style="width: 56.4824%; height: 29.6px;">لطفا مغادیر را بررسی فرمائید و مقدار لازم را ارسال فرمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">18</td><td style="width: 5.48141%; height: 46.4px;">1017</td><td style="width: 33.3651%; height: 46.4px;">مغادیر مورد api به درستی ارسال نشده است.</td><td style="width: 56.4824%; height: 46.4px;">لطفا مغادیر را برسی فرمایید و مقدار لازم را به صورت صحیح و در فرمت مشخص ارسال فرمایید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">19</td><td style="width: 5.48141%; height: 46.4px;">1018</td><td style="width: 33.3651%; height: 46.4px;">تاریخ شروع و پایان جستجو فقط میتوانید در آینده باشد.</td><td style="width: 56.4824%; height: 46.4px;">لطفا محدوده تاریخی خود را به آینده تغییر دهید و اعتبارسنجی این موضوع را انجام دهید.</td></tr><tr style="height: 29.6px;"><td style="width: 4.76644%; height: 29.6px;">20</td><td style="width: 5.48141%; height: 29.6px;">1019</td><td style="width: 33.3651%; height: 29.6px;">ملیت مسافر معتبر نمی باشد.</td><td style="width: 56.4824%; height: 29.6px;">لطفا ملیت مسافر را برسی نمائید و ملیت معتبر را ارسال فرمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">21</td><td style="width: 5.48141%; height: 46.4px;">1021</td><td style="width: 33.3651%; height: 46.4px;">ورود تاریخ با فرمت صحیح الزامی می باشد.</td><td style="width: 56.4824%; height: 46.4px;">لطفا تاریخ را در فرمت صحیح ارسال فرمائید.</td></tr><tr style="height: 46.4px;"><td style="width: 4.76644%; height: 46.4px;">22</td><td style="width: 5.48141%; height: 46.4px;">2000</td><td style="width: 33.3651%; height: 46.4px;">خطای مهلک رخ داده است</td><td style="width: 56.4824%; height: 46.4px;">این خطا الزاما باید از طریق هسته مرکزی رفع شود و لطفا به واحد پشتیبانی اطلاع دهید.</td></tr></tbody></table>

</figure>در ضمن میتوانید از طریق API زیر بصورت داینامیک این خطاها را دریافت و مدیریت نمائید.

# دریافت جزئیات خطا از طریق API

<div class="wp-block-group" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained"><figure class="wp-block-table is-style-stripes"><table border="1" class="has-fixed-layout align-center" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**وضعیت**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">Method</td><td>اجباری</td><td>GET</td><td>متد ارسال درخواست</td></tr><tr><td class="has-text-align-left" data-align="left">Domain</td><td>اجباری</td><td>نام دامنه ثبت شده در اتوماسیون</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Api Url</td><td>اجباری</td><td>دامنه هسته مرکزی سرویس</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Api version</td><td>اجباری</td><td>به نسخه فعلی سرویس API تلقی میشود که در قسمت [پیش نیازهای اتوماسیون](https://airplus.app/docs/%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7-%d9%88-%d8%b4%d8%b1%d8%a7%db%8c%d8%b7-%d8%a7%d8%ae%d8%b0-api-%da%86%d8%a7%d8%b1%d8%aa%d8%b1%db%8c/) به ریز شرح داده شده است.</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">Authorization</td><td>اجباری</td><td>توکن JWT تولید شده</td><td>این توکن بصورت JWT تولید میشود.</td></tr></tbody></table>

<figcaption class="wp-element-caption">توضیحات ارسال درخواست</figcaption></figure></div></div>

# سربرگ – Header

در این روش شما باید درخواست خود را از طریق لینک زیر ارسال فرمائید.

```
{{Api Url}}/error-handling

HEADER
GET /api/reservation/{{Api version}}/error-handling HTTP/1.1
Host: {{Your Host}}
Authorization: Bearer JWTToken
Content-Type: application/json
Domain: {{Your Domain}}
```

API Url از طریق پنل کاربری قابل مشاهده خواهد بود

# مقادیر ارسالی – Request Data

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%88%D8%B6%D8%B9%DB%8C%D8%AA-%D9%85%D9%82%D8%A7%D8%AF" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**وضعیت**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">code</td><td>Integer</td><td>اختیاری</td><td>نام کاربری دریافت شده</td><td>در صورت وجود کد فقط کد مورد نظر بازگشت داده می شود.</td></tr></tbody></table>

```
{
    "code": "Error Code"
}
```

# پاسخ صحیح – Response True

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA%D9%88%D8%B6" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">status</td><td>Boolean</td><td>true</td><td>مقدار در پاسخ صحیح همیشه true است</td></tr><tr><td class="has-text-align-left" data-align="left">time</td><td>Timestamp</td><td>زمان تولید پاسخ</td><td>این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود.</td></tr><tr><td class="has-text-align-left" data-align="left">**data**</td><td>Array</td><td> </td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">data\[Index\].title</td><td>String</td><td>شرح خطا به زبان فارسی</td><td> </td></tr><tr><td class="has-text-align-left" data-align="left">data\[Index\].solution</td><td>String</td><td>روش حل خطا به زبان فارسی</td><td> </td></tr></tbody></table>

دریافت این پاسخ با Status Code 200 دریافت خواهد شد.

```
{
    "status": true,
    "time": "Timestamp", // Timestamp
    "data": [
        {
            "title": "Error title in Persian",
            "solution": "How to solve errors in Persian"
        },
        ...
    ]
}
```

# پاسخ نادرست – Response False

<table border="1" class="has-fixed-layout align-center" id="bkmrk-%D8%B9%D9%86%D9%88%D8%A7%D9%86-%D9%86%D9%88%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D8%AA%D9%88%D8%B6" style="border-collapse: collapse;"><tbody><tr><td class="has-text-align-left" data-align="left">**عنوان**</td><td>**نوع**</td><td>**مقادیر**</td><td>**توضیحات**</td></tr><tr><td class="has-text-align-left" data-align="left">status</td><td>Boolean</td><td>false</td><td>مقدار در پاسخ نادرست همیشه false است</td></tr><tr><td class="has-text-align-left" data-align="left">time</td><td>Timestamp</td><td>زمان تولید پاسخ</td><td>این زمان بر اساس timestamp می باشد – در صورت نیاز از این زمان استفاده شود.</td></tr><tr><td class="has-text-align-left" data-align="left">code</td><td>Integer</td><td>شماره خطا مربوطه</td></tr></tbody></table>

```
{
    "status": false,
    "time": "Timestamp", // Timestamp
    "code": "Error Code"
}
```