BSS HostKhaneh

پیکربندی اعلان‌ها (ایمیل و پیامک)

← بازگشت به راهنما

پیکربندی اعلان‌ها (ایمیل و پیامک)



> version: 1.7 | last_updated: 2026-09-29 | audience: admin

هدف



ارسال خودکار اعلان به مشتریان هنگام رویدادهایی مثل ثبت سفارش، فعال‌سازی سرویس، فاکتور و ….

اگر روی مشتری در **ویرایش → تماس** گزینهٔ **عدم ارسال ایمیل** یا **عدم ارسال پیامک** فعال باشد، همان کانال برای آن مشتری skip می‌شود (سیستمی و دستی).

تنظیم کانال‌ها (مسیر جدید)



  • وارد **پنل شرکت** (`/panel`) شوید

  • **تنظیمات → تنظیمات اصلی → تب اعلان‌ها**

  • تب **پیامک** و **ایمیل** را جداگانه پیکربندی کنید


  • منوی جداگانهٔ «کانال‌های اعلان» حذف شده است (Resource برای سازگاری URL باقی مانده ولی از منو مخفی است).

    تمپلیت اعلان



  • **تنظیمات → تمپلیت اعلان**

  • **مشخصات** تمپلیت (نام، رویداد، فعال)

  • **محتوای پیام:**

  • - موضوع ایمیل
    - **متن ایمیل** با ادیتور **TinyMCE** (فارسی / راست‌چین) — دکمه‌های قالب‌بندی، لیست، لینک، جدول؛ دکمه **کد** برای HTML خام
    - **متن پیامک** (فقط متن ساده، بدون HTML)
  • **جایگزین‌های قابل استفاده** در انتهای فرم — باکس‌های دسته‌بندی‌شده؛ با کلیک کپی می‌شوند

  • روی **دسته محصول → تب اعلان‌ها** تمپلیت را به رویداد وصل کنید


  • ایمیل به‌صورت HTML با `dir="rtl"` ارسال می‌شود؛ پیامک همیشه متن ساده است.

    نمونه جایگزین‌ها:

    | باکس | نمونه |
    |------|--------|
    | مشتری | `{{customer_first_name}}` `{{customer_last_name}}` `{{customer_full_name}}` `{{customer_mobile}}` |
    | سرویس | `{{product_name}}` `{{subscription_number}}` `{{username}}` `{{password}}` `{{service_domain}}` `{{service_panel_url}}` `{{service_ip}}` |
    | فاکتور | `{{invoice_issue_date}}` `{{invoice_paid_at}}` `{{invoice_subtotal}}` `{{invoice_tax_total}}` `{{invoice_total}}` `{{invoice_status}}` `{{invoice_description}}` |

    ایمیل فعال‌سازی هاست (cPanel / DirectAdmin و …)



    بعد از موفق بودن Provision (`subscription.activated`):

  • نام کاربری، رمز، دامنه، آدرس پنل کنترل، IP (در صورت وجود)

  • تمپلیت پیش‌فرض سیستم این فیلدها را دارد؛ اگر روی دسته تمپلیت سفارشی بسته‌اید، همان جایگزین‌ها را در متن بگذارید

  • رویداد جدا `subscription.info` فقط وقتی روی دسته به تمپلیت وصل شده باشد هم ارسال می‌شود


  • ارائه‌دهندگان پیامک



    در تب پیامک یکی از این درایورها را انتخاب کنید (آدرس پایه در بیشتر موارد قابل ویرایش است):

    | درایور | توضیح |
    |--------|--------|
    | `kavenegar` | کاوه‌نگار |
    | `arad` | آراد |
    | `sms_ir` | sms.ir (`x-api-key` + lineNumber) |
    | `linepayamak` | Line Payamak |
    | `magfa` | مگفا (HTTP v2 + Basic Auth) |
    | `farapayamak` | فراپیامک |
    | `asanak` | آسانک |
    | `refatec` | رفاتک |
    | `rahyab` | رهیاب پیامک |
    | `mihansms` | میهن‌اس‌ام‌اس |
    | `smpp` | کلاینت SMPP 3.4 (host/port/system_id) |
    | `melipayamak` | ملی پیامک |
    | `smartsms` | Smart SMS |
    | `armaghan` | ارمغان |
    | `custom_http` | HTTP سفارشی با قالب و پارامترهای آزاد |
    | `log` | فقط لاگ (تست) |

    Production



  • Sandbox را خاموش کنید

  • اعتبارنامه و شماره فرستنده را وارد کنید

  • ذخیره


  • HTTP سفارشی



  • `url` / `method` / `content_type` (json, form, multipart, query, raw)

  • هدرها و قالب بدنه با جایگزین‌های `{{to}}` `{{message}}` `{{sender}}` و هر کلید config / پارامتر ثابت

  • اختیاری: `success_contains`، `success_json_path` + `success_json_equals`


  • مشاهده لاگ



    **تنظیمات → لاگ اعلان‌ها**

    وضعیت‌ها:
    | وضعیت | معنی |
    |--------|------|
    | `simulated` | شبیه‌سازی (Sandbox یا MAIL_MAILER=log) |
    | `sent` | ارسال واقعی |
    | `failed` | خطا |

    رویدادها (نمونه)



    | کلید | توضیح |
    |------|--------|
    | `order.placed` | ثبت سفارش |
    | `subscription.activated` | فعال‌سازی سرویس |
    | `subscription.suspended` | تعلیق سرویس |
    | `subscription.collected` | جمع‌آوری سرویس |
    | `invoice.purchase_issued` | فاکتور خرید |
    | `invoice.renewal_issued` | فاکتور تمدید |
    | `invoice.paid` | فاکتور پرداخت‌شده |
    | `invoice.cancelled` | فاکتور کنسل‌شده |
    | `invoice.payment_warning` | اخطار عدم پرداخت |
    | `subscription.info` | اطلاعات سرویس |
    | `ticket.created` | تیکت ثبت شد |
    | `ticket.replied` | پاسخ پشتیبانی |
    | `ticket.status_changed` | ورود تیکت به وضعیت مسیر (فقط اگر روی وضعیت قالب ایمیل/SMS انتخاب شده باشد) |