forked from Yara724/api
403 lines
11 KiB
Markdown
403 lines
11 KiB
Markdown
# مستند فرانتاند API گزارش PDF پرونده
|
|
|
|
## هدف API
|
|
این API دادهی ساختیافتهی لازم برای تولید PDF پرونده در پنل بیمهگر را برمیگرداند.
|
|
خروجی آن ترکیبی از اطلاعات پروندهی تقصیر (`blame`) و پروندهی خسارت (`claim`) است و طوری طراحی شده که فرانتاند بدون وابستگی به مدلهای داخلی بکاند، فقط با `sections` و `fields` بتواند PDF را رندر کند.
|
|
|
|
---
|
|
|
|
## آدرس API
|
|
|
|
```http
|
|
GET /expert-insurer/files/:publicId/report
|
|
```
|
|
|
|
### پارامتر مسیر
|
|
- `publicId`: شناسه عمومی پرونده
|
|
|
|
---
|
|
|
|
## ساختار کلی پاسخ
|
|
|
|
```json
|
|
{
|
|
"title": "گزارش پرونده بیمه گر",
|
|
"publicId": "RPT832-00406",
|
|
"requestNo": "BL-RPT832-000406",
|
|
"sections": []
|
|
}
|
|
```
|
|
|
|
### فیلدهای سطح بالا
|
|
|
|
#### `title`
|
|
عنوان کلی گزارش.
|
|
|
|
#### `publicId`
|
|
شناسه عمومی پرونده.
|
|
|
|
#### `requestNo`
|
|
شماره درخواست، اگر در دادههای پرونده موجود باشد.
|
|
|
|
#### `sections`
|
|
آرایهای از سکشنهای گزارش.
|
|
هر سکشن یک عنوان دارد و شامل تعدادی ردیف اطلاعات (`fields`) است.
|
|
|
|
---
|
|
|
|
## ساختار هر سکشن
|
|
|
|
```json
|
|
{
|
|
"title": "زمانبندی پرونده",
|
|
"fields": [
|
|
{
|
|
"label": "تاریخ و ساعت ثبت پرونده",
|
|
"value": "1405/06/02 07:02"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### `title`
|
|
عنوان فارسی سکشن، آمادهی نمایش در PDF.
|
|
|
|
### `fields`
|
|
لیست ردیفهای اطلاعاتی همان سکشن.
|
|
|
|
---
|
|
|
|
## ساختار هر فیلد
|
|
|
|
```json
|
|
{
|
|
"label": "شماره بیمهنامه",
|
|
"value": "POL-12345"
|
|
}
|
|
```
|
|
|
|
### `label`
|
|
عنوان فارسی فیلد.
|
|
|
|
### `value`
|
|
مقدار فیلد.
|
|
برای نمایش مستقیم در PDF استفاده میشود.
|
|
|
|
---
|
|
|
|
## سکشنهای ممکن در پاسخ
|
|
سکشنها معمولاً با ترتیب زیر برمیگردند، ولی فرانتاند بهتر است بهجای تکیه بر ایندکس آرایه، سکشن را با `title` پیدا کند:
|
|
|
|
1. `زمانبندی پرونده`
|
|
2. `مالک خودروی زیان دیده`
|
|
3. `مالک خودروی مقصر`
|
|
4. `راننده خودروی زیان دیده`
|
|
5. `بیمه شخص ثالث زیاندیده`
|
|
6. `بیمه بدنه زیاندیده`
|
|
7. `بیمه شخص ثالث مقصر`
|
|
8. `بیمه بدنه مقصر`
|
|
9. `اطلاعات خودروی زیاندیده`
|
|
10. `اطلاعات خودروی مقصر`
|
|
11. `اظهارات و اقرار زیاندیده`
|
|
12. `اظهارات و اقرار مقصر`
|
|
13. `کدهای فناوران`
|
|
14. `نتیجه ارزیابی`
|
|
15. `گزارش حادثه`
|
|
|
|
نکته:
|
|
- بعضی سکشنها بسته به نوع پرونده ممکن است وجود نداشته باشند.
|
|
- در پروندههای بدنه (`CAR_BODY`) اگر طرفین عملاً یک نفر باشند، سکشنهای مربوط به مقصر ممکن است حذف شوند.
|
|
- در پروندههای شخص ثالث (`THIRD_PARTY`) انتظار میرود اطلاعات هر دو طرف بهصورت تفکیکشده برگردد.
|
|
|
|
---
|
|
|
|
# توضیح سکشنها
|
|
|
|
## 1) `زمانبندی پرونده`
|
|
برای نمایش زمانهای مهم پرونده.
|
|
|
|
فیلدهای مهم:
|
|
- `تاریخ و ساعت ثبت پرونده`
|
|
- `تاریخ و ساعت ثبت نتیجه ارزیابی`
|
|
|
|
نکته:
|
|
- این تاریخها در بکاند فرمت شدهاند و آمادهی نمایش هستند.
|
|
|
|
---
|
|
|
|
## 2) `مالک خودروی زیان دیده`
|
|
اطلاعات مالک یا صاحب خودروی زیاندیده.
|
|
|
|
فیلدهای رایج:
|
|
- `نام`
|
|
- `شماره تلفن`
|
|
- `کد ملی`
|
|
- `تاریخ تولد`
|
|
- `شماره شبا`
|
|
|
|
نکته:
|
|
- `شماره شبا` معمولاً برای زیاندیده مهم است و ممکن است فقط در همین سکشن وجود داشته باشد.
|
|
|
|
---
|
|
|
|
## 3) `مالک خودروی مقصر`
|
|
اطلاعات مالک خودروی مقصر.
|
|
|
|
فیلدهای رایج:
|
|
- `نام`
|
|
- `شماره تلفن`
|
|
- `کد ملی`
|
|
- `تاریخ تولد`
|
|
|
|
نکته:
|
|
- این سکشن مخصوص پروندههای شخص ثالث اهمیت دارد تا اطلاعات مالک هر دو طرف در PDF موجود باشد.
|
|
|
|
---
|
|
|
|
## 4) `راننده خودروی زیان دیده`
|
|
اگر راننده با مالک/بیمهگذار متفاوت باشد، این سکشن برمیگردد.
|
|
|
|
فیلدهای رایج:
|
|
- `نام`
|
|
- `نوع گواهینامه`
|
|
- `تاریخ گواهینامه`
|
|
- `شماره تلفن`
|
|
- `کد ملی`
|
|
- `تاریخ تولد`
|
|
- `شماره گواهینامه`
|
|
|
|
نکته:
|
|
- اگر راننده و مالک یکی باشند، این سکشن ممکن است وجود نداشته باشد.
|
|
|
|
---
|
|
|
|
## 5) `بیمه شخص ثالث زیاندیده`
|
|
اطلاعات بیمه شخص ثالث طرف زیاندیده.
|
|
|
|
فیلدهای رایج:
|
|
- `شماره بیمهنامه`
|
|
- `شرکت بیمه`
|
|
- `تاریخ شروع بیمهنامه`
|
|
- `تاریخ پایان بیمهنامه`
|
|
- `سقف تعهد مالی`
|
|
- `پوششها`
|
|
|
|
---
|
|
|
|
## 6) `بیمه بدنه زیاندیده`
|
|
اطلاعات بیمه بدنهی طرف زیاندیده.
|
|
|
|
فیلدهای رایج:
|
|
- `شماره بیمهنامه`
|
|
- `شرکت بیمه`
|
|
- `تاریخ شروع بیمهنامه`
|
|
- `تاریخ پایان بیمهنامه`
|
|
- `پوششها`
|
|
|
|
---
|
|
|
|
## 7) `بیمه شخص ثالث مقصر`
|
|
اطلاعات بیمه شخص ثالث طرف مقصر.
|
|
|
|
فیلدهای رایج:
|
|
- `شماره بیمهنامه`
|
|
- `شرکت بیمه`
|
|
- `تاریخ شروع بیمهنامه`
|
|
- `تاریخ پایان بیمهنامه`
|
|
- `سقف تعهد مالی`
|
|
- `پوششها`
|
|
|
|
---
|
|
|
|
## 8) `بیمه بدنه مقصر`
|
|
اطلاعات بیمه بدنهی طرف مقصر.
|
|
|
|
فیلدهای رایج:
|
|
- `شماره بیمهنامه`
|
|
- `شرکت بیمه`
|
|
- `تاریخ شروع بیمهنامه`
|
|
- `تاریخ پایان بیمهنامه`
|
|
- `پوششها`
|
|
|
|
---
|
|
|
|
## 9) `اطلاعات خودروی زیاندیده`
|
|
جزئیات خودروی زیاندیده.
|
|
|
|
فیلدها میتوانند شامل موارد زیر باشند:
|
|
- `خودرو / پلاک`
|
|
- `خودرو / نام خودرو`
|
|
- `خودرو / مدل خودرو`
|
|
- `خودرو / نوع خودرو`
|
|
- `VIN`
|
|
- `شماره موتور`
|
|
- `شماره شاسی`
|
|
- `رنگ اصلی`
|
|
- `رنگ فرعی`
|
|
- `سیستم`
|
|
- `تیپ`
|
|
- `کاربری`
|
|
- `ظرفیت`
|
|
- `تعداد سیلندر`
|
|
|
|
نکته:
|
|
- بسته به منبع داده، ممکن است بعضی فیلدها با برچسبهای نزدیک به هم ولی از دو منبع مختلف برگردند.
|
|
|
|
---
|
|
|
|
## 10) `اطلاعات خودروی مقصر`
|
|
جزئیات خودروی طرف مقصر.
|
|
|
|
فیلدها مشابه سکشن خودروی زیاندیده هستند.
|
|
|
|
---
|
|
|
|
## 11) `اظهارات و اقرار زیاندیده`
|
|
اطلاعات مربوط به اظهارات طرف زیاندیده.
|
|
|
|
فیلدهای رایج:
|
|
- `نقش طرف`
|
|
- `نام`
|
|
- `ادعای خسارت`
|
|
- `پذیرش نظر کارشناس`
|
|
- `توضیحات طرف`
|
|
|
|
نکته:
|
|
- معمولاً `اقرار به تقصیر` برای زیاندیده نمایش داده نمیشود.
|
|
|
|
---
|
|
|
|
## 12) `اظهارات و اقرار مقصر`
|
|
اطلاعات مربوط به اظهارات طرف مقصر.
|
|
|
|
فیلدهای رایج:
|
|
- `نقش طرف`
|
|
- `نام`
|
|
- `اقرار به تقصیر`
|
|
- `پذیرش نظر کارشناس`
|
|
- `توضیحات طرف`
|
|
|
|
نکته:
|
|
- معمولاً `ادعای خسارت` برای مقصر نمایش داده نمیشود.
|
|
|
|
---
|
|
|
|
## 13) `کدهای فناوران`
|
|
کدها و شناسههای فنی مرتبط با پرونده در فناوران.
|
|
|
|
فیلدهای ممکن:
|
|
- `شماره پرونده فناوران`
|
|
- `کد پرونده فناوران`
|
|
- `کد کیس خسارت فناوران`
|
|
- `کد کارشناسی فناوران`
|
|
- `کد بیمهنامه فناوران`
|
|
- `کد راننده فناوران`
|
|
- `کد نوع خودرو فناوران`
|
|
- `کد شرکت بیمه فناوران`
|
|
|
|
---
|
|
|
|
## 14) `نتیجه ارزیابی`
|
|
اطلاعات نتیجهی ارزیابی کارشناس خسارت.
|
|
|
|
فیلدهای مهم:
|
|
- `نتیجه ارزیابی`
|
|
- `کارشناس ارزیاب`
|
|
- `تاریخ و ساعت ثبت ارزیابی`
|
|
- `پاسخ / توضیحات کارشناس`
|
|
|
|
---
|
|
|
|
## 15) `گزارش حادثه`
|
|
خلاصهی اطلاعات حادثه، وضعیت پرونده و برخی خروجیهای کارشناسی.
|
|
|
|
فیلدهای رایج:
|
|
- `تاریخ حادثه`
|
|
- `ساعت حادثه`
|
|
- `کارشناس(ان)`
|
|
- `موقعیت (عرض و طول جغرافیایی)`
|
|
- `وضعیت آب و هوا`
|
|
- `وضعیت جاده`
|
|
- `وضعیت نور`
|
|
- `وضعیت مقصر`
|
|
- `وضعیت خسارت`
|
|
- `نظر کارشناس مقصر`
|
|
- `نحوه برخورد`
|
|
- `علت حادثه`
|
|
- `نوع حادثه`
|
|
- `توضیحات طرف`
|
|
|
|
---
|
|
|
|
## نکات مهم برای فرانتاند
|
|
|
|
### 1) فقط بر اساس `sections` و `fields` رندر کنید
|
|
ساختار اصلی خروجی این است:
|
|
|
|
```ts
|
|
response.sections[].title
|
|
response.sections[].fields[].label
|
|
response.sections[].fields[].value
|
|
```
|
|
|
|
---
|
|
|
|
### 2) به ایندکس سکشنها وابسته نشوید
|
|
ممکن است بعضی سکشنها در بعضی پروندهها وجود نداشته باشند.
|
|
بهتر است سکشن را با `title` پیدا کنید.
|
|
|
|
---
|
|
|
|
### 3) نبودن بعضی سکشنها طبیعی است
|
|
مثلاً:
|
|
- `راننده خودروی زیان دیده`
|
|
- سکشنهای مربوط به مقصر در بعضی پروندههای بدنه
|
|
- بعضی دادههای فناوران
|
|
|
|
---
|
|
|
|
### 4) مقدار `-` یعنی دادهای برای نمایش وجود نداشته
|
|
اگر سکشنی دادهی واقعی نداشته باشد، ممکن است فقط این مقدار را داشته باشد:
|
|
|
|
```json
|
|
{
|
|
"label": "اطلاعات",
|
|
"value": "-"
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 5) برچسبها فارسی و آمادهی نمایش هستند
|
|
فیلدهای `title` و `label` نیازی به ترجمهی مجدد در فرانتاند ندارند.
|
|
|
|
---
|
|
|
|
## نمونهی سادهی رندر در فرانتاند
|
|
|
|
```ts
|
|
for (const section of response.sections) {
|
|
renderSectionTitle(section.title)
|
|
|
|
for (const field of section.fields) {
|
|
renderRow(field.label, field.value ?? "-")
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## خلاصه
|
|
این API برای تولید PDF پرونده، دادهها را بهصورت کامل و تفکیکشده برمیگرداند، از جمله:
|
|
|
|
- زمانبندی پرونده
|
|
- اطلاعات مالک زیاندیده
|
|
- اطلاعات مالک مقصر
|
|
- اطلاعات راننده در صورت متفاوت بودن
|
|
- بیمهنامههای تفکیکشدهی ثالث و بدنه برای هر طرف
|
|
- اطلاعات خودرو برای هر دو طرف
|
|
- اظهارات و اقرار هر دو طرف
|
|
- کدهای فناوران
|
|
- نتیجه ارزیابی و توضیحات کارشناس
|
|
- گزارش حادثه
|