6.4 KiB
راهنمای فاز P2 — CRM حرفهای
این فاز قابلیتهای حرفهای فروش را روی پایه امن P0/P1 اضافه میکند. داشبوردهای نقشمحور حذف یا جایگزین نشدهاند و مسیر / همچنان پس از ورود، داشبورد مجاز کاربر را نمایش میدهد.
قابلیتهای تحویلشده
- داشبورد: حفظ داشبوردهای Admin/Supervisor/Agent، refresh دستی و دورهای، loading و error/retry واقعی، و ترجیحات شخصی ویجتها.
- فرصت فروش: چند پایپلاین و چند مرحله، برد کانبان، مجموع ارزش مرحله، ارزش وزنی، workspace جزئیات، تاریخچه مرحله، بستن موفق/ناموفق با دلیل و مبلغ نهایی، و optimistic locking با
version. - بهرهوری: جستوجوی سراسری scopeشده برای Lead/Deal/Company/Contact/Call، نماهای ذخیرهشده private/team/public، و ترجیحات اعلان و داشبورد.
- هوشمندی: امتیازدهی deterministic لید با breakdown و سطح cold/warm/hot، SLA برای اولین تماس، پیگیری و فرصت راکد، تشخیص idempotent و اعلان قابل mute.
- پیکربندی: اتوماسیون محدود و قابل audit برای ایجاد Task، اعلان و تغییر اولویت لید؛ triggerهای واقعی
lead_created،lead_scored،deal_stage_changedوsla_breached؛ سقف اجرا و event key ضدتکرار. - فیلد سفارشی: تعریف فیلد برای Lead/Deal/Company/Contact با نوعهای متنی، عددی، تاریخ، boolean و انتخابی؛ ذخیره typed و indexپذیر و کنترل visibility نقش.
- کیفیت و اسکریپت: strengths/improvement areas، acknowledgement کارشناس و پاسخ او، metadata اسکریپت شامل category/source/questions/disclosures/template و جستوجوی سروری.
- گزارش و اعلان: گزارش عملیات فروش شامل pipeline/forecast/won/SLA/task، فیلتر اعلان خواندهنشده و لینک ترجیحات.
مسیرهای UI
/داشبورد نقشمحور و صفحه پیشفرض/dealsبرد فرصتها/deals/{id}workspace فرصت و تاریخچه مرحله/operationsمرکز SLA، اتوماسیون، فیلد سفارشی و ترجیحات/reportsتب «عملیات فروش و SLA»/sales-scriptsاسکریپتهای توسعهیافته/quality-reviewsارزیابی و acknowledgement
جستوجوی سراسری در Header با Ctrl+K در دسترس است.
APIهای اصلی
| حوزه | Endpointهای اصلی |
|---|---|
| Pipeline | GET /api/pipelines, POST /api/pipelines, GET /api/pipelines/{id}/board, PATCH /api/deals/{id}/stage |
| Search/View | GET /api/global-search, GET/POST/DELETE /api/saved-views |
| Preferences | GET/PUT /api/workspace-preferences |
| Scoring/SLA | POST /api/leads/{id}/score, POST /api/leads/bulk-score, GET/POST /api/sla-rules, POST /api/sla/detect, PATCH /api/sla-breaches/{id}/resolve |
| Automation | GET/POST /api/automations, POST /api/automations/{id}/run, GET /api/automation-runs |
| Custom fields | GET/POST /api/custom-fields, GET/PUT /api/custom-field-values/{type}/{id} |
| QA | POST /api/quality-reviews/{id}/acknowledge |
| Reports | GET /api/reports/operations |
تمام endpointهای رکوردی مجوز و scope مالک/تیم را در backend اعمال میکنند. مخفیکردن کنترل در UI جایگزین authorization سرور نیست.
مجوزهای جدید
view_pipelines, manage_pipelines, move_deals, close_deals, manage_saved_views, share_team_views, use_global_search, score_leads, view_sla, manage_sla, manage_automations, view_automation_logs, manage_custom_fields, acknowledge_quality_reviews, manage_dashboard_preferences, manage_notification_preferences.
بعد از deploy این فرمان را اجرا کنید تا permissionهای جدید ساخته و نقشهای پیشفرض همگام شوند:
php artisan permissions:sync-defaults
Scheduler و عملیات
پایش SLA هر ۱۵ دقیقه در scheduler ثبت شده و از withoutOverlapping و event key یکتا استفاده میکند. اجرای دستی و idempotent:
php artisan sla:monitor
در production اجرای php artisan schedule:run در هر دقیقه الزامی است. اعلان SLA ترجیح notification_type=sla را رعایت میکند.
مهاجرت و rollback
پنج migration این فاز با prefixهای 030000 تا 034000 بهترتیب pipeline، preferences، scoring/SLA، automation/custom fields و QA/scripts را ایجاد میکنند.
پیش از migration از دیتابیس backup بگیرید:
php artisan migrate --force
php artisan permissions:sync-defaults
برای rollback کامل P2 در محیط کنترلشده، آخرین پنج migration را برگردانید:
php artisan migrate:rollback --step=5 --force
Rollback جدولها و ستونهای P2 را حذف میکند؛ در production بازیابی دادههای pipeline/history/custom fields باید از backup انجام شود. ابتدا روی staging تمرین شود.
کنترل کیفیت
cd backend
php artisan test
vendor\bin\pint --test
cd ..\frontend
npm run lint
npm run test:run
npm run build
npm run test:e2e
تست ProfessionalCrmP2Test scope تیم، بستن فرصت و version conflict، audit، search/view/preferences، scoring/SLA، idempotency اتوماسیون، typed custom field و acknowledgement QA را پوشش میدهد. تست کامپوننت rollback کانبان و خطای جستوجو و Playwright مسیر جستوجو تا جابهجایی فرصت را پوشش میدهند.
محدودیتهای عمدی
Automation یک DSL محدود است و PHP/SQL دلخواه اجرا نمیکند. actionهای مجاز فقط create_task، notify و set_lead_priority هستند. برای افزودن action جدید، validation، authorization، audit و تست idempotency همزمان توسعه داده شوند.