مستندات در سمت کاربر اعمال و این امکان را به شما می‌دهد تا ابزارکی که برای او نمایش داده می‌شود را مدیریت یا از آن برای ارسال و دریافت اطلاعات کاربر در گفتینو استفاده کنید‌.
استفاده از توابع و رویدادهای معرفی شده ، نیازمند دانش فنی در زمینه طراحی وب می باشد.

رویداد goftino_ready

در صورت آماده شدن ابزارک گفتگو جهت استفاده ، این رویداد اجرا می شود.
دقت کنید: توابعی که در ادامه خواهید دید ، باید در کد روبرو (داخل رویداد goftino_ready) قرار بگیرند یا پس از لود ابزارک فراخوانی شده، تا بدون ایجاد مشکل قابل اجرا باشند.

<script>
    window.addEventListener('goftino_ready', function () {
        // function...
        // Goftino.setUser(...);
        // Goftino.getUser(...);
        // Goftino.setWidget(...);
        // Goftino.sendMessage(...);
    });
</script>
live_helpنمونه کد راهنما

رویداد goftino_sendMessage

در صورت ارسال هر پیام از سوی کاربر، این رویداد اجرا شده و به نوع و محتوای پیام ارسالی دسترسی خواهید داشت.

ParameterTypeتوضیح
detail.typestringنوع پیام ارسالی کاربر یکی از عبارت های روبرو می باشد
detail.contentstringمحتوای پیام ارسالی کاربر که از نوع answer, text, file, voice باشد
detail.contentarrayمحتوای پیام ارسالی کاربر که یکی از انواع فرم ها باشد
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" }, // ... // ] });
live_helpنمونه کد راهنما

رویداد goftino_getMessage

در صورت دریافت پیام از اپراتورها، این رویداد اجرا شده و به نوع و محتوای پیام دریافتی دسترسی خواهید داشت.

ParameterTypeتوضیح
detail.typestringنوع پیام دریافتی کاربر یکی از عبارت های روبرو می باشد
detail.contentstringمحتوای پیام دریافتی کاربر
detail.contentobjectمحتوای پیام دریافتی کاربر که از نوع پرسش باشد
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"]
    // }
});
live_helpنمونه کد راهنما

رویداد goftino_openWidget

در صورت باز شدن ابزارک گفتگو، این رویداد اجرا خواهد شد.

window.addEventListener('goftino_openWidget', function () {
    // function...
});
live_helpنمونه کد راهنما

رویداد goftino_closeWidget

در صورت بسته شدن ابزارک گفتگو، این رویداد اجرا خواهد شد.

window.addEventListener('goftino_closeWidget', function () {
    // function...
});
live_helpنمونه کد راهنما

تابع setUser

با استفاده از این تابع می توانید اطلاعات کاربری که به وب سایت شما لاگین کرده را به گفتینو بفرستید تا در بخش مشخصات کاربر برای هر گفتگو نمایش داده شده و به آنها دسترسی داشته باشید.
دقت کنید: این تابع در رویداد goftino_ready باید اعمال شود.

FieldTypeتوضیح
emailstringایمیل کاربر لاگین شده
namestringنام کاربر لاگین شده
aboutstringدرباره ی کاربر لاگین شده
phonestringتلفن کاربر لاگین شده
avatarstringعکس کاربر لاگین شده
tagsstringبرچسب
forceUpdatebooleanدر صورت وجود مشخصات کاربر در گفتینو، این اطلاعات جایگزین قبلی شود؟
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
});
live_helpنمونه کد راهنما

تابع getUser

با ارسال این درخواست به گفتینو می توانید اطلاعات کاربر را دریافت و در صورت نیاز در سایت خود ذخیره و استفاده نمایید.
پارامترهای خروجی از این تابع شامل موارد زیر است :

FieldTypeتوضیح
statusstringوضعیت دریافت اطلاعات
namestringنام کاربر
emailstringایمیل کاربر
phonestringتلفن کاربر
aboutstringتوضیحات کاربر
avatarstringعکس کاربر
firstVisitstringتاریخ اولین بازدید کاربر
pageViewstringصفحات بازدید شده کاربر
locationstring موقعیت کاربر
browserstringاطلاعات مرورگر کاربر
osstringسیستم عامل کاربر
hasChatbooleanکاربر تاکنون گفتگویی داشته است؟
tagsstringبرچسب
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"
}
live_helpنمونه کد راهنما

تابع setWidget

در مواقعی تمایل به تغییر جایگاه ابزارک دارید و یا شاید نخواهید آیکون پیش فرض ابزارک در سایت نمایش داده شود و به دکمه ای با سلیقه خود در بخش خاصی از صفحه نیاز دارید.(نمونه گرافیکی دکمه ابزارک دلخواه در تصویر روبرو قابل مشاهده است)
حتی می توانید باز و بسته شدن پنجره گفتگو را با دستورات خودتان در سایت اعمال کنید.
ضمن اینکه امکان حذف صدای هشدار پیام جدید برای کاربر و نمایش تعداد پیام های خوانده نشده در این قسمت فراهم شده است.
دقت کنید: در صورت مخفی کردن آیکون ابزارک، نیاز دارید از توابع open و close و یا toggle استفاده کنید.

FieldTypeتوضیح
iconUrlstringآدرس فایل آیکون دلخواه برای ابزارک
cssUrlstringآدرس فایل CSS سفارشی برای ابزارک
soundUrlstringآدرس فایل صدای دلخواه برای پیام جدید
marginRightintegerفاصله ابزارک از سمت راست صفحه
marginLeftintegerفاصله ابزارک از سمت چپ صفحه
marginBottomintegerفاصله ابزارک از پایین صفحه
hasIconboolean نمایش یا عدم نمایش آیکون ابزارک در صفحه
hasSoundboolean پخش یا عدم پخش صدای هشدار پیام جدید
counterstringنام class یا id باکس شمارنده پیام جدید
(قبل از نام class نقطه و قبل از نام id عبارت # بگذارید)
sample
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'
});
live_help نمونه کد راهنما - دکمه مجزا
live_helpنمونه کد راهنما - تغییر جایگاه ابزارک
live_helpنمونه کد راهنما - تغییر جایگاه ابزارک در موبایل

تابع getUserId

اگر نیاز دارید گفتگوهای یک کاربر را حتی با مرورگر یا دستگاه های مختلف ، بصورت یکپارچه داشته باشید ، ابتدا با استفاده از این تابع شناسه یکتای کاربر (id) در گفتینو را دریافت و در پایگاه داده سایت خود ذخیره کنید ، سپس با کمک تابع setUserId در زمان لازم میتوانید آن را فراخوانی و اعمال کنید.
شناسه یکتای کاربر یک عبارت 64 حرفی است.

var user_id = Goftino.getUserId();
live_helpنمونه کد راهنما

تابع setUserId

بطور کلی گفتینو برای کاربر در هر مرورگر یا دستگاه ، شناسه (id) مجزایی ایجاد می کند و سنجش هویت کاربر را بر اساس مرورگری که در آن ابزارک گفتگو نمایش داده شده است انجام می دهد. در صورت داشتن شناسه یکتای کاربر در گفتینو و اعمال این تابع ، مخاطب شما می تواند در هر مرورگر یا دستگاه ، ادامه گفتگوی قبلی خود را با شما داشته باشد و از ایجاد گفتگوی جدید برای آن شخص جلوگیری شود.
دقت کنید: پس از اجرای این تابع، در صورت وجود شناسه قبلی، شناسه جدید اعمال شده، جایگزین آن خواهد شد.

Goftino.setUserId('a0a1a2a3a4a5a6a7...');

// setUserId with callback
Goftino.setUserId('a0a1a2a3a4a5a6a7...', function(callback) {
    if(callback.status === 'success'){ }
    if(callback.status === 'error'){ }
});
live_helpنمونه کد راهنما

تابع unsetUserId

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

Goftino.unsetUserId();

تابع sendMessage

با استفاده از این تابع می توانید پیام دلخواه را در شرایط مورد نظر خود برای کاربر ارسال کنید. این پیام صرفا به صورت نمایشی در سمت کاربر بوده و در گفتگوها اعمال نخواهد شد.

FieldTypeتوضیح
textstringمتن پیام
Goftino.sendMessage({
   text: 'Hi, I am Ali...'
});

تابع open

با استفاده از این تابع می توانید ابزارک گفتگو را باز کنید.

تابع close

با استفاده از این تابع می توانید ابزارک گفتگو را ببندید.

تابع toggle

با استفاده از این تابع ابزارک گفتگو اگر باز باشد ، بسته و اگر بسته باشد ، باز خواهد شد.