مستندات چت زنده اکسیر پیامک
راهنمای نصب ویجت چت روی سایت، مدل ارتباط با API، و پروتکل بلادرنگ برای یکپارچهسازیهای سفارشی.
معرفی
سرویس چت اکسیر پیامک از دو بخش تشکیل شده: یک ویجت جاوااسکریپت که روی سایت شما نصب میشه و بازدیدکنندهها میتونن باهاش گفتگو رو شروع کنن، و یک پنل مدیریت که پیامها، بازدیدکنندههای آنلاین و گزارشهای آماری رو نشون میده. برای اکثر کاربردها فقط نصب ویجت کافیه؛ بخش API برای کسایی هست که میخوان یکپارچهسازی سفارشی بسازن.
نصب ویجت
بعد از خرید اشتراک، کد جاسازی اختصاصی سایتتون رو در ایمیل تاییدیه و صفحه نتیجه پرداخت دریافت میکنید.
- کد زیر رو قبل از تگ بسته
</body>در سایتتون قرار بدید. - ذخیره و صفحه رو رفرش کنید — حباب چت پایین سمت راست سایت ظاهر میشه.
- وارد پنل مدیریت بشید تا پیامها رو مشاهده و پاسخ بدید.
<script src="https://chat.exirsms.ir/widget.js" data-site="YOUR_WIDGET_KEY"></script>
YOUR_WIDGET_KEY یه شناسه عمومیه (نه یک رمز مخفی) — همونجوری که توی HTML سایتتون قابل مشاهدهست، امنه که در معرض دید باشه.سفارشیسازی
رنگ برند ویجت (رنگ حباب و پیامهای شما) از تنظیمات سایت شما در پایگاهداده خونده میشه و بهصورت خودکار روی ویجت اعمال میشه — نیازی به تغییر کد جاسازی نیست.
مدل احراز هویت
دو نوع کلید در این سیستم وجود داره:
| نوع | مصرف | سطح دسترسی |
|---|---|---|
widget_key | نصب ویجت روی سایت (در HTML عمومیه) | فقط شروع گفتگوی بازدیدکننده |
| Session Cookie | ورود به پنل مدیریت (httpOnly) | مشاهده/پاسخ به همه گفتگوهای همون سایت |
درخواستهای عمومی (شروع نشست، تاریخچه) فقط با widget_key کار میکنن. درخواستهای مدیریتی نیاز به ورود از طریق پنل و کوکی نشست دارن.
POST شروع نشست بازدیدکننده
هر بار که ویجت باز میشه این درخواست ارسال میشه. اگه بازدیدکننده قبلاً نشست داشته باشه (از localStorage)، همون گفتگو ادامه پیدا میکنه؛ در غیر این صورت گفتگوی جدید ساخته میشه.
| پارامتر | نوع | الزامی | توضیح |
|---|---|---|---|
siteKey | string | اجباری | همون widget_key |
sessionId | string | اختیاری | شناسه نشست قبلی (برای ادامه گفتگو) |
page | string | اختیاری | آدرس صفحه فعلی بازدیدکننده |
referrer | string | اختیاری | صفحه ارجاعدهنده |
name, phone | string | اختیاری | اطلاعات تماس اختیاری بازدیدکننده |
curl -X POST https://chat.exirsms.ir/api/session \
-H "Content-Type: application/json" \
-d '{"siteKey":"YOUR_WIDGET_KEY","page":"https://example.com/"}'
# پاسخ:
{
"sessionId": "c56729f6f3791fe3b3f90ebf1bd7d50b",
"conversationId": 42,
"siteId": 7,
"brandColor": "#6d5efc"
}
402 برمیگرده.GET تاریخچه گفتگو
لیست پیامهای یک گفتگوی مشخص رو برمیگردونه — برای نمایش تاریخچه هنگام باز شدن مجدد ویجت استفاده میشه.
{
"messages": [
{ "sender_type": "visitor", "body": "سلام", "created_at": 1788616754996 },
{ "sender_type": "admin", "body": "سلام بفرمایید", "created_at": 1788616800000 }
]
}
اتصال WebSocket
پیامهای جدید بهصورت بلادرنگ از طریق WebSocket ارسال میشن — نه polling.
برای ارسال پیام از سمت بازدیدکننده، یک فریم JSON با ساختار زیر روی این اتصال بفرستید:
{ "type": "message", "body": "متن پیام شما" }
رویدادهای دریافتی
پیامهای دریافتی از سرور روی همین اتصال، بر اساس فیلد type تفکیک میشن:
| type | زمان ارسال |
|---|---|
message | پاسخ جدید از پشتیبانی رسیده |
چت داخلی تیم
هر سایت میتونه چند عضو مدیریت داشته باشه. یک عضو موجود از داخل پنل (تب «تیم») میتونه لینک دعوت بسازه و برای همکارش بفرسته؛ همکار با اون لینک حساب خودش رو میسازه و به تیم اضافه میشه — بدون اینکه رمز عبورش رو کسی غیر از خودش وارد کنه. اعضای تیم یک کانال گفتگوی داخلی مشترک هم دارن که جدا از گفتگوهای مشتریانه.
اشتراک و تمدید
اشتراک ماهانهست و تاریخ انقضا در پنل مدیریت (بالای لیست گفتگوها) نمایش داده میشه. تا ۷ روز مونده به انقضا هشدار زرد، و بعد از انقضا هشدار قرمز با دکمه تمدید فوری نشون داده میشه. تمدید از همون تاریخ انقضای فعلی محاسبه میشه، پس تمدید زودهنگام هیچ روزی از اشتراک باقیمونده رو هدر نمیده. در صورت انقضا، ویجت روی سایت شما غیرفعال میشه ولی دادههای گفتگوهای قبلی حفظ میمونه.