diff --git a/docs/external-integrations-reference.fa.html b/docs/external-integrations-reference.fa.html new file mode 100644 index 0000000..e3e32af --- /dev/null +++ b/docs/external-integrations-reference.fa.html @@ -0,0 +1,596 @@ + + +
+ ++ تمام یکپارچهسازیهای خروجی: کاربرد، زمان فعالشدن، نحوه احراز هویت، + رفتار retry، fallbackها و تمام متغیرهای محیطی. سرویسهای داخلی + (کپچا، دادههای پرسوجوی آفلاین) برای کاملبودن گنجانده شدهاند. +
+ + +
+ هر فایل تقصیر با فراخوانی "run-inquiries" آغاز میشود که بیمهنامه طرف مقصر
+ را از یک ارائهدهنده خارجی دریافت میکند. اینکه کدام ارائهدهنده واقعاً فراخوانی
+ میشود به سه عامل بستگی دارد: تنانت (CLIENT_ID)، نوع فایل
+ (THIRD_PARTY در مقابل CAR_BODY) و اینکه آیا حالت API زنده در تنظیمات سیستم
+ فعال است یا خیر. لایه دادههای پرسوجوی آفلاین در جلوی هر سه ارائهدهنده قرار دارد.
+
CLIENT_ID=8 (تنانت پارسیان/ESG) → مسیریابی به ESG /inquiry/policyByPlate یا /inquiry/policyByChassis./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/policyByChassis | جایگزین مبتنی بر VIN/شاسی برای پرسوجوی پلاک. توسط اندپوینتهای run-inquiries-vin فراخوانی میشود. از جستجوی شاسی ESG استفاده میکند (نه مسیر SandHub). بدنه: nationalCode، chassis. |
| POST | /inquiry/person | بررسی هویت شخصی. بدنه: nationalCode، birthDate (جلالی، نه میلادی). |
| POST | /inquiry/sheba | اعتبارسنجی شبا / حساب بانکی. |
+ ESG هر پاسخ را به صورت { success: boolean, data: … } میپیچد. یک بدنه success=false به یک خطای فارسی "استعلام در دسترس نیست" ترجمه میشود.
+ بررسی داده آفلاین-پرسوجو هنوز ابتدا اجرا میشود، قبل از هر فراخوانی 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 |