استفاده از توابع و رویدادهای معرفی شده ، نیازمند دانش فنی در زمینه طراحی وب می باشد.
رویداد goftino_ready
در صورت آماده شدن ابزارک گفتگو جهت استفاده ، این رویداد اجرا می شود.
دقت کنید: توابعی که در ادامه خواهید دید ، باید در کد روبرو (داخل رویداد goftino_ready) قرار بگیرند یا پس از لود ابزارک فراخوانی شده، تا بدون ایجاد مشکل قابل اجرا باشند.
<script> window.addEventListener('goftino_ready', function () { // function... // Goftino.setUser(...); // Goftino.getUser(...); // Goftino.setWidget(...); // Goftino.sendMessage(...); }); </script>
رویداد goftino_sendMessage
در صورت ارسال هر پیام از سوی کاربر، این رویداد اجرا شده و به نوع و محتوای پیام ارسالی دسترسی خواهید داشت.
Parameter | Type | توضیح |
detail.type | string | نوع پیام ارسالی کاربر یکی از عبارت های روبرو می باشد |
detail.content | string | محتوای پیام ارسالی کاربر که از نوع answer, text, file, voice باشد |
detail.content | array | محتوای پیام ارسالی کاربر که یکی از انواع فرم ها باشد |
window.addEventListener('goftino_sendMessage', function (d) { var message_type = d.detail.type; // "text" , "file" , "voice" , "startForm" , "delayForm" , "offlineForm" , "answer" var message_content = d.detail.content; // If message_type is text,file,voice : // "hi, please help..."
// If message_type is form : // [ // { label : "label1", value : "value1" }, // ... // ] });
رویداد goftino_getMessage
در صورت دریافت پیام از اپراتورها، این رویداد اجرا شده و به نوع و محتوای پیام دریافتی دسترسی خواهید داشت.
Parameter | Type | توضیح |
detail.type | string | نوع پیام دریافتی کاربر یکی از عبارت های روبرو می باشد |
detail.content | string | محتوای پیام دریافتی کاربر |
detail.content | object | محتوای پیام دریافتی کاربر که از نوع پرسش باشد |
window.addEventListener('goftino_getMessage', function (d) { var message_type = d.detail.type; // "text" , "file" , "voice" , "question" var message_content = d.detail.content; // "hi, thanks for joining chat..." // If message_type is question : // { // question : "the question", answers : ["answer1","answer2"] // } });
رویداد goftino_openWidget
در صورت باز شدن ابزارک گفتگو، این رویداد اجرا خواهد شد.
window.addEventListener('goftino_openWidget', function () {
// function...
});
رویداد goftino_closeWidget
در صورت بسته شدن ابزارک گفتگو، این رویداد اجرا خواهد شد.
window.addEventListener('goftino_closeWidget', function () {
// function...
});
تابع setUser
با استفاده از این تابع می توانید اطلاعات کاربری که به وب سایت شما لاگین کرده را به گفتینو بفرستید تا در بخش مشخصات کاربر برای هر گفتگو نمایش داده شده و به آنها دسترسی داشته باشید.
دقت کنید: این تابع در رویداد goftino_ready باید اعمال شود.
Field | Type | توضیح |
string | ایمیل کاربر لاگین شده | |
name | string | نام کاربر لاگین شده |
about | string | درباره ی کاربر لاگین شده |
phone | string | تلفن کاربر لاگین شده |
avatar | string | عکس کاربر لاگین شده |
tags | string | برچسب |
forceUpdate | boolean | در صورت وجود مشخصات کاربر در گفتینو، این اطلاعات جایگزین قبلی شود؟ |
Goftino.setUser({ email : 'test@email.com', name : 'Ali Rahimi', about : 'about me...', phone : '09123456789', avatar : 'http://goftino.com/mypic.jpg', tags : 'tag1,tag2,tag3', forceUpdate : true });
تابع getUser
با ارسال این درخواست به گفتینو می توانید اطلاعات کاربر را دریافت و در صورت نیاز در سایت خود ذخیره و استفاده نمایید.
پارامترهای خروجی از این تابع شامل موارد زیر است :
Field | Type | توضیح |
status | string | وضعیت دریافت اطلاعات |
name | string | نام کاربر |
string | ایمیل کاربر | |
phone | string | تلفن کاربر |
about | string | توضیحات کاربر |
avatar | string | عکس کاربر |
firstVisit | string | تاریخ اولین بازدید کاربر |
pageView | string | صفحات بازدید شده کاربر |
location | string | موقعیت کاربر |
browser | string | اطلاعات مرورگر کاربر |
os | string | سیستم عامل کاربر |
hasChat | boolean | کاربر تاکنون گفتگویی داشته است؟ |
tags | string | برچسب |
Goftino.getUser( function(data) { var userData = data; }); // example userData object on Success { status : "success", name : "Ali Rahimi", email : "test@email.com", phone : "09123456789", about : "some info about user...", avatar : "http://goftino.com/mypic.jpg", firstVisit : "2019-02-22T19:05:17.067Z", pageView : "25", location : "Iran", browser : "Chrome 72.0.3626", os : "Windows 10", hasChat : true, tags : "tag1,tag2,tag3" } // example userData object on Error { status: "error", message: "User Not Found" }
تابع setWidget
در مواقعی تمایل به تغییر جایگاه ابزارک دارید و یا شاید نخواهید آیکون پیش فرض ابزارک در سایت نمایش داده شود و به دکمه ای با سلیقه خود در بخش خاصی از صفحه نیاز دارید.(نمونه گرافیکی دکمه ابزارک دلخواه در تصویر روبرو قابل مشاهده است)
حتی می توانید باز و بسته شدن پنجره گفتگو را با دستورات خودتان در سایت اعمال کنید.
ضمن اینکه امکان حذف صدای هشدار پیام جدید برای کاربر و نمایش تعداد پیام های خوانده نشده در این قسمت فراهم شده است.
دقت کنید: در صورت مخفی کردن آیکون ابزارک، نیاز دارید از توابع open و close و یا toggle استفاده کنید.
Field | Type | توضیح |
iconUrl | string | آدرس فایل آیکون دلخواه برای ابزارک |
cssUrl | string | آدرس فایل CSS سفارشی برای ابزارک |
soundUrl | string | آدرس فایل صدای دلخواه برای پیام جدید |
marginRight | integer | فاصله ابزارک از سمت راست صفحه |
marginLeft | integer | فاصله ابزارک از سمت چپ صفحه |
marginBottom | integer | فاصله ابزارک از پایین صفحه |
hasIcon | boolean | نمایش یا عدم نمایش آیکون ابزارک در صفحه |
hasSound | boolean | پخش یا عدم پخش صدای هشدار پیام جدید |
counter | string | نام class یا id باکس شمارنده پیام جدید (قبل از نام class نقطه و قبل از نام id عبارت # بگذارید) |
filterWords | string | لیست کلمات محدود شده در گفتگو |
Goftino.setWidget({
iconUrl: 'http://goftino.com/myicon.jpg',
cssUrl: 'http://goftino.com/mystyle.css',
soundUrl: 'http://goftino.com/alert.mp3',
marginRight: 30,
marginLeft: 30,
marginBottom: 30,
hasIcon: false,
hasSound: false,
counter: '#div_idName', //or '.div_className'
filterWords: 'word1,word2,word3'
});
live_helpنمونه کد راهنما - تغییر جایگاه ابزارک
live_helpنمونه کد راهنما - تغییر جایگاه ابزارک در موبایل
تابع getUserId
اگر نیاز دارید گفتگوهای یک کاربر را حتی با مرورگر یا دستگاه های مختلف ، بصورت یکپارچه داشته باشید ، ابتدا
با استفاده از این تابع شناسه یکتای کاربر (id) در گفتینو را دریافت و در پایگاه داده سایت خود ذخیره کنید ، سپس با کمک تابع setUserId در زمان لازم میتوانید آن را فراخوانی و اعمال کنید.
شناسه یکتای کاربر یک عبارت 64 حرفی است.
var user_id = Goftino.getUserId();
تابع setUserId
بطور کلی گفتینو برای کاربر در هر مرورگر یا دستگاه ، شناسه (id) مجزایی ایجاد می کند و سنجش هویت کاربر را بر اساس مرورگری که در آن ابزارک گفتگو نمایش داده شده است انجام می دهد.
در صورت داشتن شناسه یکتای کاربر در گفتینو و اعمال این تابع ، مخاطب شما می تواند در هر مرورگر یا دستگاه ، ادامه گفتگوی قبلی خود را با شما داشته باشد و از ایجاد گفتگوی جدید برای آن شخص جلوگیری شود.
دقت کنید: پس از اجرای این تابع، در صورت وجود شناسه قبلی، شناسه جدید اعمال شده، جایگزین آن خواهد شد.
Goftino.setUserId('a0a1a2a3a4a5a6a7...');
// setUserId with callback
Goftino.setUserId('a0a1a2a3a4a5a6a7...', function(callback) {
if(callback.status === 'success'){ }
if(callback.status === 'error'){ }
});
تابع unsetUserId
در صورت اجرای این تابع ، شناسه فعلی کاربر از مرورگر حذف و سوابق پیام ها در گفتگو نیز در ابزارک قابل نمایش نخواهد بود و صفحه مجدد بارگزاری خواهد شد.
دقت کنید: در صورت ارسال پیام جدید از سوی کاربر ، شناسه جدید برای کاربر ایجاد می شود.
Goftino.unsetUserId();
تابع sendMessage
با استفاده از این تابع می توانید پیام دلخواه را در شرایط مورد نظر خود برای کاربر ارسال کنید. این پیام صرفا به صورت نمایشی در سمت کاربر بوده و در گفتگوها اعمال نخواهد شد.
Field | Type | توضیح |
text | string | متن پیام |
Goftino.sendMessage({ text: 'Hi, I am Ali...' });
تابع open
با استفاده از این تابع می توانید ابزارک گفتگو را باز کنید.
Goftino.open();
تابع close
با استفاده از این تابع می توانید ابزارک گفتگو را ببندید.
Goftino.close();
تابع toggle
با استفاده از این تابع ابزارک گفتگو اگر باز باشد ، بسته و اگر بسته باشد ، باز خواهد شد.
Goftino.toggle();