# POST /v2/redis-accounting/create-missing-documents

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

<div id="bkmrk-method-endpoint-cont" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;"><table border="1" style="width: 100%; border-collapse: collapse; text-align: center;"><tbody><tr style="background: #f5f5f5; font-weight: bold;"><td>Method</td><td>Endpoint</td><td>Controller</td><td>Middleware</td></tr><tr><td>POST</td><td>/v2/redis-accounting/create-missing-documents</td><td>RedisAccountingController@createMissingDocuments</td><td>authWithJwt, shamsiDate</td></tr></tbody></table>

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

این API مسئول **بررسی وجود اسناد مفقود** و سپس **ایجاد خودکار آن‌ها** در سیستم است. منطق ساخت اسناد به‌طور کامل در سرویس `redisAccountingService` اجرا می‌شود و این روت فقط فراخوانی و مدیریت پاسخ را انجام می‌دهد.

<div id="bkmrk-%D9%87%DB%8C%DA%86-%D9%88%D8%B1%D9%88%D8%AF%DB%8C%E2%80%8C%D8%A7%DB%8C-%D9%86%DB%8C%D8%A7%D8%B2-%D9%86%D8%AF" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">- هیچ ورودی‌ای نیاز ندارد.
- عملیات به‌صورت Batch اجرا می‌شود.
- خروجی شامل تعداد کل اسناد پردازش‌شده و تعداد اسناد ایجادشده است.

  </div>### ورودی‌ها (Input Parameters)

این روت **هیچ پارامتر ورودی‌ای** در Query یا Body دریافت نمی‌کند.

<div id="bkmrk--1" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">  </div>### منطق اجرا (Execution Logic)

<div id="bkmrk-%D9%81%D8%B1%D8%A7%D8%AE%D9%88%D8%A7%D9%86%DB%8C-%D9%85%D8%B3%D8%AA%D9%82%DB%8C%D9%85-%D9%85%D8%AA%D8%AF-" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">- فراخوانی مستقیم متد `createMissingDocuments()` از سرویس.
- سرویس عملیات زیر را انجام می‌دهد: 
    - شناسایی اسناد مفقود
    - ایجاد اسناد جدید
    - محاسبه تعداد اسناد پردازش‌شده
- Controller نتیجه سرویس را در ساختار JSON استاندارد برمی‌گرداند.
- در صورت بروز هرگونه Exception، پاسخ خطای 500 بازگردانده می‌شود.

  </div>### پاسخ موفق (200 OK)

```
{
  "success": true,
  "data": {
    "total_processed": 42,
    "created": 42,
    "existing": 0
  },
  "message": "پردازش کامل شد. 42 سند ایجاد شد."
}
```

<div id="bkmrk--2" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">  </div>### پاسخ‌های خطا (Error Responses)

#### خطای سمت سرویس (500)

در صورت بروز Exception در سرویس:

```
{
  "success": false,
  "message": "خطا در ایجاد اسناد: Redis connection failed"
}
```

<div id="bkmrk--3" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">  </div>### نکات فنی (Technical Notes)

<div id="bkmrk-%D8%A7%DB%8C%D9%86-%D8%B1%D9%88%D8%AA-%D9%87%DB%8C%DA%86-%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA-r" style="direction: rtl; font-family: Vazir, Tahoma; line-height: 1.85; text-align: justify;">- این روت هیچ عملیات Read ندارد؛ صرفاً اجرای یک Job سنگین است.
- اجرا می‌تواند بسته به حجم داده چند ثانیه طول بکشد.
- توصیه می‌شود فقط توسط کاربران سطح بالا (Admins) فراخوانی شود.

</div>