Fixing Excel login error
@@ -2,23 +2,37 @@ import { BadRequestException } from '@nestjs/common';
|
||||
import ExcelJS from 'exceljs';
|
||||
|
||||
export function cellStr(value: ExcelJS.CellValue | undefined): string {
|
||||
if (value == null) return '';
|
||||
if (typeof value === 'string' || typeof value === 'number') {
|
||||
return String(value).trim();
|
||||
try {
|
||||
if (value == null) return '';
|
||||
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
||||
return String(value).trim();
|
||||
}
|
||||
if (value instanceof Date) {
|
||||
return Number.isNaN(value.getTime()) ? '' : value.toISOString();
|
||||
}
|
||||
if (typeof value === 'object' && 'richText' in value && Array.isArray(value.richText)) {
|
||||
return value.richText.map((part) => part?.text ?? '').join('').trim();
|
||||
}
|
||||
if (typeof value === 'object' && 'text' in value && typeof value.text === 'string') {
|
||||
return value.text.trim();
|
||||
}
|
||||
if (typeof value === 'object' && 'result' in value && value.result != null) {
|
||||
const result = value.result;
|
||||
if (typeof result === 'string' || typeof result === 'number' || typeof result === 'boolean') {
|
||||
return String(result).trim();
|
||||
}
|
||||
if (result instanceof Date) {
|
||||
return Number.isNaN(result.getTime()) ? '' : result.toISOString();
|
||||
}
|
||||
return '';
|
||||
}
|
||||
if (typeof value === 'object' && 'error' in value && value.error != null) {
|
||||
return String(value.error).trim();
|
||||
}
|
||||
return '';
|
||||
} catch {
|
||||
return '';
|
||||
}
|
||||
if (typeof value === 'object' && 'richText' in value && Array.isArray(value.richText)) {
|
||||
return value.richText.map((part) => part.text).join('').trim();
|
||||
}
|
||||
if (typeof value === 'object' && 'text' in value && typeof value.text === 'string') {
|
||||
return value.text.trim();
|
||||
}
|
||||
if (typeof value === 'object' && 'result' in value && value.result != null) {
|
||||
return String(value.result).trim();
|
||||
}
|
||||
if (value instanceof Date) {
|
||||
return value.toISOString();
|
||||
}
|
||||
return String(value).trim();
|
||||
}
|
||||
|
||||
export function normalizeHeader(raw: string) {
|
||||
@@ -182,7 +196,17 @@ export async function workbookFromUpload(file: Express.Multer.File | undefined)
|
||||
throw new BadRequestException('فایل اکسل انتخاب نشده است');
|
||||
}
|
||||
const wb = new ExcelJS.Workbook();
|
||||
await wb.xlsx.load(Uint8Array.from(file.buffer) as unknown as ExcelJS.Buffer);
|
||||
try {
|
||||
// Pass Node Buffer directly — Uint8Array copies can break ExcelJS on some runtimes.
|
||||
await wb.xlsx.load(file.buffer as unknown as ExcelJS.Buffer);
|
||||
} catch (err) {
|
||||
const detail = err instanceof Error ? err.message : '';
|
||||
throw new BadRequestException(
|
||||
detail.includes('central directory') || detail.includes('zip')
|
||||
? 'فایل اکسل نامعتبر است. فقط فرمت .xlsx پشتیبانی میشود (نه .xls یا csv).'
|
||||
: 'خواندن فایل اکسل ناموفق بود. فایل را با فرمت .xlsx ذخیره کنید و دوباره تلاش کنید.',
|
||||
);
|
||||
}
|
||||
const sheet = wb.worksheets[0];
|
||||
if (!sheet) throw new BadRequestException('شیت اکسل پیدا نشد');
|
||||
return sheet;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
BadRequestException,
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
@@ -14,6 +15,7 @@ import {
|
||||
UseInterceptors,
|
||||
} from '@nestjs/common';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { memoryStorage } from 'multer';
|
||||
import type { Response } from 'express';
|
||||
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
|
||||
import { CurrentUser } from '../auth/current-user.decorator';
|
||||
@@ -23,6 +25,11 @@ import { CreateCompanyDto, ListQueryDto, UpdateCompanyDto } from './dto';
|
||||
import { ContactsExcelService } from './contacts-excel.service';
|
||||
import { brand } from '@mento/shared';
|
||||
|
||||
const excelUpload = FileInterceptor('file', {
|
||||
storage: memoryStorage(),
|
||||
limits: { fileSize: 15_000_000 },
|
||||
});
|
||||
|
||||
@Controller('companies')
|
||||
@UseGuards(JwtAuthGuard)
|
||||
export class CompaniesController {
|
||||
@@ -57,18 +64,24 @@ export class CompaniesController {
|
||||
}
|
||||
|
||||
@Post('import/preview')
|
||||
@UseInterceptors(FileInterceptor('file'))
|
||||
previewImport(@UploadedFile() file: Express.Multer.File) {
|
||||
@UseInterceptors(excelUpload)
|
||||
previewImport(@UploadedFile() file?: Express.Multer.File) {
|
||||
if (!file?.buffer?.length) {
|
||||
throw new BadRequestException('فایل ارسال نشده');
|
||||
}
|
||||
return this.excelService.previewCompanies(file);
|
||||
}
|
||||
|
||||
@Post('import')
|
||||
@UseInterceptors(FileInterceptor('file'))
|
||||
@UseInterceptors(excelUpload)
|
||||
import(
|
||||
@CurrentUser() user: Actor,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@UploadedFile() file?: Express.Multer.File,
|
||||
@Body('mapping') mapping?: string,
|
||||
) {
|
||||
if (!file?.buffer?.length) {
|
||||
throw new BadRequestException('فایل ارسال نشده');
|
||||
}
|
||||
return this.excelService.importCompanies(user, file, mapping);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import {
|
||||
BadRequestException,
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
@@ -14,6 +15,7 @@ import {
|
||||
UseInterceptors,
|
||||
} from '@nestjs/common';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { memoryStorage } from 'multer';
|
||||
import type { Response } from 'express';
|
||||
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
|
||||
import { CurrentUser } from '../auth/current-user.decorator';
|
||||
@@ -25,6 +27,11 @@ import { PeopleService } from './people.service';
|
||||
import { ContactsExcelService } from './contacts-excel.service';
|
||||
import { brand } from '@mento/shared';
|
||||
|
||||
const excelUpload = FileInterceptor('file', {
|
||||
storage: memoryStorage(),
|
||||
limits: { fileSize: 15_000_000 },
|
||||
});
|
||||
|
||||
@Controller('people')
|
||||
@UseGuards(JwtAuthGuard, OrgModuleGuard)
|
||||
@RequireOrgModule('customers')
|
||||
@@ -61,20 +68,24 @@ export class PeopleController {
|
||||
}
|
||||
|
||||
@Post('import/preview')
|
||||
@UseInterceptors(FileInterceptor('file'))
|
||||
previewImport(
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
) {
|
||||
@UseInterceptors(excelUpload)
|
||||
previewImport(@UploadedFile() file?: Express.Multer.File) {
|
||||
if (!file?.buffer?.length) {
|
||||
throw new BadRequestException('فایل ارسال نشده');
|
||||
}
|
||||
return this.excelService.previewPeople(file);
|
||||
}
|
||||
|
||||
@Post('import')
|
||||
@UseInterceptors(FileInterceptor('file'))
|
||||
@UseInterceptors(excelUpload)
|
||||
import(
|
||||
@CurrentUser() user: Actor,
|
||||
@UploadedFile() file: Express.Multer.File,
|
||||
@UploadedFile() file?: Express.Multer.File,
|
||||
@Body('mapping') mapping?: string,
|
||||
) {
|
||||
if (!file?.buffer?.length) {
|
||||
throw new BadRequestException('فایل ارسال نشده');
|
||||
}
|
||||
return this.excelService.importPeople(user, file, mapping);
|
||||
}
|
||||
|
||||
|
||||
@@ -305,6 +305,31 @@ def parse_table(lines: list[str], start: int) -> tuple[list[str], list[list[str]
|
||||
return header, rows, i
|
||||
|
||||
|
||||
def add_image(doc, path: Path, caption: str = ""):
|
||||
if not path.exists():
|
||||
add_quote(doc, f"(عکس پیدا نشد: {path.name})")
|
||||
return
|
||||
p = doc.add_paragraph()
|
||||
set_paragraph_rtl(p, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=4, space_before=8)
|
||||
run = p.add_run()
|
||||
# Keep screenshots readable on A4 without overflowing margins.
|
||||
run.add_picture(str(path), width=Cm(16.5))
|
||||
if caption:
|
||||
cap = doc.add_paragraph()
|
||||
set_paragraph_rtl(cap, align=WD_ALIGN_PARAGRAPH.CENTER, space_after=10)
|
||||
run = cap.add_run(caption)
|
||||
set_run_font(run, 11, color=MUTED)
|
||||
|
||||
|
||||
IMG_RE = re.compile(r"^!\[([^\]]*)\]\(([^)]+)\)$")
|
||||
|
||||
|
||||
def resolve_image_path(md_path: Path, rel: str) -> Path:
|
||||
raw = rel.strip()
|
||||
candidate = (md_path.parent / raw).resolve()
|
||||
return candidate
|
||||
|
||||
|
||||
def convert(md_path: Path, docx_path: Path, header_text: str, footer_text: str):
|
||||
if not md_path.exists():
|
||||
raise FileNotFoundError(md_path)
|
||||
@@ -345,6 +370,12 @@ def convert(md_path: Path, docx_path: Path, header_text: str, footer_text: str):
|
||||
i += 1
|
||||
continue
|
||||
|
||||
img = IMG_RE.match(stripped)
|
||||
if img:
|
||||
add_image(doc, resolve_image_path(md_path, img.group(2)), img.group(1).strip())
|
||||
i += 1
|
||||
continue
|
||||
|
||||
if stripped.startswith("# "):
|
||||
add_heading(doc, stripped[2:], 1)
|
||||
i += 1
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
# محتوای لندینگ مُنتَکت (Montact CRM)
|
||||
|
||||
> **منبع:** دادههای واقعی از `packages/shared/src/brand.ts`، `packages/shared/src/index.ts` (پلن و ماژولها)، `apps/web/src/lib/nav-hubs.ts`، `docs/قابلیتهای-منتکت.md`، `docs/راهنما-و-نقشه-راه.md`
|
||||
> **پنل زنده:** `https://crm.montzar.ir`
|
||||
> **تاریخ استخراج:** ۱۴۰۴/۰۷/۰۹
|
||||
|
||||
---
|
||||
|
||||
## ۱) هیرو سکشن
|
||||
|
||||
**عنوان (FA):** مُنتَکت
|
||||
**عنوان (EN):** Montact CRM
|
||||
**زیرعنوان:** نرمافزار مدیریت ارتباط با مشتری
|
||||
**شرکت:** Mentech
|
||||
|
||||
**تیتر پیشنهادی لندینگ:**
|
||||
CRM فروش و پشتیبانی برای تیمهای ایرانی — از سرنخ تا فاکتور، در یک پنل.
|
||||
|
||||
**متن کوتاه (۲–۳ خط):**
|
||||
مُنتَکت دفتر کار دیجیتال فروش شماست: مشتری و لید، کاریز معامله، کار روزانه، گفتگو و پشتیبانی، گزارش و اتوماسیون — با تاریخ شمسی، پیامک و رابط موبایل.
|
||||
|
||||
**دکمهها:**
|
||||
| دکمه | مقصد |
|
||||
|---|---|
|
||||
| ورود / شروع | `https://crm.montzar.ir` |
|
||||
| ثبتنام سازمان | همان دامنه → ثبتنام با OTP موبایل |
|
||||
|
||||
**آمار کوتاه (قابل نمایش در هیرو):**
|
||||
| عدد | معنی |
|
||||
|---|---|
|
||||
| ۳۴+ | ماژول/قابلیت قابل فعالسازی برای هر سازمان |
|
||||
| ۴ | نقش تیم: مالک، مدیر، فروش، پشتیبانی |
|
||||
| ۱۵ روز | دوره دمو رسمی (`trial`) |
|
||||
|
||||
---
|
||||
|
||||
## ۲) درباره CRM (مُنتَکت چیست؟)
|
||||
|
||||
**تعریف یک پارagraph:**
|
||||
مُنتَکت یک CRM **فروشمحور و پشتیبانیمحور** برای کسبوکارهای ایرانی است. حلقهٔ اصلی محصول این است:
|
||||
|
||||
```text
|
||||
سرنخ → شخص / شرکت → معامله در کاریز → فعالیت و یادداشت هوشمند → فاکتور و پیشفاکتور → پس از فروش (تیکت، پرتال، وفاداری)
|
||||
```
|
||||
|
||||
**برای چه کسبوکارهایی مناسب است؟**
|
||||
فروش B2B/B2C، تیمهای چندنفره، و کسبوکارهایی که به **پیگیری منظم مشتری**، **کاریز فروش** و **پشتیبانی بعد از فروش** نیاز دارند — از جمله حوزه **طلا و جواهر** با اتصال **تهحساب**.
|
||||
|
||||
**تمایز کلی (یک جمله):**
|
||||
هویت بصری مستقل، تمرکز روی ثبت سریع اطلاعات (Smart Notes) و دستیار هوشمند روی پرونده مشتری — نه فقط جدول و فرم.
|
||||
|
||||
**فاز محصول (از نقشه راه):**
|
||||
هسته فاز ۱ (فروش، Smart Notes، مالی سبک، پشتیبانی، گزارش، یکپارچگیها) **پیادهسازی شده**؛ لندینگ بازاریابی Nuxt عمداً بعد از ثبات محصول آماده میشود (`apps/landing` فعلاً خالی است).
|
||||
|
||||
---
|
||||
|
||||
## ۳) کیفیت و قابلیتها (حداکثر ۱۰ مورد — اولویت بالا)
|
||||
|
||||
| # | قابلیت | توضیح یکخطی برای لندینگ |
|
||||
|---|---|---|
|
||||
| 1 | **کاریز فروش (Kanban)** | معاملات را بین مراحل بکشید؛ چند قیف فروش برای یک سازمان. |
|
||||
| 2 | **اشخاص و شرکتها** | دفترچه مشتری با جستجو، ضدتکراری، اکسل و فیلد سفارشی. |
|
||||
| 3 | **مدیریت لیدها** | لید جدا از مشتری؛ ایمپورت اکسل، تخصیص، کاریز لید، تبدیل به مشتری. |
|
||||
| 4 | **فرمساز سرنخ** | فرم عمومی با لینک، iframe و QR برای جذب سرنخ. |
|
||||
| 5 | **Smart Notes و Montact Memory** | یادداشت سریع روی پرونده + خلاصه پایدار مشتری با منبع. |
|
||||
| 6 | **Ask Montact** | پرسش به زبان طبیعی از روی یادداشتها و زمینه پرونده. |
|
||||
| 7 | **فعالیت و تقویم شمسی** | تماس، جلسه، وظیفه؛ یادآور با اعلان و پیامک. |
|
||||
| 8 | **پیشفاکتور و فاکتور** | پیشنهاد قیمت، صدور فاکتور، پرداخت و اقساط سبک. |
|
||||
| 9 | **تیکت و پرتال مشتری** | پشتیبانی داخلی + ورود مشتری با OTP در `/p/:slug`. |
|
||||
| 10 | **اتوماسیون و پیامک گروهی** | قوانین اگر/آنگاه + کمپین پیامک به مخاطبان انتخابشده. |
|
||||
|
||||
**یکپارچگیهای مکمل (برای سکشن فرعی یا accordion، نه لزوماً در ۱۰ تای بالا):** تهحساب (طلا و جواهر)، ووکامرس، VoIP و خلاصه تماس با AI، API و وبهوک، گفتگو (`conversations`).
|
||||
|
||||
---
|
||||
|
||||
## ۴) نقاط قوت (حداکثر ۱۰ مورد — اولویت بالا)
|
||||
|
||||
| # | نقطه قوت | چرا برای لندینگ مهم است |
|
||||
|---|---|---|
|
||||
| 1 | **بومی و فارسی** | RTL، تاریخ جلالی، جداکننده هزارگان مبلغ، OTP/پیامک. |
|
||||
| 2 | **پرونده یکپارچه مشتری** | شخص/شرکت، معامله، یادداشت، فعالیت و تایملاین در یک جا. |
|
||||
| 3 | **کمکردن اصطکاک ثبت** | Smart Notes شبیه یادداشت سریع؛ کمتر وابسته به فرمهای سنگین. |
|
||||
| 4 | **AI عملی، نه نمایشی** | Memory، Ask، پیشنهاد اقدام با تأیید کاربر، Voice-to-Text. |
|
||||
| 5 | **تیم واقعی فروش/پشتیبانی** | نقشها و محدودیت دید پرونده برای کارشناس vs مدیر. |
|
||||
| 6 | **چندمحیطی (multi-tenant)** | هر سازمان فضای جدا؛ اشتراک روی مالک حساب. |
|
||||
| 7 | **ماژولار** | بیش از ۳۰ ماژول — فعالسازی متناسب با نیاز سازمان. |
|
||||
| 8 | **موبایلفرندلی** | منوی کشویی و لیست کارتمحور برای کار میدانی. |
|
||||
| 9 | **تمایز صنف طلا و جواهر** | اتصال تهحساب: مانده، اسناد و ثبت سند از CRM. |
|
||||
| 10 | **قابل استقرار اختصاصی** | monorepo (Vue + NestJS + PostgreSQL) — مناسب نصب روی سرور خودتان. |
|
||||
|
||||
---
|
||||
|
||||
## ۵) تعرفهها و قیمت
|
||||
|
||||
> **وضعیت در کد:** مدت و سقف محیط برای هر پلن تعریف شده؛ **مبلغ ریالی/تومانی در مخزن ثبت نشده** (فعالسازی دستی از پنل `/adm`؛ درگاه پرداخت در فاز بعد).
|
||||
|
||||
### پلنهای اشتراک (از `@mento/shared`)
|
||||
|
||||
| کد پلن | نام نمایشی | مدت پیشفرض | حداکثر محیط (سازمان) پیشفرض |
|
||||
|---|---|---|---|
|
||||
| `trial` | دمو ۱۵ روزه | ۱۵ روز | ۱ |
|
||||
| `monthly` | ماهانه | ۳۰ روز | ۳ |
|
||||
| `quarterly` | سهماهه | ۹۰ روز | ۵ |
|
||||
| `semiannual` | ششماهه | ۱۸۰ روز | ۱۰ |
|
||||
| `yearly` | یکساله | ۳۶۵ روز | ۲۰ |
|
||||
| `custom` | سفارشی | تاریخ پایان دستی | طبق تنظیم |
|
||||
|
||||
### پیشنهاد کپی لندینگ (بدون عدد قیمت)
|
||||
|
||||
- **شروع:** «۱۵ روز دمو رایگان» — ثبتنام با موبایل و ساخت اولین سازمان.
|
||||
- **بعد از دمو:** تماس برای پلن ماهانه / فصلی / سالانه و فعالسازی ماژولها.
|
||||
- **CTA:** «قیمت و پکیج ماژولها را بگیرید» → فرم تماس یا واتساپ (خارج از مخزن).
|
||||
|
||||
*(وقتی مبلغ نهایی تعیین شد، همین جدول را با ستون «قیمت» تکمیل کنید.)*
|
||||
|
||||
---
|
||||
|
||||
## ۶) مشتریان من (نمایش روی لندینگ)
|
||||
|
||||
> **وضعیت در مخزن:** فهرست، لوگو یا نظر مشتریان واقعی **در پروژه ذخیره نشده** (داده عملیاتی داخل دیتابیس production است، نه در git).
|
||||
> برای این سکشن باید از تیم فروش/پشتیبانی نام شرکتها، لوگو (با اجازه) و یک جمله نتیجه را جمع کنید.
|
||||
|
||||
**الگوی placeholder (تا دیتای واقعی بیاید):**
|
||||
|
||||
| نام سازمان | حوزه | یک جمله نتیجه |
|
||||
|---|---|---|
|
||||
| *(مثال: فروشگاه …)* | *(مثلاً طلا و جواهر)* | *(مثلاً «پیگیری معاملات و مانده تهحساب روی یک پرونده»)* |
|
||||
| … | … | … |
|
||||
|
||||
**آنچه در محصول برای «مشتری نهایی» پشتیبانی میشود (برای متن سکشن، نه جایگزین لوگو):**
|
||||
پرتال OTP، تیکت، FAQ و CSAT — مشتری شما بدون ورود به پنل داخلی با موبایل وارد میشود.
|
||||
|
||||
---
|
||||
|
||||
## منابع برای بهروزرسانی
|
||||
|
||||
| موضوع | فایل |
|
||||
|---|---|
|
||||
| برند و شعار | `packages/shared/src/brand.ts` |
|
||||
| پلن اشتراک | `packages/shared/src/index.ts` → `BILLING_PLAN_*` |
|
||||
| برچسب ماژولها | `ORG_MODULE_LABELS` در همان فایل |
|
||||
| توضیح منو/هاب | `apps/web/src/lib/nav-hubs.ts` |
|
||||
| فهرست کامل قابلیت | `docs/قابلیتهای-منتکت.md` |
|
||||
| فلسفه محصول | `docs/راهنما-و-نقشه-راه.md` |
|
||||
@@ -0,0 +1,34 @@
|
||||
# راهنمای تصویری مُنتَکت
|
||||
|
||||
نسخهٔ کامل متنی:
|
||||
|
||||
→ [`../راهنمای-کاربری.md`](../راهنمای-کاربری.md)
|
||||
|
||||
نسخهٔ Word:
|
||||
|
||||
→ [`../راهنمای-کاربری.docx`](../راهنمای-کاربری.docx)
|
||||
|
||||
## فهرست عکسها
|
||||
|
||||
| فایل | موضوع |
|
||||
|---|---|
|
||||
| `images/01-dashboard-desktop.png` | داشبورد دسکتاپ |
|
||||
| `images/02-contacts-people.png` | اشخاص |
|
||||
| `images/03-pipeline-desktop.png` | کاریز فروش |
|
||||
| `images/04-conversations-desktop.png` | گفتگو |
|
||||
| `images/05-reports-desktop.png` | گزارشها |
|
||||
| `images/06-dashboard-mobile.png` | داشبورد موبایلوار |
|
||||
| `images/07-contacts-companies.png` | شرکتها |
|
||||
| `images/08-leads-list.png` | فهرست لیدها |
|
||||
| `images/09-leads-board.png` | کاریز لیدها |
|
||||
| `images/10-activities.png` | میز کار |
|
||||
| `images/11-calendar.png` | تقویم |
|
||||
| `images/12-notes.png` | یادداشتها |
|
||||
| `images/13-tickets.png` | تیکتها |
|
||||
| `images/14-loyalty.png` | باشگاه مشتریان |
|
||||
| `images/15-sms-campaigns.png` | پیامک گروهی |
|
||||
| `images/16-automations.png` | اتوماسیون گردش کار |
|
||||
| `images/17-message-automations.png` | اتوماسیون پیامک |
|
||||
| `images/18-settings-team.png` | تنظیمات تیم |
|
||||
| `images/19-products.png` | محصولات |
|
||||
| `images/20-projects.png` | کاریز پروژه |
|
||||
|
After Width: | Height: | Size: 315 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 99 KiB |
|
After Width: | Height: | Size: 111 KiB |
|
After Width: | Height: | Size: 101 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 164 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 81 KiB |
@@ -1,321 +1,495 @@
|
||||
# راهنمای کاربری منتکت (Montact CRM)
|
||||
# راهنمای کامل کاربری مُنتَکت (Montact)
|
||||
|
||||
**نسخه راهنما:** هماهنگ با محصول روی `https://crm.montzar.ir` (بهروز ۱۴ شهریور ۱۴۰۵)
|
||||
**مخاطب:** همکاران فروش، پشتیبانی و مدیران — با یا بدون تجربه CRM.
|
||||
|
||||
اسناد مرتبط: [`قابلیتهای-منتکت.md`](قابلیتهای-منتکت.md) · [`وضعیت-پیشرفت.md`](وضعیت-پیشرفت.md)
|
||||
**مخاطب:** همه همکاران — فروش، پشتیبانی، مدیر و مالک
|
||||
**زبان:** خیلی ساده، بدون اصطلاح تخصصی
|
||||
**نسخه:** هماهنگ با پنل روی `https://crm.montzar.ir`
|
||||
**عکسها:** پوشه [`user-guide/images`](user-guide/images)
|
||||
|
||||
---
|
||||
|
||||
## فهرست مطالب
|
||||
## این راهنما چطور خوانده شود؟
|
||||
|
||||
1. [این راهنما چیست؟](#این-راهنما-چیست)
|
||||
2. [منتکت چیست؟](#منتکت-چیست-به-زبان-خیلی-ساده)
|
||||
3. [آدرسها و حسابهای دمو](#آدرسها-و-حسابهای-دمو)
|
||||
4. [شروع خیلی ساده](#شروع-خیلی-ساده-۱۰-دقیقه)
|
||||
5. [منوی کناری](#منوی-کناری-و-ساختار-صفحه)
|
||||
6. [ورود، ثبتنام، نقشها و تیم](#۱-ورود-ثبتنام-نقشها-و-تیم)
|
||||
7. [خانه امروز](#۲-خانه-امروز)
|
||||
8. [اشخاص و شرکتها](#۳-اشخاص-و-شرکتها)
|
||||
9. [کاریز فروش](#۴-کاریز-فروش-معاملات)
|
||||
10. [فعالیتها و تقویم](#۵-فعالیتها-و-تقویم)
|
||||
11. [یادداشتهای هوشمند](#۶-یادداشتهای-هوشمند-smart-notes)
|
||||
12. [تایملاین و اعلانها](#۷-تایملین-و-اعلانها)
|
||||
13. [محصولات و مبلغها](#۸-محصولات-و-مبلغها)
|
||||
14. [پیشفاکتور و فاکتور](#۹-پیشفاکتور-و-فاکتور)
|
||||
15. [هدف و گزارش فروش](#۱۰-هدف-و-گزارش-فروش)
|
||||
16. [تیکت و پرتال مشتری](#۱۱-تیکت-و-پرتال-مشتری)
|
||||
17. [کاریز پروژه و باشگاه](#۱۲-کاریز-پروژه-و-باشگاه)
|
||||
18. [اتوماسیون و فرمساز سرنخ](#۱۳-اتوماسیون-و-فرمساز-سرنخ)
|
||||
19. [تنظیمات سازمان](#۱۴-تنظیمات-سازمان)
|
||||
20. [تهحساب (طلا و جواهر)](#۱۵-تهحساب-طلا-و-جواهر)
|
||||
21. [کار روی موبایل](#۱۶-کار-روی-موبایل)
|
||||
22. [سناریوهای روزمره](#۱۷-سناریوهای-روزمره)
|
||||
23. [مشکلات رایج](#۱۸-مشکلات-رایج)
|
||||
24. [برای مسئول فنی](#برای-مسئول-فنی-کوتاه)
|
||||
1. اگر تازهواردید: از **ورود** و **منو** شروع کنید.
|
||||
2. بعد بخش **داشبورد** را کامل بخوانید.
|
||||
3. بعد از روی منو، یکییکی جلو بروید.
|
||||
4. در هر بخش، تفاوت **دسکتاپ** و **موبایل** جدا آمده است.
|
||||
|
||||
> **دسکتاپ** یعنی کامپیوتر یا لپتاپ با صفحهٔ عریض.
|
||||
> **موبایل** یعنی گوشی یا صفحهٔ باریک.
|
||||
|
||||
---
|
||||
|
||||
## این راهنما چیست؟
|
||||
## فهرست
|
||||
|
||||
به زبان ساده میگوید منتکت چیست، کجا بروید، چه دکمهای بزنید و نتیجه چه میشود.
|
||||
اگر تازهکارید از **شروع خیلی ساده** شروع کنید.
|
||||
1. [ورود به سیستم](#۱-ورود-به-سیستم)
|
||||
2. [نمای کلی صفحه (منو و نوار بالا)](#۲-نمای-کلی-صفحه-منو-و-نوار-بالا)
|
||||
3. [داشبورد](#۳-داشبورد)
|
||||
4. [مشتریان](#۴-مشتریان)
|
||||
5. [لیدها](#۵-لیدها)
|
||||
6. [فروش](#۶-فروش)
|
||||
7. [کارها و فعالیتها](#۷-کارها-و-فعالیتها)
|
||||
8. [گفتگو](#۸-گفتگو)
|
||||
9. [یادداشتها](#۹-یادداشتها)
|
||||
10. [پشتیبانی](#۱۰-پشتیبانی)
|
||||
11. [باشگاه مشتریان](#۱۱-باشگاه-مشتریان)
|
||||
12. [گزارشها](#۱۲-گزارشها)
|
||||
13. [اتوماسیون و پیامک گروهی](#۱۳-اتوماسیون-و-پیامک-گروهی)
|
||||
14. [ابزارها](#۱۴-ابزارها)
|
||||
15. [تنظیمات](#۱۵-تنظیمات)
|
||||
16. [کار روی موبایل](#۱۶-کار-روی-موبایل)
|
||||
17. [سناریوهای روزمره](#۱۷-سناریوهای-روزمره)
|
||||
18. [مشکلات رایج](#۱۸-مشکلات-رایج)
|
||||
|
||||
---
|
||||
|
||||
## منتکت چیست؟ (به زبان خیلی ساده)
|
||||
## ۱) ورود به سیستم
|
||||
|
||||
منتکت یک **CRM فارسی** است: دفترچه مشتری، تخته فروش، پیگیری، پشتیبانی، فاکتور، پرتال مشتری و (برای طلا و جواهر) اتصال به تهحساب — در یک جا.
|
||||
### دسکتاپ و موبایل (تقریباً یکسان)
|
||||
|
||||
| مفهوم | یعنی چه؟ |
|
||||
|---|---|
|
||||
| **سازمان** | شرکت شما داخل منتکت |
|
||||
| **شخص / شرکت** | مخاطب حقیقی یا حقوقی |
|
||||
| **معامله** | یک فروش احتمالی روی کاریز |
|
||||
| **فعالیت** | تماس، جلسه، وظیفه |
|
||||
| **یادداشت** | ثبت سریع حرفها + هوش منتکت |
|
||||
| **تیکت** | درخواست پشتیبانی |
|
||||
| **کاریز پروژه** | کارهای داخلی پسازفروش |
|
||||
| **باشگاه** | امتیاز وفاداری مشتری |
|
||||
| **اتوماسیون** | اگر اتفاقی افتاد، خودکار کاری انجام شود |
|
||||
1. آدرس پنل را باز کنید (مثلاً `https://crm.montzar.ir`).
|
||||
2. **ایمیل یا موبایل** خود را وارد کنید.
|
||||
3. **رمز عبور** را بزنید.
|
||||
4. روی **ورود** بزنید.
|
||||
|
||||
---
|
||||
|
||||
## آدرسها و حسابهای دمو
|
||||
|
||||
| مورد | آدرس |
|
||||
|---|---|
|
||||
| پنل اصلی | `https://crm.montzar.ir` |
|
||||
| پرتال مشتری دمو | `https://crm.montzar.ir/p/demo-mento` |
|
||||
| سلامت API | `https://crm.montzar.ir/api/health` |
|
||||
| پنل لوکال | `http://localhost:5173` |
|
||||
|
||||
| ایمیل | رمز | نقش |
|
||||
|---|---|---|
|
||||
| `owner@demo.local` | `demo1234` | مالک |
|
||||
| `admin@demo.local` | `demo1234` | مدیر |
|
||||
| `sales@demo.local` | `demo1234` | فروش |
|
||||
|
||||
---
|
||||
|
||||
## شروع خیلی ساده (۱۰ دقیقه)
|
||||
|
||||
1. آدرس پنل را باز کنید.
|
||||
2. با `owner@demo.local` / `demo1234` وارد شوید (ورود با **رمز**؛ نیازی به OTP نیست).
|
||||
3. **اشخاص** را ببینید → یک کارت کاریز را جابهجا کنید → یک **فعالیت** و یک **یادداشت** بسازید.
|
||||
4. زنگ اعلان کنار برند را باز کنید.
|
||||
5. پایین منو **خروج** را تست کنید.
|
||||
|
||||
---
|
||||
|
||||
## منوی کناری و ساختار صفحه
|
||||
|
||||
منوی سمت راست (دسکتاپ ثابت؛ موبایل با همبرگر).
|
||||
|
||||
**اصلی:** خانه · فعالیتها · کاریز فروش · اشخاص · تیکتها · یادداشتها
|
||||
|
||||
**فروش و مالی:** پیشفاکتور · فاکتور · هدف و پیشبینی · گزارشات
|
||||
|
||||
**بیشتر:** تقویم · کاریز پروژه · باشگاه مشتریان
|
||||
|
||||
**تنظیمات (مالک/مدیر):** تیم · اتوماسیون · فرمساز سرنخ · فیلد سفارشی · محصولات · ارزها · FAQ · تهحساب
|
||||
|
||||
بالای منو: اعلانها · پایین منو: کارت پروفایل شما + خروج
|
||||
|
||||
---
|
||||
|
||||
## ۱) ورود، ثبتنام، نقشها و تیم
|
||||
|
||||
### ورود با رمز (روش اصلی)
|
||||
|
||||
1. شناسه را وارد کنید: **ایمیل یا موبایل**.
|
||||
2. رمز عبور را بزنید.
|
||||
3. **ورود** — مستقیم وارد پنل میشوید (بدون OTP).
|
||||
|
||||
### ورود اختیاری با OTP موبایل
|
||||
|
||||
اگر روی حساب موبایل ثبت شده باشد، میتوانید مسیر «ورود با کد» را بزنید، کد پیامکی را وارد کنید و وارد شوید.
|
||||
روش دیگر (اگر برای حساب شما فعال باشد): **ورود با کد پیامکی** — موبایل را میزنید، کد میآید، وارد میشوید.
|
||||
|
||||
### ثبتنام سازمان جدید
|
||||
|
||||
اگر سازمان هنوز ساخته نشده:
|
||||
|
||||
1. **ثبتنام** را باز کنید.
|
||||
2. نام سازمان، حوزه کسبوکار، نام خودتان، موبایل (و در صورت فعال بودن ایمیل) را پر کنید.
|
||||
3. کد OTP موبایل را تأیید کنید و رمز بگذارید.
|
||||
2. نام سازمان، حوزه کار، نام خودتان و موبایل را پر کنید.
|
||||
3. کد پیامکی را تأیید کنید و رمز بگذارید.
|
||||
4. بهعنوان **مالک** وارد میشوید.
|
||||
|
||||
### نقشها
|
||||
### نقشها به زبان ساده
|
||||
|
||||
| نقش | پروندهها | تنظیمات | دعوت کاربر |
|
||||
|---|---|---|---|
|
||||
| مالک | همه | بله | بله |
|
||||
| مدیر | همه | بله | بله |
|
||||
| فروش | معمولاً فقط مال خودش | خیر | خیر |
|
||||
| پشتیبانی | پرونده/تیکت مرتبط | خیر | خیر |
|
||||
| نقش | چه میبیند؟ | تنظیمات را عوض میکند؟ |
|
||||
|---|---|---|
|
||||
| مالک | تقریباً همه چیز | بله |
|
||||
| مدیر | تقریباً همه چیز | بله |
|
||||
| فروش | معمولاً پروندههای خودش | خیر |
|
||||
| پشتیبانی | تیکت و پروندههای مرتبط | خیر |
|
||||
|
||||
### تیم
|
||||
|
||||
**تنظیمات → تیم و نقشها:** دعوت با ایمیل/نام/رمز اولیه و نقش.
|
||||
اگر دکمهای را نمیبینید، معمولاً بهخاطر **نقش** یا **ماژول خاموش سازمان** است — از مالک/مدیر بپرسید.
|
||||
|
||||
---
|
||||
|
||||
## ۲) خانه امروز
|
||||
## ۲) نمای کلی صفحه (منو و نوار بالا)
|
||||
|
||||
بعد از ورود میبینید: خلاصه فعالیتها، میانبرها، نمای کاریز/روند فروش، و امکان **پرسیدن از منتکت** (Ask Montact) درباره کار امروز.
|
||||

|
||||
|
||||
### دسکتاپ
|
||||
|
||||
- **منوی سمت راست:** همه بخشها همینجاست. بعضی آیتمها فلش دارند و با کلیک باز میشوند (مثل مشتریان، فروش، تنظیمات).
|
||||
- **نوار بالا:**
|
||||
- **جستجوی سراسری:** مشتری، معامله و … را سریع پیدا میکند.
|
||||
- **هوش مصنوعی / از مُنتَکت بپرس**
|
||||
- **اعلانها** (زنگ)
|
||||
- **تقویم**
|
||||
- **پیامها / گفتگو**
|
||||
- وضعیت اشتراک (اگر نمایش داده شود) و تاریخ امروز
|
||||
- **پایین منو:** عکس و نام شما + دکمهٔ **خروج**
|
||||
- **دکمهٔ شناور پایین چپ:** ایجاد سریع (شخص، کار، معامله و …)
|
||||
|
||||
### موبایل
|
||||
|
||||

|
||||
|
||||
- منوی کناری معمولاً جمع میشود؛ با **آیکون منو (همبرگر)** باز میشود.
|
||||
- جستجو و اعلانها در بالای صفحه هستند.
|
||||
- لیستها بیشتر بهشکل **کارت** دیده میشوند، نه جدول عریض.
|
||||
|
||||
---
|
||||
|
||||
## ۳) اشخاص و شرکتها
|
||||
## ۳) داشبورد
|
||||
|
||||
1. منو **اشخاص و شرکتها**.
|
||||
2. تب شخص یا شرکت؛ جستجو و فیلتر (از جمله وضعیت/خلق مشتری).
|
||||
3. دکمه **+** برای ایجاد.
|
||||
4. روی ردیف/کارت کلیک کنید تا **پروفایل مشتری** باز شود (خلاصه، تبها، تایملاین، در صورت اتصال: دارایی تهحساب).
|
||||
5. اکسل: خروجی / ورود از اکسل از همان صفحه.
|
||||
داشبورد صفحهٔ اول بعد از ورود است — خلاصهٔ کار امروز و وضعیت فروش.
|
||||
|
||||
**نکته موبایل:** لیست بهصورت کارت دیده میشود؛ جدول مخصوص دسکتاپ است.
|
||||

|
||||
|
||||
### چه چیزهایی میبینید؟
|
||||
|
||||
#### الف) نوار خوشآمد و هشدارها
|
||||
- سلام شخصی (مثلاً «ظهر بخیر …»)
|
||||
- کارتهای کوتاه هشدار، مثلاً:
|
||||
- معاملهای که امروز باید تماس بگیرید
|
||||
- پیگیریهای عقبافتاده
|
||||
- نزدیک بودن به هدف ماه
|
||||
- با زدن هر کارت، مستقیم به همان موضوع میروید.
|
||||
|
||||
#### ب) از مُنتَکت بپرس
|
||||
کادر سؤال در همان بالای داشبورد. مثال سؤالها:
|
||||
- امروز چند پیگیری دارم؟
|
||||
- معاملات باز من کداماند؟
|
||||
- فروش این ماه چقدر بوده؟
|
||||
|
||||
روی دسکتاپ میانبر صفحهکلید: **Ctrl+K** (در مک: ⌘K).
|
||||
|
||||
#### ج) کارتهای عددی (خلاصه وضعیت)
|
||||
معمولاً چهار کارت مهم:
|
||||
1. **فروش این ماه**
|
||||
2. **مشتریان جدید**
|
||||
3. **معاملات باز**
|
||||
4. **پیگیری امروز**
|
||||
|
||||
کنار بعضی عددها، درصد تغییر نسبت به دوره قبل هم هست (سبز = رشد، قرمز = کاهش).
|
||||
|
||||
#### د) نمودارها و بخشهای پایین
|
||||
- **روند فروش:** فروش ماههای اخیر
|
||||
- **منابع مشتریان:** مشتریها از کجا آمدهاند
|
||||
- **دستیار هوشمند:** پیشنهاد سؤال و دستورهای سریع (حتی با میکروفون در صورت فعال بودن)
|
||||
- **فعالیتهای اخیر**
|
||||
- **نمای کوچک کاریز فروش**
|
||||
- **برترین مشتریان**
|
||||
|
||||
### دسکتاپ در برابر موبایل
|
||||
| مورد | دسکتاپ | موبایل |
|
||||
|---|---|---|
|
||||
| نمودارها | چندتایی کنار هم | زیر هم، اسکرول عمودی |
|
||||
| کارتهای عددی | معمولاً در یک ردیف | زیر هم یا دوستونه |
|
||||
| منو | همیشه دیده میشود | با همبرگر باز میشود |
|
||||
|
||||
---
|
||||
|
||||
## ۴) کاریز فروش (معاملات)
|
||||
## ۴) مشتریان
|
||||
|
||||
1. **کاریز فروش** را باز کنید.
|
||||
2. کاریز موردنظر را انتخاب کنید (اگر چند تا دارید).
|
||||
3. معامله جدید بسازید یا کارت را بین ستونها بکشید.
|
||||
4. با باز کردن معامله: مبلغ، ارز، مسئول، محصولات، منبع، برچسب، یادداشت و فیلد سفارشی را کامل کنید.
|
||||
5. از معامله میتوانید پیشفاکتور یا فاکتور بسازید.
|
||||
مسیر: منو → **مشتریان**
|
||||
|
||||
مبالغ با **جداکننده هزارگان** نمایش و وارد میشوند.
|
||||

|
||||
|
||||
### اشخاص
|
||||
- لیست همه مخاطبان حقیقی
|
||||
- جستجو، مرتبسازی، فیلتر
|
||||
- دکمهها:
|
||||
- **شخص جدید**
|
||||
- **خروجی اکسل**
|
||||
- **ورود از اکسل**
|
||||
- **از مخاطبین گوشی** (روی موبایل/مرورگر مناسب)
|
||||
|
||||
با زدن روی هر شخص، **پروفایل** باز میشود:
|
||||
- اطلاعات تماس
|
||||
- خلق/وضعیت مشتری
|
||||
- فعالیتها، یادداشتها، معاملات، فاکتورها
|
||||
- تایملاین رویدادها
|
||||
- در صورت اتصال حسابداری: دارایی و اسناد مرتبط
|
||||
|
||||
### شرکتها
|
||||

|
||||
|
||||
همان منطق برای مشتری حقوقی (سازمانها). تب **شرکتها** را بزنید و با **شرکت جدید** شروع کنید.
|
||||
|
||||
### میانبرهای سریع
|
||||
از خود منوی مشتریان میتوانید مستقیم **شخص جدید** یا **شرکت جدید** بسازید.
|
||||
|
||||
### موبایل
|
||||
لیست بهصورت کارت است. برای ساخت شخص جدید همان دکمهٔ سبز/اصلی را بزنید. ذخیره در فرمها اغلب با **تیک بالای صفحه** است.
|
||||
|
||||
---
|
||||
|
||||
## ۵) فعالیتها و تقویم
|
||||
## ۵) لیدها
|
||||
|
||||
### لیست فعالیتها
|
||||
مسیر: منو → **لیدها**
|
||||
لید یعنی **مخاطب بالقوه** قبل از اینکه مشتری کامل شود.
|
||||
|
||||
فیلتر امروز / عقبافتاده / بعداً / انجامشده · جستجو · نوع فعالیت.
|
||||
فعالیت جدید: عنوان، نوع، موعد (جلالی)، مسئول، اتصال به شخص/معامله.
|
||||
### فهرست لیدها
|
||||

|
||||
|
||||
### یادآور
|
||||
- جستجو و فیلتر
|
||||
- تخصیص به همکار
|
||||
- ورود از اکسل (اگر دسترسی دارید)
|
||||
|
||||
اگر موعد یادآور بگذارید، میتوانید مشخص کنید اعلان **داخل برنامه** و/یا **پیامک** برود. حداقل یکی باید روشن باشد.
|
||||
### کاریز لیدها
|
||||

|
||||
|
||||
### تقویم
|
||||
نمای ستونبهستون (کانبان). کارت را بین مراحل بکشید تا وضعیت عوض شود.
|
||||
|
||||
**تقویم فعالیتها:** نمای ماه شمسی موعدها. ساعت را میتوانید با صفحهٔ دایرهای انتخاب کنید.
|
||||
### مراحل و وضعیتها (معمولاً فقط مدیر)
|
||||
تعریف ستونهای کاریز لید.
|
||||
|
||||
### فرمساز سرنخ (معمولاً فقط مدیر)
|
||||
- لینک عمومی برای جذب سرنخ
|
||||
- قابل گذاشتن در سایت / QR / iframe
|
||||
- وقتی کسی فرم را پر کند، سرنخ در سیستم ثبت میشود
|
||||
|
||||
---
|
||||
|
||||
## ۶) یادداشتهای هوشمند (Smart Notes)
|
||||
## ۶) فروش
|
||||
|
||||
1. **یادداشتها** را باز کنید.
|
||||
2. نوع یادداشت را انتخاب کنید و متن را بنویسید (یا با دکمه **میکروفون** دیکته کنید).
|
||||
3. **سطح دسترسی** را تنظیم کنید: تیمی (پیشفرض) یا شخصی (فقط شما).
|
||||
4. به شخص/شرکت/معامله وصل کنید؛ در صورت نیاز پین/برچسب/یادآور.
|
||||
5. پیشنهاد هوشمند یا Memory را فقط بعد از خواندن و **تأیید** اعمال کنید.
|
||||
6. از منوی کارت یا دکمهٔ **تاریخچه** در ویرایش، نسخههای قبلی را ببینید و در صورت نیاز بازگردانید.
|
||||
7. از کادر **از منتکت بپرس** سؤال زبان طبیعی بپرسید (مثلاً «آخرین بار درباره قیمت چه گفت؟»).
|
||||
مسیر: منو → **فروش**
|
||||
|
||||
پیوست فایل روی یادداشت از همان فرم قابل افزودن است.
|
||||

|
||||
|
||||
### کاریز فروش
|
||||
- نمای **کاریز** (ستونها) یا **لیست**
|
||||
- هر ستون یک مرحله است (مثلاً سرنخ، تماس اول، پیشنهاد، …)
|
||||
- کارت معامله را بکشید تا مرحله عوض شود
|
||||
- روی کارت بزنید تا جزئیات باز شود: مبلغ، مسئول، محصولات، یادداشت، …
|
||||
- از معامله میتوانید پیشفاکتور یا فاکتور بسازید
|
||||
- خروجی/ورود اکسل و فیلتر ذخیرهشده هم هست
|
||||
|
||||
**موبایل:** ستونها را افقی ورق بزنید. برای کشیدن کارت، صفحهٔ عریضتر راحتتر است.
|
||||
|
||||
### محصولات و خدمات (معمولاً مدیر)
|
||||

|
||||
|
||||
نام، قیمت، ارز، موجودی مرتبط. خروجی و ورود اکسل هم از همین صفحه است.
|
||||
|
||||
### پیشفاکتورها
|
||||
پیشنهاد قیمت برای مشتری — وضعیت، چاپ، تبدیل به فاکتور.
|
||||
|
||||
### فاکتورها
|
||||
صدور فاکتور، ثبت پرداخت، اقساط، چاپ.
|
||||
|
||||
### پورسانت
|
||||
سهم فروشندگان از فاکتورهای صادرشده.
|
||||
|
||||
### هدف و پیشبینی
|
||||
هدف فروش دوره را بگذارید و ببینید چقدر جلو رفتهاید.
|
||||
|
||||
---
|
||||
|
||||
## ۷) تایملاین و اعلانها
|
||||
## ۷) کارها و فعالیتها
|
||||
|
||||
- روی پرونده شخص/شرکت/معامله، تایملاین رویدادها را میبینید.
|
||||
- زنگ کنار برند: اعلانهای خوانده/نخوانده (از جمله یادآور فعالیت).
|
||||
مسیر: منو → **کارها**
|
||||
عدد روی منو یعنی چند کار باز/مهم دارید.
|
||||
|
||||

|
||||
|
||||
### میز کار من
|
||||
- فیلتر: امروز / عقبافتاده / بعداً / انجامشده
|
||||
- نوع کار: تماس، جلسه، وظیفه، یادداشت
|
||||
- کار جدید: عنوان، موعد (تاریخ شمسی)، مسئول، اتصال به شخص یا معامله
|
||||
- یادآور: اعلان داخل برنامه و/یا پیامک
|
||||
|
||||
### تقویم کارها
|
||||

|
||||
|
||||
نمای ماه شمسی برای دیدن موعدها. روی هر روز بزنید تا جزئیات همان روز را ببینید یا فعالیت جدید بسازید.
|
||||
|
||||
### موبایل
|
||||
لیست کارها کارتمانند است. ساعت را معمولاً با انتخابگر لمسی میگذارید.
|
||||
|
||||
---
|
||||
|
||||
## ۸) محصولات و مبلغها
|
||||
## ۸) گفتگو
|
||||
|
||||
**تنظیمات → محصولات:** نام، قیمت واحد، ارز.
|
||||
روی معامله/پیشفاکتور/فاکتور ردیف اضافه کنید؛ جمع خودکار محاسبه میشود.
|
||||
در همه فیلدهای قیمت، اعداد سهرقمسهرقم جدا میشوند.
|
||||
مسیر: منو → **گفتگو**
|
||||
چت داخلی تیم — بدون نیاز به پیامرسان بیرونی.
|
||||
|
||||

|
||||
|
||||
### چه کارهایی میتوانید بکنید؟
|
||||
|
||||
#### انواع گفتگو
|
||||
- **خصوصی:** یکبهیک با همکار
|
||||
- **گروه:** چند نفر
|
||||
- **کانال:** اطلاعرسانی؛ معمولاً فقط مدیر پیام میفرستد
|
||||
|
||||
#### فهرست گفتگوها
|
||||
- جستجو
|
||||
- تب همه / خصوصی / گروه / کانال
|
||||
- سنجاق کردن گفتگوی مهم
|
||||
- بیصدا کردن (منشن معمولاً مستثنی است)
|
||||
|
||||
#### داخل گفتگو
|
||||
- متن، عکس، ویدیو، صوت، فایل (تا حدود ۱۰۰ مگابایت)
|
||||
- ضبط صدا
|
||||
- ایموجی، پررنگ، ایتالیک، لیست
|
||||
- لینک مستقیم به شخص / معامله / تیکت
|
||||
- پاسخ، ویرایش، حذف، ارسال برای دیگری
|
||||
- سنجاق پیام، واکنش (ایموجی روی پیام)
|
||||
- منشن با `@`
|
||||
- تبدیل پیام به فعالیت
|
||||
- جستجو داخل همان گفتگو
|
||||
- دستیار هوشمند داخل چت (پرسش از مُنتَکت و درج پاسخ در پیام)
|
||||
- وضعیت «در حال نوشتن…» و خواندهشدن پیام
|
||||
|
||||
### دسکتاپ در برابر موبایل
|
||||
| مورد | دسکتاپ | موبایل |
|
||||
|---|---|---|
|
||||
| چیدمان | لیست + پنجره پیام کنار هم | اول لیست، بعد ورود به گفتگو تمامصفحه |
|
||||
| منوی پیام | راستکلیک | لمس طولانی روی پیام |
|
||||
| پیشنمایش عکس | کلیک | تمامصفحه |
|
||||
|
||||
---
|
||||
|
||||
## ۹) پیشفاکتور و فاکتور
|
||||
## ۹) یادداشتها
|
||||
|
||||
### پیشفاکتور
|
||||
مسیر: منو → **یادداشتها**
|
||||
|
||||
لیست با فیلتر وضعیت · فرم با ردیف و چاپ · صدور از معامله · تبدیل به فاکتور.
|
||||

|
||||
|
||||
### فاکتور
|
||||
1. نوع یادداشت را انتخاب کنید.
|
||||
2. متن را بنویسید یا با **میکروفون** دیکته کنید.
|
||||
3. سطح دسترسی: تیمی یا شخصی.
|
||||
4. به شخص / شرکت / معامله وصل کنید.
|
||||
5. در صورت نیاز: پین، برچسب، یادآور، پیوست فایل.
|
||||
6. پیشنهادهای هوشمند را فقط بعد از خواندن و **تأیید** اعمال کنید.
|
||||
7. از کادر «از مُنتَکت بپرس» درباره پرونده سؤال کنید.
|
||||
|
||||
صدور، وضعیت، چاپ · ثبت پرداخت · برنامه اقساط (۲ قسط / ۳ قسط / دستی).
|
||||
تاریخچه نسخههای قبلی یادداشت هم قابل مشاهده و بازگردانی است.
|
||||
|
||||
---
|
||||
|
||||
## ۱۰) هدف و گزارش فروش
|
||||
## ۱۰) پشتیبانی
|
||||
|
||||
- **هدف و پیشبینی:** تارگت دوره و پیگیری تحقق.
|
||||
- **گزارشات:** داشبورد فروش، قیف، فعالیت، تیم و تیکت با فیلتر تاریخ.
|
||||
مسیر: منو → **پشتیبانی** → **تیکتها**
|
||||
|
||||
---
|
||||

|
||||
|
||||
## ۱۱) تیکت و پرتال مشتری
|
||||
|
||||
### تیکت داخل پنل
|
||||
|
||||
ثبت موضوع، اولویت، مسئول · گفتگو · FAQ پیشنهادی · فیلتر تأخیر SLA · بعد از حل: CSAT.
|
||||
- تیکت جدید: موضوع، اولویت، مسئول
|
||||
- گفتگو با مشتری داخل تیکت
|
||||
- پیشنهاد از FAQ
|
||||
- فیلتر تأخیر پاسخ
|
||||
- بعد از حل: رضایت مشتری (در صورت فعال بودن)
|
||||
|
||||
### پرتال مشتری
|
||||
|
||||
آدرس شبیه `https://crm.montzar.ir/p/نام-سازمان`.
|
||||
مشتری موبایلی را وارد میکند که روی **شخص** ثبت شده، OTP پیامکی میگیرد و تیکت/FAQ را میبیند.
|
||||
مشتری با لینک شبیه `https://crm.montzar.ir/p/نام-سازمان` وارد میشود، با موبایل کد میگیرد و تیکت/FAQ را میبیند. موبایل باید روی پروندهٔ شخص ثبت شده باشد.
|
||||
|
||||
---
|
||||
|
||||
## ۱۲) کاریز پروژه و باشگاه
|
||||
## ۱۱) باشگاه مشتریان
|
||||
|
||||
- **کاریز پروژه:** کارهای داخلی جدا از فروش (کشیدن کارت بین مراحل).
|
||||
- **باشگاه مشتریان:** امتیاز و سطح روی شخص؛ تعدیل دستی برای مدیر؛ امتیاز خودکار از اتوماسیون ممکن است.
|
||||
مسیر: منو → **باشگاه مشتریان**
|
||||
|
||||

|
||||
|
||||
- امتیاز و سطح وفاداری روی شخص
|
||||
- مدیر میتواند امتیاز را دستی کم/زیاد کند
|
||||
- بعضی قوانین اتوماسیون میتوانند خودکار امتیاز بدهند
|
||||
- از **تنظیمات باشگاه** سطوح (مثل نقرهای/طلایی) را مدیریت کنید
|
||||
|
||||
---
|
||||
|
||||
## ۱۳) اتوماسیون و فرمساز سرنخ
|
||||
## ۱۲) گزارشها
|
||||
|
||||
### اتوماسیون
|
||||
مسیر: منو → **گزارشها**
|
||||
|
||||
**تنظیمات → اتوماسیون:** اگر معامله برنده شد / تیکت حل شد → ساخت فعالیت، اعلان، یا امتیاز باشگاه.
|
||||

|
||||
|
||||
### فرمساز سرنخ
|
||||
### داشبورد گزارش
|
||||
- بازه زمانی: امروز / هفته / ماه / سهماهه / سال یا تاریخ دلخواه
|
||||
- کارتهایی مثل: مشتریان جدید، تعداد فاکتور، مبلغ فروش، میانگینها
|
||||
- مقایسه با دوره قبل
|
||||
- قیف تبدیل مراحل کاریز
|
||||
- نمودارها و جداول فروش، منابع، فعالیت، تیم، تیکت
|
||||
- خروجی اکسل/CSV
|
||||
- ذخیره نما و کپی لینک اشتراک (اگر فعال باشد)
|
||||
|
||||
**تنظیمات → فرمساز سرنخ:** لینک عمومی، iframe، QR · ثبت شخص+معامله · توزیع نوبتی بین تیم.
|
||||
### گزارشساز
|
||||
گزارش سادهٔ خودتان را با انتخاب موضوع و فیلتر میسازید.
|
||||
|
||||
### موبایل
|
||||
کارتها و نمودارها زیر هم میآیند؛ برای جدولهای عریض صفحه را افقی کنید یا از دسکتاپ استفاده کنید.
|
||||
|
||||
---
|
||||
|
||||
## ۱۴) تنظیمات سازمان
|
||||
## ۱۳) اتوماسیون و پیامک گروهی
|
||||
|
||||
فقط مالک/مدیر:
|
||||
مسیر: منو → **اتوماسیون** (معمولاً مدیر/مالک)
|
||||
|
||||
| بخش | کار |
|
||||
### اتوماسیون گردش کار
|
||||

|
||||
|
||||
قانون «اگر این شد → آن کار انجام شود».
|
||||
مثال: معامله برنده شد → فعالیت پیگیری ساخته شود یا اعلان برود.
|
||||
یک محرک مهم جدید: **کلیک روی لینک پیامک**.
|
||||
|
||||
### اتوماسیون پیامکها
|
||||

|
||||
|
||||
پیامک یا اعلان با تأخیر و تکرار.
|
||||
مثال: اگر روی لینک پیامک کلیک شد → یک روز بعد پیامک دوم برود.
|
||||
|
||||
### پیامک گروهی
|
||||

|
||||
|
||||
1. نام کمپین و متن را بنویسید.
|
||||
2. مخاطبان را انتخاب کنید.
|
||||
3. ارسال فوری یا پیشنویس/صف.
|
||||
4. اگر داخل متن **لینک** باشد، برای هر نفر لینک اختصاصی ساخته میشود.
|
||||
5. از دکمهٔ **گزارش** ببینید چند نفر ارسال شدند، چند نفر کلیک کردند و چه کسانی کلیک کردند.
|
||||
|
||||
> کلیک روی لینک ردیابی برای مخاطب نامرئی است؛ او مستقیم به صفحهٔ اصلی میرود، ولی سیستم کلیک را ثبت میکند.
|
||||
|
||||
---
|
||||
|
||||
## ۱۴) ابزارها
|
||||
|
||||
مسیر: منو → **ابزارها**
|
||||
|
||||

|
||||
|
||||
| بخش | کار ساده |
|
||||
|---|---|
|
||||
| تیم و نقشها | کاربران |
|
||||
| فیلدهای سفارشی | فیلد اضافه |
|
||||
| محصولات | کاتالوگ |
|
||||
| ارزها | ارز پایه و نرخ |
|
||||
| FAQ | مقالات پشتیبانی |
|
||||
| اتوماسیون | قوانین |
|
||||
| فرمساز سرنخ | جذب سرنخ |
|
||||
| تهحساب | اتصال حسابداری طلا |
|
||||
| کاریز پروژه | کارهای داخلی تیم بعد از فروش (ستونها و کارتها) |
|
||||
| انبار | موجودی کالا و جابهجایی داخلی |
|
||||
| چکها | چک دریافتی و پرداختی + یادآوری |
|
||||
| رزرو و نوبتدهی | خدمات، زمان آزاد، ثبت نوبت مشتری |
|
||||
| پیوستها | فایلهای وصلشده به یادداشتها |
|
||||
|
||||
---
|
||||
|
||||
## ۱۵) تهحساب (طلا و جواهر)
|
||||
## ۱۵) تنظیمات
|
||||
|
||||
برای سازمانهایی که حوزه طلا/جواهر دارند (یا اتصال حسابداری میخواهند):
|
||||
مسیر: منو → **تنظیمات** (معمولاً مالک/مدیر)
|
||||
|
||||
1. **تنظیمات → تهحساب:** اتصال (آدرس، توکن، نام DB) بسازید و تست کنید. میتوانید چند اتصال داشته باشید.
|
||||
2. در **پروفایل شخص → دارایی:** تطبیق خودکار/دستی با کد مشتری تهحساب، یا ثبت مشتری جدید در تهحساب.
|
||||
3. مانده و اسناد را ببینید؛ در صورت نیاز **ثبت سند** (خرید/فروش، طلب/بدهی، بانک و …) از همین تب.
|
||||

|
||||
|
||||
جزئیات فنی: [`integrations/tahesab.md`](integrations/tahesab.md)
|
||||
| بخش | یعنی چه؟ |
|
||||
|---|---|
|
||||
| تنظیمات عمومی | نام سازمان و تنظیمات پایه |
|
||||
| تیم و نقشها | دعوت همکار، نقش، دسترسی |
|
||||
| تیمها و سطح دسترسی به پروندهها | چه کسی کدام پروندهها را ببیند |
|
||||
| لاگ فعالیت کاربران | تاریخچه ایجاد/ویرایش/حذف |
|
||||
| API و وبهوک | اتصال سیستمهای بیرونی |
|
||||
| فیلدهای سفارشی | فیلد اضافه روی پروندهها |
|
||||
| ارزها | ارز پایه و نرخ |
|
||||
| تهحساب | اتصال حسابداری (مخصوص طلا و جواهر و مشابه) |
|
||||
| ووکامرس | سفارش فروشگاه → مشتری و فاکتور |
|
||||
| تلفن سازمانی | ثبت تماس سانترال و اعلان ورودی |
|
||||
| FAQ | پرسشهای پرتکرار پشتیبانی |
|
||||
|
||||
اگر آیتمی در منو نیست، یا نقش شما اجازه ندارد یا آن ماژول برای سازمان خاموش است.
|
||||
|
||||
---
|
||||
|
||||
## ۱۶) کار روی موبایل
|
||||
|
||||
- منوی کشویی از همبرگر
|
||||
- لیستها بهصورت کارت؛ کاریز را افقی ورق بزنید
|
||||
- در فرمها دکمه ذخیره بالای موبایل (آیکون تیک) را پیدا کنید
|
||||
- برای کشیدن کارت کاریز، صفحهٔ عریضتر راحتتر است
|
||||

|
||||
|
||||
### نکات مهم موبایل
|
||||
1. منو را با آیکون همبرگر باز کنید.
|
||||
2. لیستها کارتمانند هستند؛ برای دیدن جزئیات روی کارت بزنید.
|
||||
3. در فرمها دکمهٔ ذخیره اغلب **بالا** و با آیکون تیک است.
|
||||
4. کاریز فروش/لید را افقی ورق بزنید.
|
||||
5. در گفتگو: لمس طولانی روی پیام = منوی کارها.
|
||||
6. برای گزارشهای شلوغ و اکسل، دسکتاپ راحتتر است.
|
||||
7. ورود از مخاطبین گوشی در صفحه اشخاص در دسترس است.
|
||||
|
||||
---
|
||||
|
||||
## ۱۷) سناریوهای روزمره
|
||||
|
||||
### کارشناس فروش
|
||||
|
||||
سرنخ (فرم یا دستی) → معامله روی کاریز → فعالیت و یادداشت → پیشفاکتور → فاکتور → برنده → کارت در کاریز پروژه.
|
||||
1. لید جدید (دستی یا از فرم سایت)
|
||||
2. تبدیل/ساخت معامله روی کاریز
|
||||
3. ثبت تماس و یادداشت
|
||||
4. پیشفاکتور → فاکتور
|
||||
5. بردن معامله به مرحله برنده
|
||||
6. در صورت نیاز کارت در کاریز پروژه
|
||||
|
||||
### پشتیبانی
|
||||
|
||||
تیکت / پرتال → FAQ → پاسخ → تغییر وضعیت → CSAT → (اتوماسیون) امتیاز باشگاه.
|
||||
1. تیکت جدید یا پیام از پرتال
|
||||
2. پاسخ + FAQ
|
||||
3. حل تیکت و ثبت رضایت
|
||||
|
||||
### مدیر
|
||||
|
||||
خانه و گزارشات → هدف ماه → معاملات راکد → تیکتهای تأخیر SLA → مرور اتوماسیون و فرم سرنخ.
|
||||
1. داشبورد و گزارش ماه
|
||||
2. پیگیری معاملات راکد و کارهای عقبافتاده
|
||||
3. بررسی گزارش پیامک گروهی و کلیکها
|
||||
4. تنظیم اتوماسیون و تیم
|
||||
|
||||
---
|
||||
|
||||
@@ -323,24 +497,60 @@
|
||||
|
||||
| مشکل | کار ساده |
|
||||
|---|---|
|
||||
| ورود ناموفق | ایمیل/موبایل و رمز؛ وضعیت API؛ Ctrl+F5 |
|
||||
| OTP ثبتنام/پرتال نمیرسد | موبایل درست؟ تنظیمات SMS سرور؟ |
|
||||
| رکورد «پیدا نشد» | نقش شما فروش است و مالک پرونده دیگری است |
|
||||
| منوی تنظیمات نیست | نقش مالک/مدیر نیست |
|
||||
| مبلغ عجیب در کاریز | ارز معامله و نرخ در تنظیمات ارزها |
|
||||
| تهحساب وصل نمیشود | توکن/DB/آدرس؛ تست اتصال در تنظیمات |
|
||||
| صفحه سفید بعد از آپدیت | Ctrl+F5 |
|
||||
| وارد نمیشوم | ایمیل/موبایل و رمز را چک کنید؛ یکبار صفحه را سختتازهسازی کنید (Ctrl+F5) |
|
||||
| کد پیامک نمیآید | موبایل درست است؟ از مدیر بخواهید تنظیم پیامک سرور را چک کند |
|
||||
| فلان منو را نمیبینم | نقش شما یا ماژول سازمان اجازه نمیدهد |
|
||||
| پرونده پیدا نمیشود | ممکن است مال همکار دیگری باشد و دسترسیتان محدود باشد |
|
||||
| مبلغ عجیب است | ارز معامله و نرخ ارز در تنظیمات را چک کنید |
|
||||
| بعد از آپدیت صفحه سفید | Ctrl+F5 یا کش مرورگر |
|
||||
|
||||
---
|
||||
|
||||
## برای مسئول فنی (کوتاه)
|
||||
## جمعبندی یکخطی
|
||||
|
||||
| مورد | مقدار |
|
||||
مُنتَکت دفتر کار دیجیتال تیم شماست: مشتری و لید را نگه میدارد، فروش را روی کاریز جلو میبرد، کار و گفتگو و پشتیبانی را یکجا میکند، و با گزارش و اتوماسیون به مدیر نشان میدهد واقعاً چه خبر است — هم روی کامپیوتر، هم روی گوشی.
|
||||
|
||||
---
|
||||
|
||||
## پیوست: نقشهٔ منو (برای چاپ روی میز)
|
||||
|
||||
```
|
||||
داشبورد
|
||||
مشتریان → اشخاص / شرکتها
|
||||
لیدها → فهرست / کاریز / مراحل / فرمساز
|
||||
فروش → کاریز / محصولات / فاکتور / پیشفاکتور / پورسانت / هدف
|
||||
کارها → میز کار / تقویم
|
||||
گفتگو
|
||||
یادداشتها
|
||||
پشتیبانی → تیکتها
|
||||
باشگاه مشتریان
|
||||
گزارشها
|
||||
اتوماسیون → گردش کار / پیامک خودکار / پیامک گروهی
|
||||
ابزارها → پروژه / انبار / چک / نوبت / پیوست
|
||||
تنظیمات → تیم / دسترسی / فیلد / ارز / اتصالات / FAQ
|
||||
```
|
||||
|
||||
عکسهای راهنما در مسیر `docs/user-guide/images/`:
|
||||
|
||||
| فایل | موضوع |
|
||||
|---|---|
|
||||
| ریپو | `http://get.feep.ir/Mahdi/CRM_Montzar.git` |
|
||||
| مسیر سرور | `/var/www/crm` |
|
||||
| دامنه | `https://crm.montzar.ir` |
|
||||
| API PM2 | `mento-crm-api` |
|
||||
| راهنمای استقرار | [`deploy/DEPLOY.md`](../deploy/DEPLOY.md) |
|
||||
|
||||
برای بازتولید Word/PDF راهنما از همین Markdown، مثل قبل از ابزار تبدیل داخلی پروژه استفاده کنید (در صورت وجود اسکریپت تولید در `docs/`).
|
||||
| `01-dashboard-desktop.png` | داشبورد دسکتاپ |
|
||||
| `02-contacts-people.png` | اشخاص |
|
||||
| `03-pipeline-desktop.png` | کاریز فروش |
|
||||
| `04-conversations-desktop.png` | گفتگو |
|
||||
| `05-reports-desktop.png` | گزارشها |
|
||||
| `06-dashboard-mobile.png` | داشبورد موبایلوار |
|
||||
| `07-contacts-companies.png` | شرکتها |
|
||||
| `08-leads-list.png` | فهرست لیدها |
|
||||
| `09-leads-board.png` | کاریز لیدها |
|
||||
| `10-activities.png` | میز کار و فعالیتها |
|
||||
| `11-calendar.png` | تقویم فعالیتها |
|
||||
| `12-notes.png` | یادداشتها |
|
||||
| `13-tickets.png` | تیکتها |
|
||||
| `14-loyalty.png` | باشگاه مشتریان |
|
||||
| `15-sms-campaigns.png` | پیامک گروهی |
|
||||
| `16-automations.png` | اتوماسیون گردش کار |
|
||||
| `17-message-automations.png` | اتوماسیون پیامک |
|
||||
| `18-settings-team.png` | تنظیمات تیم و کاربران |
|
||||
| `19-products.png` | محصولات |
|
||||
| `20-projects.png` | کاریز پروژه |
|
||||
|
||||