وبسرویس استعلام و پرداخت عوارض مبتنی بر سه جزء اصلی میباشد:
جریان پیشنهادی کاربیل برای پیادهسازی وبسرویسها بدین صورت میباشد:
| عوارض | مقادیر معادل استفاده شده در وبسرویسها |
|
|
Address:
{{base_url}}/car/{{license}}/debts/{{type}}
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
URL Parameters:
| Parameter | Value | Descripton |
| license | 9 Digit Plate Number |
پلاک طبق استاندارد پیوست 1 - ساختار پلاک |
| type |
یکی از موارد قابل استعلام و پرداخت |
Query Parameters:
| Parameter | Value | Required For | Optional For |
| vin | شماره VIN خودرو | MY_TEHRAN_ANNUAL | |
| mobile | موبایل | RAHVAR | |
| national_code | کد ملی | MY_TEHRAN_ANNUAL
RAHVAR |
|
| car_type_id | شناسه Car Type | MY_TEHRAN_ANNUAL | |
| show_unpayable_tolls | نمایش عوارض غیر قابل پرداخت - Boolean value | RAHVAR | |
| reference_code |
Int64 توضیحات |
RAHVAR | |
| type | aggregate|null | RAHVAR |
نکته ۱: در سرویس خلافی، هزینه استعلام ۵۲۰۰ تومان بوده و با هر بار فراخوانی از کیف پول شما کسر میشود. پیشنهاد میگردد هزینه فوق، قبل از فراخوانی سرویس از کاربر دریافت شود. ضمنا در صورت مغایرت کدملی و شماره موبایل هزینهای کسر نشده و میبایست به کاربر عودت گردد.
جهت اطمینان از مطابقت کدملی و شماره موبایل، میتوانید از سرویس شاهکار استفاده نمایید.
نکته ۲: برای استعلام عوارض سالیانه، نیاز به تشکیل پرونده سمت شهرداری تهران وجود دارد. در مواردی که پلاک استعلامشده در شهرداری دارای پرونده نباشد، کاربیل به صورت خودکار سعی میکند تا قبل از دادن جواب استعلام، پروندهی شهرداری را نیز تشکیل دهد.
لذا در فراخوانی استعلام عوارض سالیانه، حالتهای زیر ممکن است اتفاق بیفتد:
در حالتی که با خطای CAR_TYPE_NEEDED مواجه شدید، لیستی از مدلهای خودروی مرتبط با این خودرو در پاسخ داده میشود، که میتوانید با ارائهی آن به کاربر و دریافت مدل درست خودرو از ایشان، مجددا متد استعلام را با ورودی car_type_id فراخوانی نموده و پاسخ را به کاربر نشان دهید.
نمونه پاسخ CAR_TYPE_NEEDED در ادامه مستند موجود است.
نکته ۳: در استعلام خلافیهای خودرو، به صورت پیشفرض خلافیهایی که شناسه قبض و شناسه پرداخت ندارند، به عنوان خلافیهای غیر قابل پرداخت شناخته میشوند. با ارسال پارامتر اختیاری 'show_unpayable_tolls' امکان مشاهدهی این موارد نیز وجود دارد.
نکته ۴: در حال حاضر استعلام خلافی برای پلاکهای حقوقی فقط به صورت تجمیعی امکان پذیر می باشد. بدین منظور می بایست پارامتر type با مقدار aggregate در سرویس استعلام ارسال گردد.
Headers:
| Header | Value |
| Content-Type | application/json |
Body (Success):
{
"type": "MY_TEHRAN_TOLL",
"items": [
{
"id": "2024-07-07T00:00:00",
"date": "2024-07-07T00:00:00",
"price": 2043625
},
{
"id": "2024-06-10T00:00:00",
"date": "2024-06-10T00:00:00",
"price": 2079547
},
{
"id": "2024-05-29T00:00:00",
"date": "2024-05-29T00:00:00",
"price": 2095512
}
],
"total_price": 6218684,
"error": false
}
Body (Error):
{
"type": "MY_TEHRAN_TOLL",
"error": true,
"errorCode": "SERVICE_NOT_AVAILABLE",
"errorMessage": "سرویس استعلام در دسترس نمیباشد"
}
مثالهای CURL:
curl --location --request GET 'https://itoll.biz/api/car/893244720/debts/MY_TEHRAN_ANNUAL?vin=xxxx&national_code=xxxx'
--header 'Authorization: Bearer {{token}}'
--header 'Accept: application/json'
Response Body:
{
"type": "MY_TEHRAN_ANNUAL",
"error": false,
"id": "393XXX",
"total_price": 13774762,
"commission": 565762,
"masked_vin": "NAAR*********1978",
"masked_national_code": "007****630",
"name": null,
"car": {
"system": "سواري پژو 207I دنده معمولي",
"usage": null
},
"items": [
{
"title": "مجموع بدهی عوارض سالیانه",
"id": 393XXX,
"price": 13774762,
"frazzle_price": null,
"penalty_price": null
}
]
}
نکته: فیلد frazzle_price به معنای فرسودگی خودرو میباشد. هر ساله خودروهای فرسوده مبلغی رو تحت این عنوان در عوارض سالیانهی خودروشان پرداخت میکنند.
نکته۲: فیلد penalty_price به معنای جریمهی دیرکرد میباشد. چنانچه فردی عوارض سالیانهی خود را پرداخت نکند، به صورت روزشمار مبلغی تحت این عنوان برای او محاسبه میشود.
{
"success": false,
"error": true,
"type": "MY_TEHRAN_ANNUAL",
"errorCode": "CAR_TYPE_NEEDED",
"errorMessage": "پروندهای برای خودروی شما تشکیل نشده.",
"details": {
"car_types": [
{
"label": "پژو 206 تیپ 3",
"value": "1373"
},
{
"label": "پژو 206 تیپ 5",
"value": "1374"
},
{
"label": "پژو 206 تیپ 6 اتوماتیک",
"value": "1375"
},
{
"label": "پژو 206(عادی جدید و تیپ 2)",
"value": "1376"
},
{
"label": "پژو 206 تیپ 4 (اتوماتیک)",
"value": "10145"
}
]
}
}
curl --location --request GET 'https://itoll.biz/api/car/470XXX160/debts/RAHVAR?mobile=09XX&national_code=09XX&reference_code=XXX
--header 'Authorization: Bearer {{token}}'
--header 'Accept: application/json'
Response Body:
{
"type": "RAHVAR",
"items": [
{
"id": "XXX_XXX",
"type": "توقف دوبله در معابر - توقف در محل ممنوع(پارک ممنوع)",
"description": "الصاقی",
"code": "2085",
"price": 1100000,
"city": null,
"location": "فردیس ارسال با تاخیر",
"date": "1403/02/15 - 18:11",
"serial": "XXX",
"dataValue": "",
"barcode": null,
"license": "470XXX160",
"billId": "XXX",
"paymentId": "XXX",
"normalizedDate": "2024-05-04 18:11:00",
"isPayable": true,
"policemanCode": null,
"hasImage": false
},
{
"id": "XXX_XXX",
"type": "هرنوع توقف که منجر به سد معبر و یا اختلال در عبور - توقف دوبله در معابر",
"description": "الصاقی",
"code": "2101",
"price": 900000,
"city": null,
"location": "فردیس ارسال با تاخیر",
"date": "1403/02/15 - 18:11",
"serial": "XXX",
"dataValue": "",
"barcode": null,
"license": "470XXX160",
"billId": "XXX",
"paymentId": "XXX",
"normalizedDate": "2024-05-04 18:11:00",
"isPayable": true,
"policemanCode": null,
"hasImage": false
},
{
"id": "XXX_XXX",
"type": "توقف دوبله در معابر - عدم استفاده از کمربند ایمنی توسط راننده یا سرنشینا",
"description": "الصاقی",
"code": "2085",
"price": 1500000,
"city": null,
"location": "تهران یوسف آباد",
"date": "1403/03/07 - 10:31",
"serial": "XXX",
"dataValue": "",
"barcode": null,
"license": "470XXX160",
"billId": "XXX",
"paymentId": "XXX",
"normalizedDate": "2024-05-27 10:31:00",
"isPayable": true,
"policemanCode": null,
"hasImage": false
},
{
"id": "XXX_XXX",
"type": "تردد غیر مجاز وسایل نقلیه در محدوده های ممنوع مصوب",
"description": "دوربین",
"code": "2126",
"price": 1000000,
"city": null,
"location": "همدان همدان-خیابان بین النهرین",
"date": "1403/04/11 - 20:12",
"serial": "XXX",
"dataValue": "",
"barcode": null,
"license": "470XXX160",
"billId": "XXX",
"paymentId": "XXX",
"normalizedDate": "2024-07-01 20:12:00",
"isPayable": true,
"policemanCode": null,
"hasImage": true
},
{
"id": "XXX_XXX",
"type": "عدم رعایت تقدم عبور عابر یا تجاوز یا توقف وسایل نق",
"description": "الصاقی",
"code": "2152",
"price": 200000,
"city": null,
"location": "مناطق تهران خ مرتضوی با تاخیر ثبت",
"date": "1403/04/14 - 11:56",
"serial": "XXX",
"dataValue": "",
"barcode": null,
"license": "470XXX160",
"billId": "XXX",
"paymentId": "XXX",
"normalizedDate": "2024-07-04 11:56:00",
"isPayable": true,
"policemanCode": null,
"hasImage": false
}
],
"total_price": 4700000,
"error": false,
"probably_wrong_barcode": false,
"bill_id": "XXX",
"payment_id": "XXX",
"hashed_national_code": "aba4aec7a22f0557a1666a90810cdc46"
}
curl --location --request GET 'https://itoll.biz/api/car/89XXX4720/debts/RAHVAR?type=aggregate&reference_code=XXX
--header 'Authorization: Bearer {{token}}'
--header 'Accept: application/json'
Response Body:
{
"type": "RAHVAR",
"items": [
{
"id": "4023XXX400192_00049XXX14356",
"type": "",
"description": "استعلام تجمیعی",
"code": null,
"price": 49390000,
"city": null,
"location": null,
"date": null,
"serial": null,
"dataValue": "",
"barcode": null,
"license": "642447318",
"billId": "4023XXX400192",
"paymentId": "00049XXX14356",
"normalizedDate": null,
"isPayable": true,
"policemanCode": null,
"hasImage": null
}
],
"total_price": 49390000,
"error": false,
"probably_wrong_barcode": false,
"bill_id": "4023XXX400192",
"payment_id": "00049XXX14356",
"hashed_national_code": ""
}
curl --location --request GET 'https://itoll.biz/api/car/893244720/debts/FREEWAY
--header 'Authorization: Bearer {{token}}'
--header 'Accept: application/json'
Response Body:
{
"type": "FREEWAY",
"items": [
{
"id": "9582XXX7341",
"date": "2024-08-17 13:11:04",
"price": 55000,
"gateway": null,
"freeway": "6"
},
{
"id": "9582XXX7296",
"date": "2024-08-17 16:00:45",
"price": 100000,
"gateway": null,
"freeway": "5"
}
],
"error": false,
"total_price": 155000
}
curl --location --request GET 'https://itoll.biz/api/car/89XXX4720/debts/CAR_TRANSFER_TAX?national_code=XXX
--header 'Authorization: Bearer {{token}}'
--header 'Accept: application/json'
Response Body:
{
"type": "CAR_TRANSFER_TAX",
"total_price": 29940000,
"error": false,
"items": [
{
"id": "10100XXXX63536",
"price": 29940000,
"commission": 940000
}
]
}
وبسرویس پرداخت برای پرداخت بدهیهای یک خودرو مورد استفاده قرار میگیرد.
نکته: طبق الزامات جدید شهرداری تهران، برای پرداخت فاکتورهایی که شامل بدهی طرح ترافیک، عوارض سالیانه و پارک حاشیهای شهرداری تهران هستند، باید شماره همراه کاربر در قالب payer_user_id ارسال نمایید.
دقت کنید که این مقدار باید به ازای هر کاربر شما یکتا باشد و قابلیت رهگیری کاربر در سیستم شما توسط آن وجود داشته باشد
در صورت تمایل میتوانید برای سایر فاکتورها نیز این فیلد را ارسال نمایید.
Address:
{{base_url}}/api/pay-debts
HTTP Method:
POST
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
| Content-Type | application/json |
Body: raw JSON
| Parameter | Value |
| payer_user_id | شماره همراه کاربر |
| cars | آرایهای از خودروها
|
Body (Example):
|
Headers:
| Header | Value |
| Content-Type | application/json |
Body (Success):
[
{
"license": 181733493,
"success": true,
"paidItems": 1,
"referenceNumber": 5,
"trackingCode": 5,
"referenceCode": "1223",
"totalPrice": 258750
}
]
* پارامتر trackingCode شماره مرجع فاکتور در سمت کاربیل میباشد.
Body (Error):
[
{
"license": 181733493,
"success": false,
"error": true,
"errorCode": "INVALID_AMOUNT",
"errorMessage": "مبلغ ارسالی با بدهی مطابقت ندارد"
}
]
نکته ۱: در صورتی که هرگونه خطایی در وبسرویس دریافت کردید که به صورت explicit در بدنهی پاسخ مقدار "error": true را دریافت نکردید، تراکنش به منزلهی ناموفق نمیباشد و شما باید برای اطمینان از پرداخت و یا عدم پرداخت، وبسرویس «دریافت نتیجهی پرداخت» را استفاده نمایید. به طور مثال اگر خطاهای HTTP مانند ۵۰۰، ۵۰۲، ۵۰۳ و یا ۵۰۴ دریافت کردید به منزلهی عدم پرداخت نمیباشد.
نکته ۲: فیلد referenceCode شناسهی رشتهای یا عددی دلخواه از سمت سرویسگیرنده است که کاربیل به وسیله آن، موارد دارای مشکل را از سمت سرویس گیرنده پیگیری میکند و referenceNumber شناسه فاکتور در سیستم کاربیل میباشد.
نکته ۳: تسویه بدهی آزادراهی به صورت تجمیعی میباشد. بنابراین میبایست کلیه آیتمها برای پرداخت ارسال گردد و امکان انتخاب توسط کاربر وجود ندارد.
وبسرویس دریافت نتیجهی پرداخت برای مواقعی استفاده میگردد که نتیجهی پرداخت برای سرویسگیرنده مشخص نیست. در این حالت سرویسگیرنده اطمینان ندارد که پول را باید به حساب کاربر بازگرداند و یا پرداخت نهایی انجام شده است. در این حالت وبسرویس دریافت نتیجه را صدا زده و پرداخت یا عدم پرداخت را استعلام مینماید.
Address:
{{base_url}}/api/tolls/verify
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
Query Parameters:
| Parameter | Value |
| reference_number |
شناسه یکتایی که به عنوان reference_code در وبسرویس |
Response Headers:
| Header | Value |
| Content-Type | application/json |
Response Body (Successful payment):
{
"verify": true,
"reference_number": 123,
"tracking_code": 123,
"reference_code": 1234,
"price": 258750
}
Response Body (Failed payment):
{
"verify": false,
"reference_number": 1,
"tracking_code": 1,
"reference_code": "1",
"price": 0
}
نکتهی بسیار مهم: توجه داشته باشید چنانچه متد verify قبل از متد پرداخت صدا زده شود، reference_code ای که در ورودی ارسال شده، فاقد اعتبار خواهد شد و پس از آن دیگر نمیتوان از آن استفاده کرد.
این وبسرویس بهنگامی استفاده میشود که سرویس گیرنده در نظر دارد تا نتیجه نهایی پرداختها را به همراه جزییات استعلام دریافت نماید.
Address:
{{base_url}}/api/invoice/{reference_number}/details
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
Query Parameters:
| Parameter | Value |
| reference_number |
شناسه یکتایی که به عنوان reference_code در وبسرویس |
Response Headers:
| Header | Value |
| Content-Type | application/json |
Response Body (Successful):
{
"pay_status": "PAID",
"items": [
{
"identifier": "445566778899",
"paid_to_provider_at": "2024-10-29T08:36:43.000000Z",
"price": 10000,
"invoice_item_id": 5555,
"pay_status": "PAID",
"payment_reference": "12345",
"details":"interface{}"
}
]
}
این مورد برای زمانی میباشد که سرویسگیرنده در نظر دارد تا آیتم پرداخت شده را لغو کند
Address:
{{base_url}}/api/v2/invoice-items/{invoice_item_id}/cancel
HTTP Method:
POST
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
Query Parameters:
| Parameter | Value |
| invoice_item_id |
شناسه یکتایی که به عنوان invoice_item_id در وبسرویس |
Response Headers:
| Header | Value |
| Content-Type | application/json |
Response Body (Successful):
{
"message": "فاکتور مورد نظر کنسل شد."
}
Response Body (Failed):
{
"success": false,
"error": true,
"errorCode": 400,
"errorMessage": "تسویه از سمت ما صورت گرفته، امکان کنسلی وجود ندارد",
"details": null
}
پرداخت |
خلافی |
سالیانه |
آزادراهی |
طرح ترافیک |
توضیح |
HTTP Status Code | کد خطا |
| ✔ | پارامتر vin ارسال نشده است |
422 | VIN_NEEDED | ||||
| ✔ | امکان پرداخت موردی وجود ندارد |
428 | INCOMPLETE_IDS | ||||
| ✔ | بارکد وارد شده نامعتبر است |
422 | INVALID_BARCODE | ||||
| ✔ | پارامتر بارکد ارسال نشده است |
422 | BARCODE_NEEDED | ||||
| ✔ | پارامتر vin با پلاک مطابقت ندارد |
422 | VIN_DOES_NOT_MATCH_WITH_LICENSE | ||||
| ✔ | پارامتر کد ملی با پلاک مطابقت ندارد |
422 | NATIONAL_CODE_DOES_NOT_MATCH_WITH_LICENSE | ||||
| ✔ | پرونده عوارض سالیانه تشکیل نشده است. |
400 | 428 | MY_TEHRAN_ERROR | ||||
| ✔ | برای تشکیل پرونده باید نوع خودرو را انتخاب کنید |
428 | CAR_TYPE_NEEDED | ||||
| ✔ | ✔ | ✔ | ✔ | خطا در سرویسدهندهی اصلی |
503 | SERVICE_NOT_AVAILABLE | |
| ✔ | ✔ | ✔ | ✔ | خطای ناشناخته. این خطا به صورت اتوماتیک به اطلاع تیم فنی کاربیل میرسد و پیگیری میشود. |
500 | UNKNOWN_ERROR | |
| ✔ | مبلغ ارسالی با آیتمها مطابقت ندارد |
422 | INVALID_AMOUNT | ||||
| ✔ | کد مرجع وارد نشده است |
422 | REFERENCE_CODE_IS_REQUIRED | ||||
| ✔ | کد مرجع تکراری است |
422 | DUPLICATE_REFERENCE_NUMBER | ||||
| ✔ | خودروی ارسالی یافت نشد |
422 | CAR_NOT_FOUND | ||||
| ✔ | «یکی از آیتمهای ارسالی» قبلا پرداخت شده است |
409 | ITEM_ALREADY_PAID | ||||
| ✔ | ✔ | ✔ | ✔ | ✔ | چنانچه متد پرداخت به صورت پشت سر هم صدا شود، با این ارور مواجه میشوید. |
408 | TIME_OUT |
پس از پرداخت و تسویه بدهی عوارض سالیانه، گواهی مفاصا حساب برای مالک خودرو صادر میشود که در هنگام انتقال سند خودرو میتوان به این گواهی استناد کرد. مفاصا حساب بلافاصله بعد از پرداخت صادر نشده و ممکن است با دقایق یا ساعاتی تاخیر صادر شود.
برای دریافت گواهی، کافیاست از سرویس زیر استفاده نمایید.
Address:
{{base_url}}/api/annual-toll/{{referenceNumber}}/clearance-by-reference
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json, application/pdf |
| Authorization | Bearer {{token}} |
URL Parameters:
| Parameter | Value |
| referenceNumber |
شماره ارجاع در پاسخ متد پرداخت |
Response Body (Successful):
PDF Binary
Response Body (Error):
{
"message": "گواهی مفاصا برای این خودرو وجود ندارد."
}
مستندات فنی وبسرویس از طریق لینک زیر قابل دسترس میباشد:
پرداخت خلافی بین ۲ تا ۱۶۸ ساعت پس از پرداخت در سامانه راهور صورت میپذیرد. هرچند سایت rahvar120.ir دورهی بروزرسانی متفاوتی دارد و ممکن است خلافی پرداخت شده تا مدتی در سایت راهور نمایش داده شود.
مدت زمان تایم اوت سرویسها ۶۰ ثانیه میباشد.
جهت تطبیق کدملی و شماره موبایل میتوانید از سرویس زیر استفاده نمایید.
Address:
{{base_url}}/api/authorize-shahkar
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
| Content-Type | application/json |
URL PARAMETERS:
| Parameter | Value |
| mobile | موبایل کاربر |
| national_code | کد ملی |
Body (Successful):
HTTP 204-No Content
Body (Error):
{
"errorMessage": "اطلاعات وارد شده مطابقت ندارند.",
"errorCode": "DATA_MISMATCH"
}
جهت استعلام تعداد تردد پلاک در طرح آلودگی هوا می توانید از این سرویس استفاده نمایید.
Address:
{{base_url}}/api/car/{{license}}/third-party/tehran/air-pollution-data
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
| Content-Type | application/json |
URL PARAMETERS:
| Parameter | Value | Description |
| license | 9 Digit Plate Number |
پلاک طبق استاندارد پیوست 1 - ساختار پلاک |
Body (Successful):
[
{
"year": 1401,
"season": 1,
"count": 0,
"lastBillingDate": "2022-05-12T00:00:00"
},
{
"year": 1401,
"season": 2,
"count": 0,
"lastBillingDate": "2022-05-12T00:00:00"
},
{
"year": 1401,
"season": 3,
"count": 0,
"lastBillingDate": "2022-05-12T00:00:00"
},
{
"year": 1401,
"season": 4,
"count": 0,
"lastBillingDate": "2022-05-12T00:00:00"
}
]
جهت استعلام سرویسهای ارائه شده توسط پلیس، میتوانید از این سرویس استفاده نمایید.
Address:
{{base_url}}/api/inquiry/POLICE_INQUIRY
HTTP Method:
GET
Headers:
| Header | Value |
| Accept | application/json |
| Authorization | Bearer {{token}} |
| Content-Type | application/json |
Query Parameters:
| Parameter | Value |
| inquiry_type |
|
| mobile | موبایل |
| national_code | کد ملی |
| reference_code |
Int64 توضیحات |
Body (Successful VEHICLE_DOCUMENT_STATUS_INQUIRY):
{
"success": true,
"error": false,
"result":
{
"plate_char": "ایران xx - xxx ل xx",
"card_print_date": "1402/02/12",
"card_status_title": "چاپ مجدد",
"card_postal_barcode": "xxxxxx",
"document_print_date": "1402/02/12",
"document_status_title": "صدور",
"document_postal_barcode": null
}
}
Body (Successful DRIVER_LICENSE_STATUS_INQUIRY):
{
"success": true,
"error": false,
"result":
{
"title": "پايه سوم, موتورسيكلت",
"barcode": "xxxxx",
"last_name": "xxxx",
"first_name": "xxxx",
"print_date": "1402/03/06",
"valid_years": "10",
"print_number": null,
"national_code": null,
"rahvar_status": "اسکن شده ناجي پاس"
}
}
Body (Successful DRIVER_LICENSE_NEGATIVE_POINT_INQUIRY):
{
"success": true,
"error": false,
"result":
{
"negative_point": "0",
"is_driving_allowed": true
}
}
Body (Successful LICENSE_PLATES_INQUIRY):
{
"success": true,
"error": false,
"result": [
{
"serial": "xxxx",
"license": "xxxx",
"separated": true,
"description": "شماره گذاري برداسکن",
"license_plate": "ایران xx - xxx م xx",
"separation_date": "2018-09-30 10:09:00"
},
{
"serial": "xxxx",
"license": "xxx",
"separated": true,
"description": "مرکز الغدير",
"license_plate": "ایران xx - xxx و xx",
"separation_date": "2022-10-23 13:48:24"
}
]
}