تمام یکپارچهسازیهای خروجی: کاربرد، زمان فعالشدن، نحوه احراز هویت، رفتار retry، fallbackها و تمام متغیرهای محیطی. سرویسهای داخلی (کپچا، دادههای پرسوجوی آفلاین) برای کاملبودن گنجانده شدهاند.
هر فایل تقصیر با فراخوانی "run-inquiries" آغاز میشود که بیمهنامه طرف مقصر
را از یک ارائهدهنده خارجی دریافت میکند. اینکه کدام ارائهدهنده واقعاً فراخوانی
میشود به سه عامل بستگی دارد: تنانت (CLIENT_ID)، نوع فایل
(THIRD_PARTY در مقابل CAR_BODY) و اینکه آیا حالت API زنده در تنظیمات سیستم
فعال است یا خیر. لایه دادههای پرسوجوی آفلاین در جلوی هر سه ارائهدهنده قرار دارد.
CLIENT_ID=8 (تنانت پارسیان/ESG) → برای پلاک به ESG /inquiry/policyByPlate و برای VIN/شاسی به مسیر دوعاملی /inquiry/carByChassis مسیریابی میشود./block-inquiry-tejarat (THIRD_PARTY) یا /block-inquiry-tejarat/badane (CAR_BODY).system_settings.externalApis.sandHubUseLiveApi = false (پیشفرض) → پاسخ mock برگردانده شود به جای انجام فراخوانیهای HTTP.CLIENT_ID=8 → ESG /inquiry/person و /inquiry/sheba./personal-inquiry/tejarat-no، /driver-license-check، /ownership، /sheba/sheba-tejaratno.اندپوینتهای SandHub فقط در مسیرهای قدیمی کد استفاده میشوند. تمام جریانهای فعال تقصیر V2+ از طریق ارائهدهندگان تجارت یا ESG میروند.
فناوران (apimanager.iraneit.com) پلتفرم ملی پرونده خسارت بیمه است.
پس از اینکه کارشناس خسارت ارزیابی خود را ارسال میکند، سیستم بهصورت خودکار
یک خسارت ساختاریافته را از طریق یک پروتکل چهار مرحلهای به فناوران ارسال میکند.
فناوران همچنین بهعنوان منبع جستجوی code-listها (انواع تصادف، اجزای خودرو،
کدهای شهر و غیره) در سراسر پلتفرم عمل میکند.
POST /EITAuthentication/GetAppToken با هدرهای appname + secret. هدر apptoken را برمیگرداند.POST /EITAuthentication/Login با هدرهای appToken + userName + password. هدر authenticationToken را برمیگرداند.fanavaran_auth_tokens) ذخیره میشود. تا نیمهشب Asia/Tehran معتبر است — اولین فراخوانی پس از ۰۰:۰۰ یک توکن تازه دریافت میکند.authenticationToken، CorpId، ContractId، Location — مختص تنانت، hardcoded به ازای هر کلید FANAVARAN_CLIENT.یک اثر انگشت پیکربندی (هش appName + secret + username + password + corpId + contractId + location) یک ورود تازه را زمانی که هر مدرکی تغییر کند، حتی قبل از نیمهشب، مجبور میکند.
POST /car/third-party-car-financial-claims. دادههای مالک، راننده، بیمه، وسیله نقلیه و تصادف را ارسال میکند. یک claimId و claimNo فناوران برمیگرداند که برای نمایش در پنل ذخیره میشوند.POST /car/third-party-car-financial-claims/{claimId}/dmg-cases. یک ورودی به ازای هر قطعه آسیبدیده با شناسه کامپوننت، شدت و قیمت. سقف: کل ≤ ۵۳،۰۰۰،۰۰۰ تومان.POST /car/third-party-car-financial-claims/{claimId}/files. اسناد، تصاویر car-capture و ویدیوها که با شناسه فایل ارجاع داده شدهاند.POST /car/third-party-car-financial-claims/{claimId}/expertise. متادیتای ارزیابی کارشناس (نقش کارشناس، تاریخ، نتیجه). ارسال را نهایی میکند.
هر چهار مرحله در مجموعه fanavaran_audit_logs با بدنه کامل درخواست/پاسخ، وضعیت HTTP، مدت زمان و کد ردیابی برای اشکالزدایی ثبت میشوند.
همه زیر https://apimanager.iraneit.com/BimeApiManager/api/BimeApi/v2.0/. نتایج روی دیسک (به ازای کلید مشتری) و در مجموعه MongoDB lookups کش میشوند. تنانت پارسیان قبل از درخواست API از DB میخواند؛ دیگران ابتدا به API میروند.
| کاربرد | مسیر |
|---|---|
| گزینههای dropdown برای accidentReason (نگاشت شده به شناسههای محلی) | /car/base-info/accident-causes |
| گزینههای accidentWay | /car/code-list/accident-report-type |
| طبقهبندی استفاده از وسیله نقلیه | /car/base-info/vehicle-use-types |
| روش پرداخت خسارت | /car/code-list/dmg-pay-method |
| گزینههای نوع گواهینامه | /car/base-info/driving-licence-types |
| طبقهبندی طرف مقصر | /car/code-list/accident-culprit-type |
| گزینههای محل بازرسی | /car/code-list/inspection-place |
| کدهای وضعیت کاهش قیمت | /car/code-list/drop-amount-status |
| کاتالوگ کامپوننت (نگاشت به قطعات بیرونی/داخلی) | /car/base-info/car-components |
| گزینههای شدت تصادف | /car/code-list/accident-level |
تطبیق INSURANCE_CORP_ID ← corpId فناوران | /common/code-list/insurance-corp |
| انتخابگرهای شهر/استان | /common/base-info/cities، /common/base-info/Provinces |
| دریافت بیمهنامه کامل بر اساس شناسه پس از استعلام | /car/third-party-car-policies/{policyId} |
| جستجوی وسیله نقلیه بر اساس VIN | /car/vehicles/inquiry-by-vin?vin=… |
| فهرست بیمهنامهها برای یک کد ملی | /common/Policies/inquiry-my-policies |
| دریافت رکورد مشتری بر اساس شناسه | /common/customers/{customerId} |
| جستجوی طرف بر اساس کد ملی + تاریخ تولد | /common/parties/inquiry-by-unique-identifier |
| توضیح | مکانیزم |
|---|---|
| ۳ تلاش، ۵۰۰ ms ← ۱۰۰۰ ms backoff نمایی در تمام فراخوانیهای HTTP. | Retry |
وقتی فناوران پیام فارسی "دوباره تلاش کنید" (یا tracking-code 500) برمیگرداند، یک مکث ۵ دقیقهای در سطح تنانت فعال میشود. تمام فراخوانیها در این پنجره بلافاصله 503 ServiceUnavailable دریافت میکنند — بدون فشار. | Backoff گذرا |
| در ۴۰۱، توکن از حافظه و MongoDB پاک میشود؛ فراخوانی بعدی GetAppToken + Login تازه را فعال میکند. | ابطال توکن |
| درخواستهای همزمان ورود برای همان تنانت به یک Promise در حال پرواز جمع میشوند. | حذف تکراری Inflight |
هر مرحله (GET_APP_TOKEN، LOGIN و هر چهار مرحله ارسال) در fanavaran_audit_logs با وضعیت STARTED / SUCCESS / FAILURE، هدرهای کامل، بدنه و مدت زمان نوشته میشود. | لاگ Audit |
| ۲۰–۳۰ ثانیه به ازای هر فراخوانی HTTP. | Timeout |
FANAVARAN_CLIENT)سه پروفایل تنانت از پیش تعیینشده وجود دارد. پروفایل فعال توسط متغیر محیطی FANAVARAN_CLIENT انتخاب میشود. هر پروفایل appName، secret، username، password، CorpId، ContractId و Location هدرهای خود را به علاوه پیشفرضهای payload (AccidentCityId و غیره) دارد.
| شرکت بیمه | کلید |
|---|---|
| بیمه پارسیان | parsian |
| بیمه تجارت نو | tejaratno |
| بیمه معلم | moallem |
INSURANCE_CORP_ID یک رشته عنوان نمایشی است (مثلاً "بیمه پارسیان") که در برابر فهرست زنده فناوران insurance-corp تطبیق داده میشود تا corpId عددی مورد استفاده در ارسالها را تولید کند. شناسه تطبیقیافته روی دیسک کش میشود.
SandHub درگاه پرسوجوی اصلی است. هنوز در کدبیس حضور دارد اما تمام جریانهای
فعال تقصیر (V2+) به ارائهدهنده پرسوجوی تجارت منتقل شدهاند. اندپوینتهای
SandHub قابل فراخوانی هستند اما فقط از طریق مسیرهای قدیمی کد قابل دسترسی هستند.
حالت mock آن توسط همان تنظیم سیستم sandHubUseLiveApi کنترل میشود.
POST {SANHUB_BASE_URL}/user/login با بدنه JSON نام کاربری + رمز عبور.
توکن در حافظه برای ۵۵ دقیقه کش میشود. در ۴۰۱، توکن پاک میشود و یک تلاش مجدد انجام میشود.
۳ تلاش با ۱۰۰۰ ms ← ۲۰۰۰ ms backoff نمایی.
| متد | مسیر | توضیح |
|---|---|---|
| POST | /block-inquiry-tejarat | پرسوجوی بیمهنامه مبتنی بر پلاک (THIRD_PARTY). بدنه: leftTwoDigits، serialLetter، threeDigits، rightTwoDigits، nationalCode. |
| POST | /block-inquiry-tejarat/badane | پرسوجوی بیمهنامه CAR_BODY. Timeout ۵۰ ثانیه (طولانیتر از استاندارد). |
| POST | /personal-inquiry/tejarat-no | بررسی هویت شخصی. بدنه: nationalCode + birthDate میلادی (داخلی از جلالی تبدیل میشود). |
| POST | /driver-license-check | اعتبارسنجی گواهینامه. پرچم IsSucceed را برمیگرداند. |
| POST | /ownership | بررسی مالکیت وسیله نقلیه. پرچم IsSuccess را برمیگرداند. |
| POST | /sheba/sheba-tejaratno | اعتبارسنجی شبا / حساب بانکی. ReturnValue + HasError را برمیگرداند. |
تمام اندپوینتها پاسخهای mock کامل را زمانی که sandHubUseLiveApi=false در تنظیمات سیستم (پیشفرض) پشتیبانی میکنند. دادههای mock قطعی هستند و بهصورت محلی بدون هیچ فراخوانی HTTP تولید میشوند.
درگاه فعال block-inquiry برای تمام تنانتهای غیر ESG. در هر فراخوانی V2+
run-inquiries که CLIENT_ID ≠ 8 استفاده میشود.
URL پایه قابل پیکربندی است؛ در تولید به همان هاست SandHub اشاره میکند اما از
اعتبارنامههای جداگانه استفاده میکند.
POST {TEJARAT_INQUIRY_BASE_URL}/user/login با بدنه JSON ایمیل + رمز عبور.
توکن برای ۵۵ دقیقه کش میشود. ۲ تلاش با ۵۰۰ ms ← ۱۰۰۰ ms backoff.
جدا از اعتبارنامههای SandHub — از TEJARAT_INQUIRY_EMAIL / TEJARAT_INQUIRY_PASSWORD استفاده میکند.
| متد | مسیر | توضیح |
|---|---|---|
| POST | /block-inquiry-tejarat | پرسوجوی پلاک THIRD_PARTY. بدنه: فیلدهای پلاک + nationalCode. ابتدا داده آفلاین بررسی میشود. |
| POST | /block-inquiry-tejarat/badane | پرسوجوی پلاک CAR_BODY. بدنه: part1–part4 (عددی) + nationalCode. همیشه زنده میشود (mock برای مسیر badane وجود ندارد). |
وقتی sandHubUseLiveApi=false، مسیر THIRD_PARTY یک پاسخ mock بدون HTTP برمیگرداند. مسیر CAR_BODY همیشه API زنده را صرفنظر از این پرچم فراخوانی میکند.
ESG یک درگاه API بیمه داخلی است که منحصراً توسط تنانت پارسیان
(CLIENT_ID=8) استفاده میشود. برای تمام انواع پرسوجو زمانی که
این تنانت فعال است، جایگزین تجارت/SandHub میشود. شکل پاسخ متفاوتی دارد،
TTL توکن پویا دارد و تاریخ تولد را در فرمت جلالی انتظار دارد
(نه میلادی، برخلاف SandHub/تجارت).
POST {ESG_URL}/auth/login با بدنه JSON { username, password }.
TTL توکن از فیلد expiresIn پاسخ خوانده میشود (پیشفرض ۱۴ دقیقه).
۲ تلاش با ۵۰۰ ms ← ۱۰۰۰ ms backoff. در ۴۰۱، توکن پاک و یک تلاش مجدد.
URL پیشفرض: http://192.168.20.22:8085 (شبکه داخلی).
| متد | مسیر | توضیح |
|---|---|---|
| POST | /inquiry/policyByPlate | جستجوی بیمهنامه مبتنی بر پلاک (THIRD_PARTY). بدنه: nationalCode، plk1–plk4. پاسخ قبل از ذخیره به فرمت قدیمی تجارت نگاشت میشود. |
| POST | /inquiry/carByChassis | جایگزین دوعاملی VIN/شاسی برای استعلام پلاک. توسط اندپوینتهای run-inquiries-vin فراخوانی میشود. بدنه: nationalCode، chassisNo. مسیر تکعاملی policyByChassis استفاده نمیشود، چون فیلد nationalCode را نمیپذیرد. |
| POST | /inquiry/person | بررسی هویت شخصی. بدنه: nationalCode، birthDate (جلالی، نه میلادی). |
| POST | /inquiry/sheba | اعتبارسنجی شبا / حساب بانکی. |
ESG هر پاسخ را به صورت { success: boolean, data: … } میپیچد. در envelope نرمالشده خطا، بکاند مقدار error.messageFa را بدون تغییر به فراخواننده برمیگرداند؛ فیلدهای فنی مانند message، providerMessage و providerCode برای ثبت لاگ و دستهبندی حفظ میشوند. خطای کسبوکاری «یافت نشد» بهعنوان قطعی سرویس گزارش نمیشود.
بررسی داده آفلاین-پرسوجو هنوز ابتدا اجرا میشود، قبل از هر فراخوانی HTTP ESG.
دو ارائهدهنده پیامک پشتیبانی میشوند: کاوهنگار (پیشفرض)
و درگاه پیامک پارسیان. ارائهدهنده فعال توسط متغیر محیطی
SMS_PROVIDER (یا SMS) انتخاب میشود. هر دو ارائهدهنده
رابط درگاه داخلی یکسانی را پیادهسازی میکنند بنابراین لایه ارکستراسیون
مستقل از ارائهدهنده است.
| ارائهدهنده فعال | مقدار | متغیر محیطی |
|---|---|---|
کاوهنگار — api.kavenegar.com | kavenegar (پیشفرض) | SMS_PROVIDER (یا SMS) |
درگاه پیامک پارسیان — PARSIAN_SMS_URL | parsian | SMS_PROVIDER (یا SMS) |
URL پایه: https://api.kavenegar.com/v1/{SMS_API_KEY}/
| متد | مسیر | زمان استفاده |
|---|---|---|
| POST | sms/send.json | پیامهای متن ساده (مثلاً متنهای اطلاعرسانی مبتنی بر کلید ذخیرهشده در مجموعه sms_texts). |
| GET | verify/lookup.json | تمام پیامهای مبتنی بر قالب (OTPها، لینکهای دعوت، اطلاعرسانی کارشناس). پارامترها: receptor، token[، token2، token3، token10]، template. |
URL پایه از PARSIAN_SMS_URL. احراز هویت: هدر X-PACKAGE-API-KEY + Authorization: Basic {PARSIAN_BASIC_TOKEN}. بهصورت GET با پارامترهای URL-encoded ReceiverNumbers و Message ارسال میکند. پیامهای قالب قبل از ارسال به یک بدنه متن ساده پیشرندر میشوند (معادل verify/lookup ندارد).
| توکنها | ماشه | نام قالب |
|---|---|---|
token = کد OTP | ورود OTP کاربر / اکتور، فراموشی رمز، OTPهای طرف | AUTH_SMS_TEMPLATE (محیطی) |
token = publicId، token2 = لینک | طرف دوم لینک دعوت تقصیر را از طریق پیامک دریافت میکند | yara724-invite-link |
token = نوع فایل، token2 = نام خانوادگی کارشناس، token3 = لینک | کارشناس میدانی لینک را برای یک طرف ارسال میکند | yara-field-expert-link |
token = publicId، token2 = لینک | اطلاع به طرف که طرف دیگر با رأی کارشناس موافقت کرده است | yara-blame-agreement |
token = publicId، token2 = لینک | طرف زیاندیده مطلع میشود که جریان خسارت را پس از تکمیل تقصیر باز کند | yara-claim-link |
token = "تصادف"/"خسارت"، token2 = publicId، token3 = نام خانوادگی کارشناس | کارشناس یک فایل تقصیر یا خسارت را قفل میکند | yara-expert-lock |
token = نوع فایل، token2 = publicId، token3 = لینک | کارشناس درخواست ارسال مجدد اسناد میدهد | yara-resend-documents |
token = نوع فایل، token2 = publicId، token3 = نام خانوادگی کارشناس، token10 = لینک | طرف مطلع میشود که ارزیابی خسارت کارشناس را امضا کند | yara-signature |
token = publicId، token2 = claimId فناوران، token3 = claimNo فناوران | قالب قدیمی نگهداری شده است؛ ارسال خودکار پس از آخرین مرحله فناوران غیرفعال است | yara-fanavaran-claim |
تمام فراخوانیهای پیامک fire-and-forget هستند — هرگز throw نمیکنند. شکستها log میشوند اما جریان اصلی را مسدود نمیکنند.
یک مجموعه MongoDB sms_send_logs هر پیام خروجی را با نوع آن (OTP در مقابل TEMPLATE)، ارائهدهنده، نام قالب و وضعیت موفقیت/شکست ثبت میکند.
پیامهای متنی اطلاعرسانی (اختلاف طرفین، امضای یک طرف و غیره) در راهاندازی در مجموعه sms_texts seed میشوند و در زمان اجرا قابل ویرایش هستند.
یک سرویس تشخیص خسارت خودرو مبتنی بر تصویر در کدبیس یکپارچهسازی شده است اما
فراخوانیهای HTTP آن کاملاً comment شدهاند. ماژول در راهاندازی
مقداردهی اولیه میشود، تلاش برای ورود میکند (در صورت شکست به صورت خاموش
بلعیده میشود)، و یک متد aiRequestImage را expose میکند — اما
فراخوانیهای axios زیرین غیرفعال هستند. سرویس هیچ جریان تولیدی را تحت تأثیر
قرار نمیدهد.
| متد | مسیر | توضیح |
|---|---|---|
| POST | {AI_URL_V2}/auth/login | احراز هویت با نام کاربری + رمز عبور. accessToken را برمیگرداند. |
| GET | {AI_URL_V2}/auth/profile | دریافت apiKey.key مورد نیاز بهعنوان هدر درخواست gateway-api-key. |
| POST | {AI_URL_V2}/services/car-damage/detector?version=ai-v7 | ارسال تصویر قطعه خودرو (multipart). downloadLink با نتیجه حاشیهنویسیشده را برمیگرداند. |
وضعیت: هر سه فراخوانی در بلوکهای axios.request(…) comment-شده پیچیده شدهاند.
CW_URL در .env.example نیست. برای فعالسازی مجدد، فراخوانیهای axios login، getApiKey و aiRequestImage را uncomment کنید و AI_URL_V2، AI_USERNAME، AI_PASSWORD را پیکربندی کنید.
فقط در طول محاسبه کاهش قیمت کارشناس-خسارت استفاده میشود. وقتی یک کارشناس مقادیر شدت برای هر قطعه ارائه میدهد، سیستم قیمتهای بازار بلادرنگ برای مدل خودروی آسیبدیده را دریافت میکند، سپس کاهش قیمت را با استفاده از فرمول محاسبه میکند: قیمت خودرو × ضریب سال × مجموع ضرایب قطعات ÷ ۴۰۰. سرویس دو منبع داده (اندپوینت) دارد که بهصورت موازی امتحان میشوند.
| متد | مسیر | توضیح |
|---|---|---|
| GET | {CW_URL}price?akharin | دریافت قیمتهای بازار خودرو از منبع "آخرین". آرایه { carName, marketPrice } را برمیگرداند. |
| GET | {CW_URL}price?hamrah | دریافت قیمتهای بازار خودرو از منبع "همراه". همان شکل پاسخ. |
هر دو اندپوینت امتحان میشوند؛ نتایج ادغام و حذف تکراری میشوند. بهترین تطابق برای نام خودروی آسیبدیده با استفاده از فاصله Levenshtein (تطابق رشته فازی) پیدا میشود. اگر هر دو اندپوینت شکست بخورند یا خالی برگردانند، محاسبه کاهش قیمت رد میشود (ناقص علامتگذاری میشود) — ارسال خسارت را مسدود نمیکند.
CW_URL در .env.example مستندسازی نشده است.
این سرویس در صورت تنظیم نشدن متغیر، بهصورت خاموش هیچ کاهش قیمتی تولید نخواهد کرد.
لایه پرسوجوی آفلاین فراخوانیهای پرسوجوی مبتنی بر پلاک را قبل از اینکه هر HTTP خارجی انجام شود رهگیری میکند. عمدتاً برای توسعه و تست (پلاکهای شناختهشده از پیش seed شده) استفاده میشود اما همچنین بهعنوان fallback انعطافپذیری زمانی که سرویسهای پرسوجوی زنده در دسترس نیستند عمل میکند. توسط یک پرچم پایگاهداده زمان اجرا کنترل میشود، نه یک متغیر محیطی.
| جزئیات | جنبه |
|---|---|
مجموعه MongoDB offline-inquiries. اسناد شامل clientKey، فیلدهای نرمالشده پلاک، nationalCode و پاسخ از پیش ساختهشده raw + mapped برای برگرداندن هستند. | ذخیرهسازی |
system_settings.offlineInquiry.enabled — پیشفرض true. تغییر از طریق PATCH /super-admin/system-settings/offline-inquiry. | سوئیچ اصلی |
| پلاک نرمالشده (فقط ارقام، عربی→فارسی) + کد ملی + کلید مشتری فناوران باید همه مطابقت داشته باشند. اگر پیدا شد، بلافاصله برگردانده میشود؛ هیچ فراخوانی HTTP انجام نمیشود. | ترتیب جستجو |
فقط برای پرسوجوی block مبتنی بر پلاک (THIRD_PARTY) اعمال میشود. پرسوجوی CAR_BODY (/badane) همیشه API زنده را میزند. | محدوده |
system_settings.externalApis.sandHubUseLiveApi — وقتی false (پیشفرض)، حتی اگر هیچ داده آفلاینی مطابقت نداشته باشد، یک پاسخ mock داخلی برگردانده میشود به جای فراخوانی تجارت/ESG. | پرچم API زنده |
تمام متغیرهای محیطی در سراسر تمام یکپارچهسازیها، گروهبندیشده بر اساس سرویس.
متغیرهای علامتگذاریشده با * در .env.example وجود ندارند.
| شرح | متغیر |
|---|---|
کلید پروفایل تنانت فعال: parsian | tejaratno | moallem | FANAVARAN_CLIENT |
| عنوان نمایشی شرکت بیمهگر (مثلاً "بیمه پارسیان") — در راهاندازی در برابر فهرست insurance-corp فناوران به یک corpId عددی تطبیق داده میشود. | INSURANCE_CORP_ID |
اعتبارنامههای هر تنانت (appName، secret، username، password، CorpId، ContractId، Location) در src/core/config/fanavaran-client.config.ts زیر SEED_FANAVARAN_CLIENT_PROFILES hardcoded شدهاند.
| شرح | متغیر |
|---|---|
URL پایه برای SandHub. پیشفرض: http://82.99.202.245:3027 | SANHUB_BASE_URL |
URL کامل ورود (معمولاً base + /user/login) | SANHUB_URL_LOGIN |
| ایمیل ورود SandHub | SANHUB_USERNAME |
| رمز عبور ورود SandHub | SANHUB_PASSWORD |
| شرح | متغیر |
|---|---|
URL پایه. پیشفرض: http://82.99.202.245:3027 | TEJARAT_INQUIRY_BASE_URL |
| ایمیل ورود | TEJARAT_INQUIRY_EMAIL |
| رمز عبور ورود | TEJARAT_INQUIRY_PASSWORD |
| شرح | متغیر |
|---|---|
به 8 تنظیم کنید تا ارائهدهنده پرسوجوی ESG برای تنانت پارسیان فعال شود. | CLIENT_ID |
URL پایه ESG. پیشفرض: http://192.168.20.22:8085 (شبکه داخلی) | ESG_URL |
| نام کاربری ورود ESG | ESG_USERNAME |
| رمز عبور ورود ESG | ESG_PASSWORD |
| شرح | متغیر |
|---|---|
kavenegar (پیشفرض) یا parsian | SMS_PROVIDER (یا SMS) |
| کلید API کاوهنگار (الزامی وقتی provider = kavenegar) | SMS_API_KEY |
نام قالب کاوهنگار برای پیامهای OTP (مثلاً yara-otp) | AUTH_SMS_TEMPLATE |
| URL پایه درگاه پیامک پارسیان (الزامی وقتی provider = parsian) | PARSIAN_SMS_URL |
مقدار هدر پیامک پارسیان X-PACKAGE-API-KEY | PARSIAN_API_KEY |
اعتبارنامههای رمزگذاریشده Base64 برای هدر Authorization: Basic … | PARSIAN_BASIC_TOKEN |
| URL پایه فرانتاند — برای ساخت تمام لینکهای دعوت + خسارت تعبیهشده در پیامهای پیامک استفاده میشود | URL |
| شرح | متغیر |
|---|---|
URL پایه درگاه هوش مصنوعی. پیشفرض: https://ai-gw.ittalie.ir (استفاده نشده — سرویس غیرفعال است) | AI_URL_V2 |
| نام کاربری ورود سرویس هوش مصنوعی (استفاده نشده) | AI_USERNAME |
| رمز عبور ورود سرویس هوش مصنوعی (استفاده نشده) | AI_PASSWORD |
| شرح | متغیر |
|---|---|
URL پایه برای API قیمت بازار خودرو (مثلاً https://…/). در .env.example نیست. کاهش قیمت بهصورت خاموش رد میشود اگر تنظیم نشده باشد. | CW_URL * |
| شرح | متغیر |
|---|---|
| پورت HTTP (پیشفرض ۳۰۰۰). توسط fallback insurance-corp فناوران برای فراخوانی اندپوینت جستجوی محلی خودش استفاده میشود. | PORT |
true / false — چالش کپچای ورود را فعال/غیرفعال میکند. داخلی، بدون سرویس خارجی. | CAPTCHA_ENABLED |
| TTL چالش کپچا به دقیقه. | EXP_CAPTCHA_TIME |
| TTL کد یکبار مصرف به دقیقه. | EXP_OTP_TIME |