چطور چت‌بات را روی سایت نصب کنیم؟ ویجت و API

به‌روزرسانی: · ۷ دقیقه مطالعه

خلاصه در یک نگاه

نصب چت‌بات روی سایت دو راه دارد. راه ساده، ویجت است: یک خط کد را کپی می‌کنید و قبل از بسته شدن تگ body می‌گذارید. راه دوم برای توسعه‌دهنده‌هاست: API با کلید اختصاصی که از سرور خودتان صدا می‌زنید. در هر دو حالت، کلید را هرگز داخل کد سمت مرورگر نگذارید و ویجت را به دامنه‌ی خودتان محدود کنید.

اضافه کردن چت‌بات به سایت کار سختی نیست. بیشتر وقت صرف آماده کردن اطلاعات می‌شود و خود نصب، چند ثانیه‌ی کپی و پیست است. با این حال چند نکته هست که اگر رعایت نشود، ویجت دیده نمی‌شود یا امنیت سایت به خطر می‌افتد. این راهنما نصب چت بات روی سایت را از اول تا آخر پوشش می‌دهد: ویجت یک‌خطی برای کسانی که برنامه‌نویس نیستند، API برای کسانی که می‌خواهند ربات را در محصول خودشان بسازند، و فهرستی از مشکل‌های رایج.

ویجت یا API؟ کدام را انتخاب کنیم

قبل از هر چیز تصمیم بگیرید دکمه‌ی گفتگو را روی سایت می‌خواهید یا ربات را داخل برنامه‌ی خودتان.

ویجتAPI
مناسب برایسایت‌های معمولی و فروشگاهیاپ موبایل، پنل کاربری، ربات پیام‌رسان
نیاز به برنامه‌نویسنه؛ فقط کپی و پیستبله
ظاهرآماده؛ رنگ، عنوان و جای دکمه قابل تنظیمرابط را خودتان می‌سازید
احراز هویتکلید ویجت و محدودیت دامنهکلید API روی سرور شما

پیش از نصب: ربات را آماده کنید

ربات فقط به اندازه‌ی اطلاعاتی که بهش می‌دهید می‌تواند جواب بدهد. آدرس سایت، فایل‌های قوانین و قیمت و سؤال‌های متداول را جمع کنید. لازم نیست مرتب باشند؛ راوانو آن‌ها را می‌خواند و سازمان می‌دهد.

بعد از یادگیری، چیزی را که ربات فهمیده در پنج بخش می‌بینید. اشتباه‌ها را اصلاح و هر بخش را تأیید کنید. ساخت و امتحان ربات داخل پنل رایگان است، پس تا از جواب‌ها راضی نشده‌اید عجله نکنید. اگر هنوز ربات ندارید، اول ثبت‌نام کنید.

نصب ویجت با یک خط کد

ویجت یک اسکریپت کوتاه است که دکمه‌ی گفتگو را روی صفحه‌ی سایت شما اضافه می‌کند. کد دقیق را از بخش «نصب» پنل بردارید؛ شکل کلی‌اش این است:

<script src="https://YOUR-DOMAIN/widget.js"
        data-key="wk_xxxxxxxx" async></script>

مراحل کار

  1. در پنل، به بخش نصب بروید و کد را کپی کنید.
  2. کد را قبل از بسته شدن تگ body در قالب صفحه‌هایتان بگذارید.
  3. صفحه را باز کنید. دکمه‌ی گفتگو در گوشه‌ی صفحه ظاهر می‌شود.

کد را کجا بگذاریم؟

اگر سایت شما HTML ساده است، کد را در فایل قالب مشترک یا انتهای هر صفحه بگذارید. در سیستم‌های مدیریت محتوا و سایت‌سازها معمولاً بخشی مثل «کد سفارشی»، «اسکریپت فوتر» یا «تزریق کد» وجود دارد که به همه‌ی صفحه‌ها اضافه می‌شود. نام دقیق بخش از سیستمی به سیستم دیگر فرق می‌کند، پس در تنظیمات قالب دنبال همین مفهوم بگردید.

اگر خودتان سایت را مدیریت نمی‌کنید، همین یک خط را به کسی که مدیریت می‌کند بدهید؛ کمتر از یک دقیقه کار دارد.

محدود کردن ویجت به دامنه‌ی خودتان

کد ویجت داخل صفحه دیده می‌شود، یعنی هر کسی می‌تواند آن را کپی کند. اگر دامنه‌ی مجاز تعریف نکنید، نظریاً کد روی سایت دیگری هم کار می‌کند و از اعتبار شما خرج می‌شود.

در پنل، در بخش «سایت‌های مجاز»، هر آدرس را در یک خط بنویسید، مثلاً example.com. با این کار ویجت فقط روی سایت‌های خودتان جواب می‌دهد. اگر خالی بگذارید، یعنی همه‌جا مجاز است؛ برای محیط واقعی پیشنهاد نمی‌کنیم. سایت آزمایشی و سایت اصلی را هم هر دو بنویسید تا موقع تست گیر نکنید.

هزینه‌ی ویجت

ویجت سایت یک‌بار ۱٬۴۹۰٬۰۰۰ تومان است و از کیف پول کم می‌شود. بعد از آن هر درخواستی که ربات به مشتری واقعی جواب می‌دهد ۶۵۰ تومان است. جزئیات را در صفحه‌ی قیمت‌ها ببینید.

ظاهر ویجت: رنگ، عنوان و جای دکمه

ظاهر را از همان بخش نصب تنظیم می‌کنید و پیش‌نمایش زنده می‌بینید.

  • رنگ: رنگ اصلی برند را انتخاب کنید تا با سایت هماهنگ باشد.
  • جای دکمه: گوشه‌ی شروع یا پایان صفحه؛ جایی را بگیرید که با دکمه‌های دیگر سایت تداخل نکند.
  • عنوان: نام کسب‌وکار یا نام ربات.
  • متن کنار دکمه: یک جمله‌ی کوتاه و اختیاری، مثل «سؤالی دارید؟»

راست‌به‌چپ و زبان

ویجت اول برای فارسی ساخته شده و راست‌به‌چپ است. زبان انگلیسی را هم پشتیبانی می‌کند، پس برای سایت دوزبانه هم قابل استفاده است.

بعد از نصب: تست واقعی

قبل از اینکه خبرش را به مشتری‌ها بدهید، چند دقیقه امتحان کنید.

  1. صفحه را در یک پنجره‌ی ناشناس یا مرورگر دیگر باز کنید تا کش مرورگر گمراه‌تان نکند.
  2. چند سؤال واقعی بپرسید، از ساده تا سخت، و ببینید منبع جواب‌ها درست است.
  3. یک سؤال بی‌ربط یا خارج از اطلاعاتتان بپرسید. ربات باید بگوید نمی‌داند و حدس نزند.
  4. صفحه را روی موبایل هم نگاه کنید؛ دکمه نباید روی چیز مهمی را بپوشاند.
  5. چند روز بعد، سؤال‌های بی‌پاسخ را در پنل ببینید و جوابشان را اضافه کنید.

اتصال با API برای توسعه‌دهنده‌ها

اگر می‌خواهید ربات را در اپ، پنل کاربری یا هر محصول دیگری بگذارید، از API استفاده کنید. برای هر کسب‌وکار یک کلید اختصاصی می‌سازید و درخواست‌ها را به این نشانی می‌فرستید: POST به مسیر /api/v1/public/v1/chat با هدر Authorization و مقدار Bearer و کلید.

بدنه‌ی درخواست JSON است و دو فیلد دارد: message که پیام کاربر است و user_id که شناسه‌ای از طرف شما برای تشخیص مشتری است. پاسخ شامل conversation_id و message است و داخل message دو چیز می‌بینید: متن جواب و فهرست منبع‌ها.

نمونه با curl

curl -X POST https://YOUR-DOMAIN/api/v1/public/v1/chat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "ارسال به شیراز چند روزه است؟",
    "user_id": "customer-42"
  }'

نمونه با JavaScript

const res = await fetch('https://YOUR-DOMAIN/api/v1/public/v1/chat', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + process.env.RAVANO_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    message: 'ارسال به شیراز چند روزه است؟',
    user_id: 'customer-42',
  }),
})
const { conversation_id, message } = await res.json()
console.log(message.content, message.citations)

پاسخ استریم

اگر می‌خواهید جواب کلمه‌به‌کلمه نمایش داده شود، API پاسخ استریم هم دارد. نمونه‌های Python و حالت استریم را در مستندات می‌بینید.

امنیت: کلید API را کجا نگه داریم؟

قانون اول: کلید API یک رمز است. اگر آن را داخل کد جاوااسکریپتی بگذارید که در مرورگر اجرا می‌شود، هر بازدیدکننده‌ای با باز کردن ابزار توسعه‌دهنده آن را می‌بیند و می‌تواند به حساب شما درخواست بزند.

  • کلید را فقط روی سرور خودتان نگه دارید، مثلاً در متغیر محیطی.
  • مرورگر یا اپ، درخواست را به سرور شما بفرستد و سرور شما با کلید به راوانو وصل شود.
  • اگر فقط یک دکمه‌ی گفتگو روی سایت می‌خواهید، به‌جای API از ویجت استفاده کنید؛ آنجا لازم نیست کلید API در صفحه باشد.
  • اگر کلیدی لو رفت، فوراً کلید جدید بسازید و کلید قبلی را کنار بگذارید.
  • پیام کاربر را قبل از ارسال، از اطلاعات حساس مثل شماره کارت پاک کنید و در ربات هم از مشتری چنین چیزهایی نخواهید.

اگر ویجت دیده نشد: فهرست عیب‌یابی

  • کد را قبل از بسته شدن تگ body گذاشته‌اید و در محل درستی ذخیره شده است؟
  • دامنه‌ی سایت در فهرست سایت‌های مجاز پنل هست؟ حتی تفاوت www و بدون www می‌تواند مسئله بسازد.
  • ویجت از پنل خریداری و فعال شده است و موجودی کیف پول کافی است؟
  • کش سایت یا افزونه‌ی بهینه‌سازی قدیمی را پاک کنید و صفحه را دوباره باز کنید.
  • در کنسول مرورگر خطایی دیده می‌شود؟ گاهی افزونه‌های مسدودکننده یا سیاست امنیتی صفحه، اسکریپت را نمی‌گذارند اجرا شود.
  • ربات در پنل ساخته و تأیید شده است و در صفحه‌ی گفتگوی پنل درست جواب می‌دهد؟

یک نکته درباره‌ی حریم خصوصی

گفتگوی مشتری‌ها در پنل ثبت می‌شود تا بتوانید کیفیت را بسنجید. بهتر است در سایت‌تان بنویسید که با یک ربات حرف می‌زنند و از مشتری‌ها نخواهید اطلاعات حساس مثل رمز یا شماره‌ی کارت را در گفتگو بنویسند.

اگر آماده‌اید، رایگان شروع کنید، ربات را بسازید و بعد با ویجت یا API روی سایت‌تان بگذارید. برای ایده‌ی بیشتر، راهنمای ساخت چت‌بات برای وب‌سایت و ربات پشتیبان مشتری را هم ببینید.

پرسش‌های متداول

برای نصب چت بات روی سایت باید برنامه‌نویس باشم؟

برای ویجت نه. فقط یک خط کد را از پنل کپی می‌کنید و قبل از بسته شدن تگ body صفحه‌ها می‌گذارید. اگر دسترسی به قالب سایت ندارید، همین کد را به کسی که سایت را مدیریت می‌کند بدهید. API فقط برای توسعه‌دهنده‌ها لازم است.

کد ویجت را کجای سایت بگذارم؟

قبل از بسته شدن تگ body، ترجیحاً در قالب مشترک همه‌ی صفحه‌ها. در سایت‌سازها و سیستم‌های مدیریت محتوا معمولاً بخشی برای کد سفارشی یا اسکریپت فوتر هست. نام آن در هر سیستم فرق می‌کند و ما افزونه‌ی خاصی ادعا نمی‌کنیم.

آیا می‌شود ویجت فقط روی سایت خودم کار کند؟

بله. در بخش نصب پنل می‌توانید دامنه‌های مجاز را وارد کنید و ویجت فقط روی همان‌ها کار می‌کند. سایت آزمایشی و سایت اصلی را هر دو بنویسید تا هنگام تست مشکلی پیش نیاید.

کلید API را می‌توانم داخل کد سایت بگذارم؟

نه. کدی که در مرورگر اجرا می‌شود برای همه دیدنی است و کلید لو می‌رود. کلید را فقط روی سرور خودتان نگه دارید و درخواست‌ها را از آنجا بفرستید. اگر فقط دکمه‌ی گفتگو می‌خواهید، ویجت لازم نیست کلید را در صفحه بگذارد.

نصب ویجت چقدر هزینه دارد؟

ویجت سایت یک‌بار ۱٬۴۹۰٬۰۰۰ تومان است و اشتراک ماهانه ندارد. بعد از آن هر درخواستی که ربات به مشتری واقعی جواب می‌دهد ۶۵۰ تومان از کیف پول کم می‌شود. ساخت و امتحان ربات داخل پنل رایگان است.