آموزش ویدیویی
> **قبل از شروع:** برای استفاده از این ماژول، ابتدا باید آن را فعال کنید. از مسیر **تنظیمات ← ارتقای سیستم**
> ماژول **واتساپ** را در لیست ماژولهای موجود پیدا کرده و فعال کنید، سپس به این راهنما بازگردید.
معرفی ماژول
ماژول **واتساپ** به شما امکان میدهد مستقیماً از داخل CRM برای مشتریان، سرنخها و کارمندان خود پیام واتساپ ارسال کنید؛ درست مانند ارسال پیامک یا ایمیل. این ماژول از سه سرویسدهنده پشتیبانی میکند که **OpenWA** — یک راهکار متنباز و رایگان برای اتصال به واتساپ که روی سرور خودتان نصب میشود — گزینه پیشنهادی است.
با این ماژول چه کارهایی میتوانید انجام دهید
- ارسال پیام واتساپ به یک نفر یا همزمان به فهرستی از شمارهها.
- ارسال پیام متنی ساده یا پیام همراه با تصویر، ویدیو، فایل صوتی یا سند.
- استفاده مجدد از قالبهای پیام ذخیرهشده و درج کدهای کوتاه پویا (نام، شماره تماس و موارد دیگر) که برای هر گیرنده بهصورت خودکار جایگزین میشوند.
- ارسال آنی، یا قرار دادن پیامها در صف ارسال تا طبق زمانبندی دلخواه شما بهصورت خودکار ارسال شوند.
- اتصال چند شماره واتساپ به OpenWA بهصورت **نشستهای** جداگانه، تعیین یکی از آنها بهعنوان پیشفرض، و در صورت نیاز محدود کردن یک نشست به اعضای خاصی از تیم.
- زمانبندی کل ارسال برای یک تاریخ و ساعت مشخص در آینده.
- مشاهده تمام پیامهای واتساپ ارسال یا دریافتشده مربوط به یک شخص، مستقیماً در صفحه پروفایل او.
- جلوگیری خودکار از ارسال پیام به شمارههای موجود در فهرست شمارههای مسدود شده.
- ارسال خودکار پیام واتساپ از طریق گردشکارهای ماژول اتوماسیون (برای مثال، هنگام تغییر وضعیت یک سرنخ).
نمونه کاربردهای رایج
- ارسال یادآوری نوبت یا وضعیت سفارش به مشتریان از طریق واتساپ بهجای پیامک.
- ارسال یک اطلاعیه گروهی به فهرستی از سرنخها، بهگونهای که بهجای ارسال یکجا، بهمرور و خودکار پخش شود.
- ارسال خودکار پیام به فروشنده مسئول یک مشتری از طریق گردشکار اتوماسیون، بهمحض ثبت سرنخ جدید.
فعالسازی ماژول
https://VIDEO_PLACEHOLDER_URL

۱. وارد CRM شوید و از منوی اصلی روی **تنظیمات** کلیک کنید.
۲. به بخش **ارتقای سیستم** بروید.
۳. ماژول **واتساپ** را در فهرست ماژولهای موجود پیدا کنید.
۴. روی **فعالسازی** کلیک کنید.
> **نکته:** برای فعالسازی ماژولها به دسترسی مدیر کل نیاز دارید.
انتخاب سرویسدهنده واتساپ
https://VIDEO_PLACEHOLDER_URL

پس از فعالسازی ماژول، از مسیر **تنظیمات ← واتساپ** آن را پیکربندی کنید.
۱. در فهرست کشویی **سرویسدهنده**، انتخاب کنید کدام سرویس واقعاً پیامهای شما را ارسال کند:
- **OpenWA** — یک اتصال متنباز که روی سرور خودتان نصب میشود. بدون هزینه ماهانه، اما نیازمند راهاندازی سرور اختصاصی. این گزینه پیشنهادی است.
- **wallmessage.com** — یک سرویس آماده و پولی از شرکت ثالث.
- **autochat.ir** — یک سرویس آماده و پولی از شرکت ثالث.
۲. فیلدهای زیر این فهرست کشویی بسته به سرویسدهنده انتخابی تغییر میکنند؛ در این راهنما فقط فیلدهای مربوط به OpenWA توضیح داده شدهاند (برای دو گزینه دیگر به [سایر سرویسدهندهها](#سایر-سرویسدهندهها) مراجعه کنید).
۳. پس از انجام تغییرات، روی **ذخیره تنظیمات واتساپ** کلیک کنید.
راهاندازی OpenWA (نصب اختصاصی)
https://VIDEO_PLACEHOLDER_URL

OpenWA یک برنامه جداگانه و رایگان است که شما (یا مدیر فناوری اطلاعاتتان) روی یک سرور تحت کنترل خودتان نصب میکنید. این برنامه از طرف شما به واتساپ متصل میشود و CRM از طریق اینترنت یا شبکه داخلی با آن ارتباط برقرار میکند. پیش از انتخاب OpenWA بهعنوان سرویسدهنده، ابتدا سرور OpenWA خود را نصب و پیکربندی کنید — برای راهنمای نصب، به لینک **مشاهده راهنمای شروع سریع** در صفحه تنظیمات مراجعه کنید.
پس از اجرای سرور OpenWA، در کنسول آن پیامی مشابه زیر نمایش داده میشود:
javascript
🟢 Welcome to OpenWA - WhatsApp API Gateway
[api] [OpenWA] LOG [AuthService] 📊 Dashboard: http://localhost:2785
[api] [OpenWA] LOG [AuthService] 📚 API Docs: http://localhost:2785/api/docsآدرس کنار عبارت **Dashboard** دقیقاً همان مقداری است که باید در فیلد **آدرس سرور OpenWA** وارد کنید.
فیلدهای تنظیمات OpenWA
| فیلد | چه مقداری وارد کنید |
|---|---|
| **آدرس سرور OpenWA** | آدرس پایه سرور OpenWA شما، **همراه با شماره پورت**، بدون هیچ مسیر اضافهای در انتها. با توجه به مثال بالا، مقدار `http://localhost:2785` را وارد کنید. عبارت `/api` یا هر مسیر دیگری را اضافه نکنید — CRM خودش آن را اضافه میکند. اگر CRM و سرور OpenWA روی دو دستگاه جداگانه اجرا میشوند، بهجای `localhost` آدرس IP یا دامنه واقعی همان سرور را قرار دهید. |
| **کلید API** | کلید API که در تنظیمات سرور OpenWA پیکربندی شده است. این مقدار در فایل پیکربندی خود سرور OpenWA تنظیم میشود و در پیام کنسول بالا نمایش داده **نمیشود** — برای پیدا کردنش به تنظیمات سرور یا نصبکننده آن مراجعه کنید. |
| **زمان انتظار درخواست (ثانیه)** | مدتزمانی که CRM منتظر پاسخ سرور OpenWA میماند. مقدار پیشفرض ۳۰ ثانیه برای اغلب موارد کافی است؛ اگر پیامهای همراه با فایل ضمیمه مرتب با خطای زمان ارسال نمیشوند، این عدد را افزایش دهید. |
| **فعالسازی پیامهای چندرسانهای** | برای اجازه ارسال تصویر، ویدیو، صدا و سند از طریق OpenWA، گزینه **بله** را انتخاب کنید. اگر سرور یا نشست OpenWA شما از ارسال فایل پشتیبانی نمیکند، **خیر** را انتخاب کنید. |
۴. فیلدهای بالا را تکمیل کرده و روی **ذخیره تنظیمات واتساپ** کلیک کنید.
> **نکته:** آدرس سرور، کلید API، زمان انتظار و کلید چندرسانهای مربوط به کل سرور OpenWA شما هستند. هر شماره واتساپی که به آن متصل میکنید، جداگانه و بهصورت یک **نشست** پیکربندی میشود — به بخش بعدی مراجعه کنید.
مدیریت نشستهای واتساپ
https://VIDEO_PLACEHOLDER_URL

یک سرور OpenWA میتواند همزمان چند شماره واتساپ متصل را میزبانی کند — به هرکدام از آنها **نشست (Session)** گفته میشود. CRM پیش از اینکه بتواند از طریق OpenWA پیامی ارسال کند، به حداقل یک نشست ثبتشده نیاز دارد، و شما میتوانید به تعداد شمارههای متصلشدهتان نشست بسازید.
پیدا کردن شناسه نشست
داشبورد OpenWA خود را باز کنید و شناسه نشست واتساپی که متصل کردهاید را کپی کنید. این شناسه یک نامی نیست که خودتان انتخاب میکنید — مقداری است که سرور OpenWA شما تولید میکند و شبیه این است:
javascript
a76cf94c-9d0a-4cf1-bcc1-70f3ed68af01این مقدار دقیق را هنگام ساخت نشست در ادامه، در CRM وارد خواهید کرد.
ساخت یک نشست
در مسیر **تنظیمات ← واتساپ**، به بخش **نشستهای واتساپ** بروید:
۱. روی **New Session** کلیک کنید.
۲. فیلدها را تکمیل کنید:
| فیلد | توضیح |
|---|---|
| **Name** | برچسبی برای مرجع خودتان (مثلاً «تیم فروش» یا «خط پشتیبانی»). این مقدار به OpenWA ارسال نمیشود. |
| **Session Identifier** | **الزامی.** شناسهای که از داشبورد OpenWA کپی کردهاید، مانند `a76cf94c-9d0a-4cf1-bcc1-70f3ed68af01`. بدون یک شناسه معتبر در این فیلد، پیام ارسال نخواهد شد — این مهمترین فیلد این فرم است. |
| **Status** | این نشست را **Enable** یا **Disable** کنید. نشست غیرفعال هنگام ارسال یا تست قابل انتخاب نیست. |
| **is Default** | فقط یک نشست میتواند پیشفرض باشد. نشست پیشفرض هر زمان که نشست خاصی انتخاب نشده باشد بهصورت خودکار استفاده میشود — برای پیامهای اتوماسیون، ارسالهای صفشده و پیامهای زمانبندیشدهای که بدون انتخاب نشست ساخته شدهاند. |
| **Allowed Users** | اختیاری. کاربران خاصی از وردپرس را جستجو و انتخاب کنید که مجاز به انتخاب این نشست هنگام ارسال پیام هستند. اگر خالی بگذارید، هر کسی که مجوز ارسال واتساپ داشته باشد میتواند از آن استفاده کند. |
۳. روی **Save** کلیک کنید.
جدول نشستها نام، شناسه، کاربران مجاز (یا «همه کاربران» در صورت نامحدود بودن)، وضعیت پیشفرض و وضعیت فعال هر نشست را همراه با عملیات **ویرایش** و **حذف** نشان میدهد. نشست پیشفرض قابل حذف نیست — اگر میخواهید آن را حذف کنید، ابتدا نشست دیگری را پیشفرض کنید.
تست اتصال
https://VIDEO_PLACEHOLDER_URL

پس از ذخیره تنظیمات، بخش **تست OpenWA** در همان صفحه نمایش داده میشود (فقط زمانی که OpenWA بهعنوان سرویسدهنده انتخاب شده باشد) تا پیش از ارسال پیامهای واقعی، از سالم بودن اتصال مطمئن شوید.
۱. **ابتدا تنظیمات واتساپ را ذخیره کنید** — تست همیشه بر اساس تنظیماتی که ذخیره شدهاند انجام میشود، نه مقادیری که در فیلدها تایپ کردهاید ولی هنوز ذخیره نشدهاند.
۲. از فهرست کشویی **Session**، نشستی که میخواهید تست شود را انتخاب کنید (به بخش [مدیریت نشستهای واتساپ](#مدیریت-نشستهای-واتساپ) مراجعه کنید). اگر هنوز نشستی نساختهاید، یک هشدار به شما میگوید ابتدا یک نشست بسازید.
۳. در فیلد **شماره گیرنده**، یک شماره واتساپ به فرمت بینالمللی و فقط با رقم (بدون علامت `+`، فاصله یا خط تیره) وارد کنید — مثلاً `6281234567890`.
۴. روی **send test** کلیک کنید.
۵. منتظر پیام نتیجه بمانید:
- پیام **"Successfully sent"** به این معناست که CRM با موفقیت به سرور OpenWA متصل شده و پیام پذیرفته شده است.
- هر پیام دیگری دقیقاً مشکل رخداده را توضیح میدهد (به بخش [رفع اشکال](#رفع-اشکال) مراجعه کنید).
سایر سرویسدهندهها
اگر ترجیح میدهید بهجای راهاندازی سرور اختصاصی از یک سرویس آماده استفاده کنید، فهرست کشویی **سرویسدهنده** این گزینهها را نیز ارائه میدهد:
- **wallmessage.com** — نیازمند **توکن/کلید API** و یک **appkey** از حساب کاربری شما در wallmessage.com.
- **autochat.ir** — نیازمند **توکن/کلید API** از حساب کاربری شما در autochat.ir.
هر دو از فیلد مشترک **نام فرستنده** و همچنین تنظیمات صف ارسال (**زمانبندی ارسال** و **تعداد ارسال در هر نوبت**) که در بخش [صف ارسال واتساپ](#صف-ارسال-واتساپ) توضیح داده شده، استفاده میکنند. تمام موارد گفتهشده در ادامه این راهنما از بخش [ارسال یک پیام واتساپ](#ارسال-یک-پیام-واتساپ) به بعد، مستقل از سرویسدهنده انتخابی، دقیقاً به همین شکل عمل میکند.
ارسال یک پیام واتساپ
https://VIDEO_PLACEHOLDER_URL

پنجره **ارسال پیام واتساپ** را میتوانید از دو مسیر باز کنید:
- آیکون واتساپ در صفحه پروفایل یک کاربر یا سرنخ — برای ارسال به همان یک نفر.
- دکمه **واتساپ** که بالای اغلب فهرستهای مخاطبین (کاربران، سرنخها، گروههای هدف و صفحات مشابه) در دسترس است — برای ارسال همزمان به یک یا چند گیرنده انتخابشده.
فیلدهای پنجره پیام
| فیلد | توضیح |
|---|---|
| **WhatsApp Session** | *(فقط OpenWA)* کدام شماره واتساپ متصل، این پیام را ارسال کند — به بخش [مدیریت نشستهای واتساپ](#مدیریت-نشستهای-واتساپ) مراجعه کنید. فقط نشستهایی که مجاز به استفاده از آنها هستید در اینجا نمایش داده میشوند و مقدار پیشفرض روی نشست پیشفرض تنظیم است. اگر هیچ نشستی برایتان در دسترس نباشد، بهجای این فهرست کشویی، پیامی نمایش داده میشود که از شما میخواهد با مدیر سیستم تماس بگیرید. |
| **نوع پیام** | **متن** برای یک پیام ساده، یا **فایل** برای پیوست تصویر، ویدیو، فایل صوتی یا سند همراه با کپشن اختیاری. |
| **پیام** / **کپشن** | متن پیام (یا کپشن فایل). میتوانید متن دلخواه تایپ کنید، یک قالب ذخیرهشده بارگذاری کنید، یا کدهای کوتاه درج کنید — به بخش [قالبهای پیام و کدهای کوتاه](#قالبهای-پیام-و-کدهای-کوتاه) مراجعه کنید. |
| **گیرندگان** | هر شماره تلفن در یک خط. یک شمارنده زنده نشان میدهد چند ردیف (گیرنده) وارد کردهاید. |
| **حذف شمارههای تکراری از لیست** | با کلیک روی این دکمه، شمارههای تکراری فوراً از کادر گیرندگان حذف میشوند. |
| **ارسال سریع** | وقتی **فعال** باشد، پیام بلافاصله و در همان درخواست به تمام گیرندگان ارسال میشود. برای فهرستهای بزرگ این گزینه را **غیرفعال** کنید تا ارسال بهصورت ایمن در پسزمینه انجام شود. |
| **رد کردن صف ارسال!** | وقتی **فعال** باشد، هر پیام بلافاصله برای سرویسدهنده واتساپ ارسال میشود. وقتی **غیرفعال** باشد، پیامها در [صف ارسال واتساپ](#صف-ارسال-واتساپ) قرار میگیرند و طبق زمانبندی صف بهصورت خودکار ارسال میشوند — گزینه پیشنهادی برای فهرستهای بزرگ، تا ارسال شبیه هرزنامه به نظر نرسد. |
| **نادیده گرفتن شماره مسدود** | وقتی **فعال** باشد، پیام حتی به شمارههای موجود در فهرست [شمارههای مسدود شده](#شمارههای-مسدود-شده) نیز ارسال میشود. فقط در صورت لزوم از آن استفاده کنید. |
| **پیام زمانبندیشده** | وقتی **فعال** باشد، یک **تاریخ ارسال** و **ساعت** در آینده انتخاب میکنید — کل ارسال بهجای اجرای فوری، در همان زمان مشخصشده بهصورت خودکار انجام میشود. به بخش [زمانبندی پیام برای ارسال بعدی](#زمانبندی-پیام-برای-ارسال-بعدی) مراجعه کنید. |
۵. روی **send** کلیک کنید. پنلی از نتایج نمایش داده میشود که تعداد پیامهای پردازششده را نشان میدهد و با کلیک روی **بهروزرسانی نتایج** میتوانید شمارش زنده را در حین ادامه ارسال بهروز کنید.
> **نکته:** اگر دسترسی مشاهده [صف ارسال واتساپ](#صف-ارسال-واتساپ) را داشته باشید، همین پنجره تعداد زنده پیامهای در انتظار ارسال را همراه با لینکی برای مدیریت آنها نیز نشان میدهد.
قالبهای پیام و کدهای کوتاه
https://VIDEO_PLACEHOLDER_URL

استفاده از یک قالب ذخیرهشده
داخل پنجره **ارسال پیام واتساپ**، هر قالب ذخیرهشدهای که با نوع **Wall Message** ساخته شده باشد، بهصورت یک دکمه زیر عنوان **الگوها** نمایش داده میشود. با کلیک روی آن، متن همان قالب مستقیماً در فیلد **پیام** بارگذاری میشود.
ساخت و مدیریت قالبها
قالبها بین ماژولهای پیامک، ایمیل و واتساپ مشترک هستند و از مسیر **ابزارها ← قالب پیام** مدیریت میشوند:
۱. روی **New Template** کلیک کنید.
۲. در **template type** گزینه **Wall Message** را انتخاب کنید.
۳. یک **عنوان** وارد کنید.
۴. **نوع پیام** (متن یا فایل، دقیقاً مانند پنجره ارسال) را انتخاب کرده و متن پیام را بنویسید (یا فایل و کپشن را بارگذاری کنید).
۵. روی **Save** کلیک کنید.
برای ویرایش یا حذف قالبهای موجود، از آیکونهای **ویرایش** و **حذف** در فهرست قالبها استفاده کنید.
کدهای کوتاه
کدهای کوتاه جایگزینهایی هستند که CRM هنگام ارسال، بهصورت خودکار با اطلاعات واقعی هر گیرنده جایگزین میکند. برای درج هرکدام، روی دکمه مربوطه کلیک کنید یا آن را دستی تایپ کنید:
| کد کوتاه | جایگزین میشود با |
|---|---|
| `{user_login}` | نام کاربری گیرنده |
| `{first_name}` | نام |
| `{last_name}` | نام خانوادگی |
| `{full_name}` | نام و نام خانوادگی کامل |
| `{user_email}` | آدرس ایمیل |
| `{phone}` | شماره تلفن |
| `{role}` | نقش کاربری |
| `{display_name}` | نام نمایشی |
| `{company_name}` | نام شرکت/سازمان |
| `{your_usermeta}` | یک فیلد سفارشی پروفایل — بهجای `your_usermeta` کلید همان فیلد را قرار دهید |
مثال: عبارت «سلام {first_name}، سفارش شما آماده تحویل است!» برای هر گیرنده بهصورت شخصیسازیشده ارسال میشود.
صف ارسال واتساپ
https://VIDEO_PLACEHOLDER_URL

پیامهایی که با گزینه **رد کردن صف ارسال!** در حالت غیرفعال ارسال میشوند، بلافاصله ارسال نمیشوند؛ بلکه در صف ارسال واتساپ قرار گرفته و بر اساس دو تنظیم زیر در بالای صفحه **تنظیمات ← واتساپ** بهصورت خودکار و در دستههای کوچک ارسال میشوند:
| تنظیم | توضیح |
|---|---|
| **زمانبندی ارسال** | هر چند وقت یکبار CRM صف را بررسی کرده و دسته بعدی را ارسال میکند (مثلاً هر ۵ دقیقه، هر ساعت و غیره). |
| **تعداد ارسال در هر نوبت** | در هر بار اجرای زمانبندی، چند پیام از صف ارسال میشود. |
برای مدیریت خود صف، از مسیر **ابزارها ← صف واتساپ** استفاده کنید:
- مشاهده تمام پیامهای در انتظار ارسال (متن، فایل پیوست، فرستنده، گیرنده و تاریخ).
- کلیک روی **آیکون چشم** برای مشاهده کامل محتوای یک پیام در صف.
- کلیک روی **آیکون سطل زباله** برای حذف یک پیام از صف، یا انتخاب چند ردیف و حذف همزمان آنها، پیش از ارسال.
زمانبندی پیام برای ارسال بعدی
https://VIDEO_PLACEHOLDER_URL

فعال کردن گزینه **پیام زمانبندیشده** در پنجره ارسال (بهجای ارسال فوری) به شما امکان میدهد یک **تاریخ ارسال** و **ساعت** در آینده انتخاب کنید. کل عملیات ارسال — برای همه گیرندگانی که وارد کردهاید — بهمحض رسیدن آن لحظه، بهصورت خودکار اجرا میشود. همین پنجره **زمان سرور** فعلی را نیز نمایش میدهد تا تاریخ و ساعت را بر اساس ساعت سرور انتخاب کنید، نه ساعت دستگاه خودتان.
تمام پیامهای زمانبندیشده (پیامک، ایمیل و واتساپ با هم) را از مسیر **ابزارها ← پیام زمانبندیشده** مدیریت کنید:
- مشاهده **تاریخ ارسال**، ثبتکننده و زمان ثبت آن.
- کلیک روی **آیکون ویرایش** برای تغییر یک پیام زمانبندیشده پیش از ارسال.
- کلیک روی **آیکون سطل زباله** برای لغو آن.
تاریخچه واتساپ در پروفایل
https://VIDEO_PLACEHOLDER_URL

صفحه پروفایل هر **کاربر** یا **سرنخ** را باز کرده و به دنبال تب **واتساپ** بگردید. این تب تمام پیامهای واتساپ مرتبط با آن شماره تلفن را نشان میدهد — هم پیامهای ارسالی به او و هم پیامهای ارسالی از طرف او (در صورتی که خودش نیز کاربر CRM بوده و پیام واتساپ ارسال کرده باشد) — همراه با:
- متن پیام و فایل پیوستشده (در صورت وجود).
- وضعیت تحویل: **موفق** یا **ناموفق**.
- تاریخ ارسال.
- اینکه پیام **از طرف** او دریافت شده یا **به** او ارسال شده، همراه با لینک به پروفایل طرف مقابل در صورت شناسایی.
از **آیکون چشم** برای مشاهده پیام و از **آیکون سطل زباله** برای حذف آن از تاریخچه استفاده کنید.
شمارههای مسدود شده
گزینه **نادیده گرفتن شماره مسدود** (در [پنجره ارسال](#ارسال-یک-پیام-واتساپ)) هر گیرنده را با فهرست مشترک **شمارههای مسدود شده** — همان فهرستی که ماژول پیامک نیز از آن استفاده میکند — بررسی میکند. اگر شمارهای در این فهرست باشد، مگر آنکه این گزینه را فعال کرده باشید، بهصورت خودکار نادیده گرفته میشود.
این فهرست را از صفحه تنظیمات پیامک (**شمارههای مسدود شده**) مدیریت کنید؛ همانجا میتوانید دلایلی که مشتریان میتوانند برای لغو اشتراک انتخاب کنند را نیز تنظیم کنید.
ارسال خودکار پیام واتساپ
https://VIDEO_PLACEHOLDER_URL
اگر از ماژول **اتوماسیون** استفاده میکنید، میتوانید یک اقدام **واتساپ** به هر گردشکار اتوماسیون اضافه کنید تا با اجرای آن گردشکار، پیامی بهصورت خودکار ارسال شود — برای مثال به خود پروفایل، به کاربران مشخص، به فرد «مسئول» تعریفشده در یک فرم، یا به تمام افراد یک نقش انتخابی. متن پیام، فایل پیوست اختیاری و گیرندگان را در بخش تنظیمات واتساپ همان گردشکار پیکربندی کنید. این بخش از همان کدهای کوتاه معرفیشده در [قالبهای پیام و کدهای کوتاه](#قالبهای-پیام-و-کدهای-کوتاه) استفاده میکند. برای جزئیات کامل ساخت گردشکار، به راهنمای ماژول اتوماسیون مراجعه کنید.
دسترسیها و نقشها
دسترسی به این ماژول از طریق مجوزهایی که به گروههای کاربری اختصاص مییابد کنترل میشود؛ این مجوزها زیر گروه **WallMessage** فهرست شدهاند (بههمراه چند مجوز مشترک که سایر ماژولهای پیامرسانی نیز از آنها استفاده میکنند).
| مجوز | چه اجازهای میدهد |
|---|---|
| **Permission to send message with WallMessage** | امکان باز کردن پنجره ارسال پیام واتساپ و ارسال پیام. |
| **Permission to delete WallMessages in user profile** | امکان حذف رکوردها از [تب تاریخچه واتساپ](#تاریخچه-واتساپ-در-پروفایل) در پروفایلها. |
| **Permission to delete WallMessages in the queue** | امکان حذف پیامها از [صف ارسال واتساپ](#صف-ارسال-واتساپ). |
صفحات **صف واتساپ**، **قالب پیام** و **پیام زمانبندیشده** هرکدام علاوهبر موارد بالا، به مجوز مشاهده صفحه مخصوص به خود نیاز دارند تا در منوی **ابزارها** برای یک گروه کاربری خاص نمایش داده شوند. مشاهده [تب واتساپ در پروفایل](#تاریخچه-واتساپ-در-پروفایل) نیز به یک مجوز مشاهده جداگانه نیاز دارد که با عنوان **«Permission to view the history of WhatsApp in profile»** فهرست شده است.
ساخت، ویرایش یا حذف موارد در بخش [مدیریت نشستهای واتساپ](#مدیریت-نشستهای-واتساپ) به همان سطح دسترسی بخش تنظیمات عمومی سیستم نیاز دارد — کاربرانی که فقط پیام ارسال میکنند به این دسترسی نیازی ندارند؛ این بخش برای مدیران سیستم در نظر گرفته شده است. اینکه چه کسی میتواند از یک نشست *ساختهشده* هنگام ارسال پیام استفاده کند، موضوع جداگانهای است که بهصورت مستقل توسط فهرست **Allowed Users** همان نشست کنترل میشود.
تنظیم دسترسیها
۱. به مسیر **تنظیمات ← گروهها** (یا پنل دسترسیهای کاربری خود) بروید.
۲. گروه مورد نظر را انتخاب کنید.
۳. بخش **WallMessage** (و موارد قالب پیام / پیام زمانبندیشده / صف واتساپ) را در فهرست دسترسیها پیدا کنید.
۴. مجوزهای مورد نیاز را فعال یا غیرفعال کنید.
۵. تغییرات را ذخیره کنید.
رفع اشکال
| نشانه | علت احتمالی | راهحل |
|---|---|---|
| تست همیشه با شکست مواجه میشود، در حالی که پیام واقعاً روی گوشی دریافت میشود | نسخه قدیمی افزونه — این مشکل برطرف شده است. | افزونه CRM را به آخرین نسخه بهروزرسانی کرده و دوباره تست کنید. |
| پیام "No OpenWA session is configured" | هیچ نشستی هنوز ساخته نشده، یا نشست انتخابشده غیرفعال است. | یک نشست را در بخش [مدیریت نشستهای واتساپ](#مدیریت-نشستهای-واتساپ) بسازید یا فعال کنید و یکی را پیشفرض کنید. |
| خطای "cURL request failed" یا خطای اتصال | **آدرس سرور OpenWA** اشتباه است، شماره پورت وارد نشده، یا سرور OpenWA در حال اجرا نیست. | مطمئن شوید سرور OpenWA در حال اجراست و آدرس **Dashboard** را دوباره از کنسول آن، همراه با شماره پورت، بررسی کنید. |
| خطای "OpenWA request failed (HTTP 401)" یا خطای مشابه احراز هویت | **کلید API** با کلید تنظیمشده روی سرور OpenWA مطابقت ندارد. | کلید API را در تنظیمات سرور OpenWA دوباره بررسی کرده و فیلد تنظیمات را بهروز کنید. |
| خطای "OpenWA request failed (HTTP 404)" | **Session Identifier** نشستی که با آن ارسال میکنید، با هیچ نشست موجود روی سرور OpenWA مطابقت ندارد. | داشبورد OpenWA را باز کرده، شناسه دقیق را بررسی کنید و آن را روی همان نشست در [مدیریت نشستهای واتساپ](#مدیریت-نشستهای-واتساپ) بهروز کنید. |
| پنجره ارسال پیام «No WhatsApp session is available to you» را نشان میدهد | هیچ نشست فعالی وجود ندارد، یا فهرست **Allowed Users** همه نشستهای موجود شما را مستثنی کرده است. | از مدیر سیستم بخواهید یک نشست بسازد، یکی را فعال کند، یا شما را به فهرست Allowed Users یک نشست اضافه کند. |
| پیامهای چندرسانهای (تصویر/ویدیو/فایل) ارسال نمیشوند | گزینه **فعالسازی پیامهای چندرسانهای** روی **خیر** تنظیم شده است. | در صورتی که سرور و نشست OpenWA شما از ارسال فایل پشتیبانی میکنند، آن را روی **بله** تنظیم کرده و تنظیمات را ذخیره کنید. |
مثالهای کاربردی
مثال ۱ — پاسخ سریع به یک مشتری
**سناریو:** یک مشتری سؤالی پرسیده و میخواهید از داخل پروفایل او در واتساپ پاسخ دهید.
**مراحل:** پروفایل او را باز کنید، روی آیکون واتساپ کلیک کنید، پاسخ خود را بنویسید، گزینه **رد کردن صف ارسال!** را فعال بگذارید و روی **send** کلیک کنید.
**نتیجه:** پیام بلافاصله از طریق سرویسدهنده پیکربندیشده ارسال میشود و در تب تاریخچه **واتساپ** پروفایل او ثبت میشود.
مثال ۲ — اطلاعیه گروهی برای فهرستی از سرنخها
**سناریو:** میخواهید به ۵۰۰ سرنخ درباره یک تخفیف اطلاع دهید، بدون اینکه شبیه هرزنامه به نظر برسد.
**تنظیمات:**
- **ارسال سریع:** غیرفعال
- **رد کردن صف ارسال!:** غیرفعال
- **پیام:** بارگذاریشده از یک قالب ذخیرهشده همراه با کد کوتاه `{first_name}`
**نتیجه:** هر ۵۰۰ پیام در صف ارسال واتساپ قرار میگیرند و طبق تنظیمات **زمانبندی ارسال** و **تعداد ارسال در هر نوبت** بهمرور ارسال میشوند، هرکدام با نام کوچک گیرنده شخصیسازی شده.
مثال ۳ — زمانبندی یک یادآوری برای فردا صبح
**سناریو:** میخواهید پیام یادآوری فردا ساعت ۹ صبح ارسال شود، نه همین حالا.
**تنظیمات:**
- **پیام زمانبندیشده:** فعال
- **تاریخ / ساعت ارسال:** فردا، ساعت ۰۹:۰۰
**نتیجه:** پیام هماکنون در صف ثبت میشود اما فقط در همان تاریخ و ساعت مشخصشده واقعاً ارسال خواهد شد. میتوانید پیش از آن، از مسیر **ابزارها ← پیام زمانبندیشده** آن را بررسی یا لغو کنید.
مثال ۴ — دو شماره متصل، یکی محدود به پشتیبانی
**سناریو:** شرکت شما یک شماره واتساپ فروش و یک شماره واتساپ پشتیبانی دارد که هر دو به یک سرور OpenWA متصل شدهاند، و فقط تیم پشتیبانی باید بتواند از شماره پشتیبانی پیام ارسال کند.
**تنظیمات:**
- **نشست «فروش»** — فهرست Allowed Users خالی گذاشته شده (برای همه باز است) و بهعنوان پیشفرض علامتگذاری شده.
- **نشست «پشتیبانی»** — فهرست Allowed Users روی حسابهای تیم پشتیبانی تنظیم شده.
**نتیجه:** همه در فهرست کشویی نشست پنجره ارسال، گزینه «فروش» را میبینند؛ فقط اعضای تیم پشتیبانی گزینه «پشتیبانی» را نیز میبینند و میتوانند انتخاب کنند. گردشکارهای اتوماسیون و پیامهای صفشدهای که نشست خاصی مشخص نکردهاند، از «فروش» استفاده میکنند چون پیشفرض است.
بهترین روشها
- **پس از هر تغییر در تنظیمات، اتصال را تست کنید.** پیش از تکیهکردن به این ماژول برای مشتریان واقعی، از بخش تست OpenWA (یا یک ارسال واقعی) استفاده کنید.
- **به هر شماره واتساپ متصل، نشست جداگانهای با نام واضح بدهید.** این کار استفاده از جدول نشستها، فهرست کشویی پنجره ارسال و انتخابگر تست را زمانی که بیش از یک شماره متصل است ساده میکند.
- **نشستهای حساس را با Allowed Users محدود کنید.** برای مثال، نشست خط پشتیبانی را فقط به تیم پشتیبانی محدود کنید و نشست فروش عمومی را برای همه دارندگان مجوز ارسال باز بگذارید.
- **برای فهرستهای بزرگ، ارسال سریع را غیرفعال کنید.** این کار باعث میشود فرایند ارسال بهصورت ایمن در پسزمینه انجام شود.
- **برای ارسال گروهی، صف را به ارسال آنی ترجیح دهید.** غیرفعال کردن **رد کردن صف ارسال!** باعث میشود پیامها بهمرور پخش شوند و کمتر شبیه هرزنامه به نظر برسند.
- **در قالبها از کدهای کوتاه استفاده کنید.** پیام شخصیسازیشده تأثیر بهتری نسبت به پیام عمومی دارد و قالبها متن شما را یکدست نگه میدارند.
- **اگر فایل پیوست ارسال نمیکنید، فعالسازی پیامهای چندرسانهای را خاموش نگه دارید.** فعالکردن آن بدون نیاز، فقط یک نقطه خطای اضافه ایجاد میکند.
- **فهرست شمارههای مسدود شده را بهطور مرتب بازبینی کنید.** این فهرست با پیامک مشترک است، پس دقیق نگهداشتنش هر دو کانال را محافظت میکند.
- **در واگذاری مجوزهای حذف دقت کنید.** دسترسی حذف از صف و تاریخچه را فقط به کاربرانی بدهید که باید بتوانند پیامهای ارسالی دیگران را نیز حذف کنند.