JivoSite API для разработчиков

JivoSite предоставляет разработчикам два набора инструментов для интеграции:

Клиентская часть - Javascript API виджета, позволяющее управлять виджетом, который отображается пользователю. С помощью него можно управлять окном чата, а так же передавать произвольную информацию со страницы, на которой размещено окно чата, в приложение оператора (например, можно передать дополнительную информацию о пользователе, которая так же будет сохранена в журнале диалогов).

Серверная часть - Webhooks API, позволяющее получать уведомления о начале или завершении чата на стороне вашего сервера, а так же передавать в JivoSite дополнительную информацию для отображения в приложени оператора в ответе на HTTP-запросы.

Если вы нашли ошибку или несоответствие в документации, то сообщите нам, пожалуйста, об этом в чате на jivosite.ru

JavaScript API

JivoSite вызывает перечисленные ниже функции на странице, чтобы сообщить о возникновении события. Вы можете объявить на странице любую из этих функций и выполнять в ней логику обработки возникшего события. Например, по событию jivo_onIntroduction вы можете получить введенные клиентом контактные данные.

Callback-функции

НазваниеТипОписание
jivo_onLoadCallback function Вызывается при завершении инициализации виджета JivoSite
jivo_onOpen function Вызывается при открытии окна диалога JivoSite
jivo_onMessageSent function Посетитель отправил первое сообщение в чат
jivo_onAccept function Оператор нажал кнопку Ответить в уведомлении о новом чате
jivo_onClose function Сворачивание окна диалога JivoSite
jivo_onIntroduction function Посетитель ввёл контактные данные
jivo_onResizeCallback function Коллбек, срабатывающий при любом изменении размеров виджета
jivo_onCallStart function Вызывается при начале звонка на клиентский номер.
jivo_onCallEnd function Вызывается при окончании звонка с результатом звонка.
jivo_onChangeState function Вызывается при переключении виджета из одного состояния в другое.

JavaScript API - jivo_onCallEnd

Вызывается при окончании звонка с результатом звонка.

Параметры

НазваниеТипОписание
result необязательный object Результат вызова
 function jivo_onCallEnd(res) {
    if (res.result == 'ok') {
        // call finished successfully
    }
    if (res.result == 'fail') {
        // call finished with errors or can not started
        console.log(res.reason); // reason for the unsuccessfull call
    }
} 

JavaScript API - jivo_onChangeState

Вызывается при переключении виджета из одного состояния в другое.

Параметры

НазваниеТипОписание
state string Состояние виджета
 function jivo_onChangeState(state) {
    if (state == 'chat') {
        // widget is in the chat state
    }
    if (state == 'call' || state == 'chat/call') {
        // callback form is opened
    if (state == 'label' || state == 'chat/min'){
        // widget is minimized
    }
} 

JavaScript API - open

Метод позволяет открыть окно диалога. Возвращяет {result: 'ok'} в случае успешного открытия, и {result: 'fail'} если открыть окно диалога нельзя.

jivo_api.open({start: 'call'}); Открывает форму ввода телефона для обратного звонка.

JavaScript API - close

Метод позволяет закрыть или свернуть окно диалога. Возвращяет {result: 'ok'} в случае успешного открытия, и {result: 'fail'}

JavaScript API - chatMode

С помощью этого метода можно получить текущий статус чата - онлайн/оффлайн.

JavaScript API - getContactInfo

Считывает данные посетителя в виде структуры contact_info, которые посетитель ввел в форме представления. Если посетитель не заполнил какие-либо поля, в их значении будет null.

JavaScript API - getVisitorNumber

Асинхронная функция для получения уникального номера посетителя в JivoSite. Посетители нумеруются последовательно, начиная с 1, число постоянно растет. Номер посетителя отображается в программе оператора и в журнала и может использоваться для связи данных JivoSite с данными CRM.

JavaScript API - setContactInfo

Устанавливает контактные данные посетителя. Данные отображаются оператору, как будто их ввел посетитель в форме представления. Для записи контактных данные представляется отдельная функция, т.к. имя, телефон и e-mail клиента играют особенную роль в JivoSite - эти данные может указать клиент сам при начале диалога.

Параметры

НазваниеТипОписание
name string Имя посетителя сайта
email string Email посетителя сайта
phone string Номер телефона посетителя сайта
description string Дополнительная информтация по клиенту
 jivo_api.setContactInfo({
    "name": "John Smith",
    "email": "email@example.com",
    "phone": "+14084987855",
    "description": "Description text"
 }); 

JavaScript API - setCustomData

С помощью этой функции можно передать произвольную дополнительную информацию о клиенте оператору. Информация отображается в информационной панели справа в приложении оператора. Метод может быть вызван любое число раз - если диалог с оператором уже установлен, то данные в приложении оператора будут обновлены в реальном времени. Поля выводятся в порядке их следования в массиве fields.

Вызов метода setCustomData является наиболее простым способом передать оператору дополнительную информацию о посетителе. Но нужно иметь ввиду, что данные, передаваемые оператору таким образом, не могут считаться доверенными - используя отладочные инструменты браузера, злоумышленник может их подделать. Для организации более надежной передачи информации в случае, если нужна гарантия безопасности, советуем использовать метод setUserToken и Webhooks.

Для исключения возможности направления оператора на посторонние сайты в Web-кабинете администратора необходимо настроить URL с которого могут начинаться ссылки в дополнительных полях (раздел Настройки - Настройка интеграции для разработчиков - Безопасный URL). Все другие ссылки будут заблокированы, оператор их не увидит.

Возвращяет return {result: 'ok'} либо {result: 'fail', reason: 'Custom data must be array.'} если метод вернул ошибку.

Параметры

НазваниеТипОписание
fields array Список полей диалога

field

НазваниеТипОписание
content string Содержимое поля данных. Теги экранируются.
title string Заголовок, добавляемый сверху поля данных
link string URL, открываемый при клике на поле данных
key string Описание поля данных, добавляемое жирным шрифтом перед содержимым поля через двоеточие
 jivo_api.setCustomData([
    {
        "title": "Actions",
        "content": "Add contact",
        "link": "..."
    },
    {
        "content": "Open customer profile",
        "link": "..."
    }
 ]); 

JavaScript API - setRules

С помощью этого метода можно заменить автоматические действия на переданный объект. Пример объекта можно сформировать в панели управления JivoSite, открыв раздел Автоматические действия и нажав кнопку JSON структура

Параметры

НазваниеТипОписание
rules object Описание правил активных приглашений на языке JSON
 jivo_api.setRules(rules); 

JavaScript API - setUserToken

Устанавливает идентификатор посетителя. JivoSite никак не обрабатывает этот идентификатор, но передаёт его в каждом событии Webhooks. Таким образом можно идентифицировать посетителя сайта при обработке Webhooks. Рекомендуем использовать сложно-угадываемый идентификатор для исключения возможности спуфинга.

Возвращает {result: 'ok', token: userToken} если токен выставлен, либо {result: 'fail', token: userToken || false};

Параметры

НазваниеТипОписание
token string Идентификатор посетителя

JavaScript API - showProactiveInvitation

С помощью этого метода вы можете вызвать окно активного приглашения в нужный момент. Это может быть полезно, например, если вы хотите показывать активное приглашение после того, как клиент добавил товар в корзину Интернет-магазина. Если вы хотите отображать активное приглашение сразу же после захода на страницу, то showProactiveInvitation необходимо вызывать из коллбека jivo_onLoadCallback (чтобы все проинициализировалось в правильном порядке).

Параметры

НазваниеТипОписание
invitation_text string Текст приглашения
department_id number Идентификатор отдела
 jivo_api.showProactiveInvitation("How can I help you?"); 

JavaScript API - startCall

Метод позволяет начать звонок на нужный номер, если звонки доступны (Обратный звонок настроен и баланс звонков положителен).

Метод возвращает {result: 'ok'} в случае если номер передан в правильном формате и отправляется запрос на начало звонка.
В неудачном случае возвращается {result: 'fail', reason: 'Callback disabled'}, где reason - причина неуспешного вызова метода.

Параметры

НазваниеТипОписание
phone string Телефон
 jivo_api.startCall('+14084987855') 

JavaScript API - isCallbackEnabled

Данный метод проверяет доступны ли звонки.

Возвращаяет:
{result: 'fail', reason: 'Callback disabled'} - звонок отключен в админ панели.
{result: 'fail', 'Callback unavaiable'} - звонки недоступны по другим причинам (не тот день недели, по времени работы, звонок уже начат).
{result: 'ok'} - звонки доступны

Параметры

НазваниеТипОписание
callback function Функция вызываемая для определения доступности обратного звонка с сайта.
 jivo_api.isCallbackEnabled(function(res){
    console.log('isCallbackEnabled', res);

    if (res.result == 'ok') {
        jivo_api.open({start: 'call'});
    }
}); 

JavaScript API - sendOfflineMessage

Данный метод позволяет отправить оффлайн сообщение без использования формы чата. Возвращает {result: 'ok'} в случае если данные переданные в параметры правильные.

Возвращает {result: 'fail', error: errReason}, где errReason - ошибки валидации передаваемых полей. Либо причина по которой нельзя отправить оффлайн сообщение.

Параметры

НазваниеТипОписание
name string Имя клиента
email string Email клиента
phone string Телефон клиента
description string Дополнительная информация о клиенте
message string Текст оффлайн-сообщения
 jivo_api.sendOfflineMessage(({
    "name": "John Smith",
    "email": "email@example.com",
    "phone": "+14084987855",
    "description": "Description text",
    "message": "Offline message"
 }); 

Webhooks

Используйте Webhooks для того, что бы получать уведомления при возникновении различных событий, связанных с обращениями посетителей сайта через виджет JivoSite.

В Web-кабинете администратора может быть настроен HTTP(S) URL, на который будет отправляться запрос при возникновении того или иного события. Событие передается по указанному URL POST-запросом. Тело запроса представляет собой JSON-объект с информацией о событии.

Тип события определяется строковым полем event_name, который всегда присутствует в структуре event. Остальные поля зависят от конкретного события. В ответ на HTTP-запрос для некоторых типов событий вы можете вернуть данные, которые будут отображены оператору, принявшему диалог.

Webhooks - chat_accepted

Событие возникает в момент приема запроса диалога оператором. В параметрах запроса передаются все известные данные о посетителе, а также данные оператора, принявшего диалог. Кроме того, в параметрах присутствует идентификатор пользователя, если он был передан в виджет путем вызова jivo_api.setUserToken.

При возврате в ответе на chat_accepted объекта contact_info, все поля из него будут показаны оператору так, как будто их ввёл посетитель. Они же сохранятся в журнале диалога и письме.

Параметры

НазваниеТипОписание
event_name string Тип события. По умолчанию: chat_accepted
chat_id number Идентификатор чата
widget_id string Widget ID канала, указанный в коде чата
visitor object Объект с информацией о посетителе
agent object Объект с информацией об операторе
session object Данные о сессий пользователя
page object Информация о странице

visitor

НазваниеТипОписание
name необязательный string Имя посетителя
email необязательный string Email посетителя
phone необязательный string Телефон посетителя
number string Номер посетителя
description string Дополнительная информтация по клиенту
social необязательный object Данные о социальных сетях пользователя
chats_count number Количество обращений

agent

НазваниеТипОписание
id string Идентификатор оператора
name string Имя оператора
email string Email оператора
phone необязательный string Телефон посетителя

session

НазваниеТипОписание
geoip object Данные из geoip
utm string utm
ip_addr string IP аддрес активной сессий
user_agent string Описание user_agent

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

geoip

НазваниеТипОписание
region_code string Код региона
country string Название страны
country_code string ISO код страны
region string Регион
city string Город
region string Регион
latitude string Широта
longitude string Долгота
organization string Название организации

Параметры ответа

НазваниеТипОписание
result string Строка результата обработки. Если значение не равно "ок", данные не будут переданы оператору
custom_data array Поля дополнительных данных, аналогично setCustomData
contact_info object Поля контактных данных, аналогично setContactInfo
enable_assign boolean Флаг, определяющий отображению оператору кнопки привязки посетителя к карточке в CRM. Кнопка отображается перед всеми полями custom_data.
crm_link string Ссылка на карточку клиента в CRM. Отображается оператору отдельной кнопкой под всеми полями custom_data.
page object Информация о странице

custom_data

НазваниеТипОписание
title string Название пользовательского поля
content string Содержимое

contact_info

НазваниеТипОписание
name string Имя посетителя
phone необязательный string Телефон посетителя
email необязательный string E-mail посетителя

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

В теле запроса вебхука chat_accepted содержится структура:

 {
    "event_name": "chat_accepted",
    "chat_id": 4547,
    "widget_id": "2678",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "2483",
        "description": "Description text",
        "social": {},
        "chats_count": 3
    },
    "agent": {
        "id": "2523",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "...",
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

В ответ ожидается строка, содержащая JSON:

 {
    "result": "ok",
    "custom_data": [
        {
            "title": "Title",
            "content": "Content text"
        }
    ],
    "contact_info": {
        "name": "John Smith",
        "phone": "+14084987855",
        "email": "email@example.com"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

Webhooks - chat_assigned

Событие отправляется когда чат прикрепляется к карточке в CRM, используя параметр "crm_link" из ответа на событие Chat_accepted. В параметрах запроса передаются все известные данные о посетителе, а также данные оператора, принявшего диалог. Кроме того, в параметрах присутствует идентификатор пользователя, если он был передан в виджет путем вызова jivo_api.setUserToken

В качестве ответа ожидается только JSON {"result": "ok или текст ошибки"}

Параметры

НазваниеТипОписание
event_name string Тип события. По умолчанию: chat_assigned
chat_id number Идентификатор чата
widget_id string Widget ID канала, указанный в коде чата
visitor object Объект с информацией о посетителе
agent object Объект с информацией об операторе
assign_to string Ссылка на карточку в CRM, переданную в событии Chat_accepted
session object Данные о сессий пользователя
page object Информация о странице начала диалога

visitor

НазваниеТипОписание
name необязательный string Имя посетителя
email необязательный string Email посетителя
phone необязательный string Телефон посетителя
number string Номер посетителя
description string Дополнительная информтация по клиенту
social необязательный object Данные о социальных сетях пользователя
chats_count number Количество обращений

agent

НазваниеТипОписание
id string Идентификатор оператора
name string Имя оператора
email string Email оператора
phone необязательный string Телефон посетителя

session

НазваниеТипОписание
geoip object Данные из geoip
utm string utm
ip_addr string IP аддрес активной сессий
user_agent string Описание user_agent

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

geoip

НазваниеТипОписание
region_code string Код региона
country string Название страны
country_code string ISO код страны
region string Регион
city string Город
region string Регион
latitude string Широта
longitude string Долгота
organization string Название организации

Параметры ответа

НазваниеТипОписание
result string Строковый параметр содержащий результат обработки события ("OK" или "FAILURE").

В теле запроса вебхука chat_assigned содержится структура:

 {
    "event_name": "chat_assigned",
    "chat_id": 5485,
    "widget_id": "2678",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "2483",
        "description": "Description text",
        "social": {},
        "chats_count": 3
    },
    "agent": {
        "id": "2523",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "assign_to": "...",
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "...",
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

В ответ ожидается строка, содержащая JSON:

 {
    "result": "ok"
} 

Webhooks - chat_finished

Событие отправляется при закрытии чата в приложении оператора. В параметрах запроса передаются все известные данные о посетителе, массив с сообщениями чата, а также данные операторов, принимавших участие в диалоге. Кроме того, в параметрах присутствует идентификатор пользователя, если он был передан в виджет путем вызова jivo_api.setUserToken

В качестве ответа ожидается только JSON {"result": "ok или текст ошибки"}

Параметры

НазваниеТипОписание
event_name string Тип события. По умолчанию: chat_finished
chat_id number Идентификатор чата
widget_id string Widget ID канала, указанный в коде чата
visitor object Объект с информацией о посетителе
agents array Массив с информацией об операторах
chat object Данные о завершенном чате
session object Данные о сессий пользователя
page object Информация о странице начала диалога

visitor

НазваниеТипОписание
name необязательный string Имя посетителя
email необязательный string Email посетителя
phone необязательный string Телефон посетителя
number string Номер посетителя
description string Дополнительная информтация по клиенту
social необязательный object Данные о социальных сетях пользователя
chats_count number Количество обращений

agent

НазваниеТипОписание
id string Идентификатор оператора
name string Имя оператора
email string Email оператора
phone необязательный string Телефон посетителя

chat

НазваниеТипОписание
messages array Массив сообщений чата
rate string Пользовательская оценка чата (positive|negative|null)
blacklisted boolean Признак того, что пользователь был добавлен в черный список

session

НазваниеТипОписание
geoip object Данные из geoip
utm string utm
ip_addr string IP аддрес активной сессий
user_agent string Описание user_agent

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

message

НазваниеТипОписание
timestamp number Время получения сообщение (timestamp)
type string Тип сообщения (visitor - сообщение от клиента, agent - сообщение от агента)
agent_id number Идентификатор агента, который ответил сообщение (существует, только если type=agent)
blacklisted необязательный boolean Признак того, что пользователь был добавлен в черный список

geoip

НазваниеТипОписание
region_code string Код региона
country string Название страны
country_code string ISO код страны
region string Регион
city string Город
region string Регион
latitude string Широта
longitude string Долгота
organization string Название организации

Параметры ответа

НазваниеТипОписание
result string Строковый параметр содержащий результат обработки события ("OK" или "FAILURE").

В теле запроса вебхука chat_finished содержится структура:

 {
    "event_name": "chat_finished",
    "chat_id": 6193,
    "widget_id": "2678",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "2483",
        "description": "Description text",
        "social": {},
        "chats_count": 3
    },
    "agents": [
        {
            "id": "2523",
            "name": "Thomas Anderson",
            "email": "agent@jivosite.com",
            "phone": "+14083682346"
        }
    ],
    "chat": {
        "messages": [
            {
                "timestamp": 1431955090,
                "type": "agent",
                "agent_id": 6138,
                "blacklisted": false
            }
        ]
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "...",
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

В ответ ожидается строка, содержащая JSON:

 {
    "result": "ok"
} 

Webhooks - chat_updated

Событие будет отправлено в случае, если информация о посетителе была обновлена - например, были введены контакты в форме чата. В параметрах запроса передаются все известные данные о посетителе, а также данные оператора, принявшего диалог. Кроме того, в параметрах присутствует идентификатор пользователя, если он был передан в виджет путем вызова jivo_api.setUserToken

В качестве ответа ожидается только JSON {"result": "ok или текст ошибки"}

Параметры

НазваниеТипОписание
event_name string Тип события. По умолчанию: chat_updated
chat_id number Идентификатор чата
widget_id string Widget ID канала, указанный в коде чата
visitor object Объект с информацией о посетителе
agent object Объект с информацией об операторе
session object Данные о сессий пользователя
page object Информация о странице

visitor

НазваниеТипОписание
name необязательный string Имя посетителя
email необязательный string Email посетителя
phone необязательный string Телефон посетителя
number string Номер посетителя
description string Дополнительная информтация по клиенту
social необязательный object Данные о социальных сетях пользователя
chats_count number Количество обращений

agent

НазваниеТипОписание
id string Идентификатор оператора
name string Имя оператора
email string Email оператора
phone необязательный string Телефон посетителя

session

НазваниеТипОписание
geoip object Данные из geoip
utm string utm
ip_addr string IP аддрес активной сессий
user_agent string Описание user_agent

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

geoip

НазваниеТипОписание
region_code string Код региона
country string Название страны
country_code string ISO код страны
region string Регион
city string Город
region string Регион
latitude string Широта
longitude string Долгота
organization string Название организации

Параметры ответа

НазваниеТипОписание
result string Строковый параметр содержащий результат обработки события ("OK" или "FAILURE").

В теле запроса вебхука chat_updated содержится структура:

 {
    "event_name": "chat_updated",
    "chat_id": 6773,
    "widget_id": "2678",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "2483",
        "description": "Description text",
        "social": {},
        "chats_count": 3
    },
    "agent": {
        "id": "2523",
        "name": "Thomas Anderson",
        "email": "agent@jivosite.com",
        "phone": "+14083682346"
    },
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "...",
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

В ответ ожидается строка, содержащая JSON:

 {
    "result": "ok"
} 

Webhooks - offline_message

Событие будет отправлено в момент отправки сообщения через оффлайн форму. В параметрах запроса передаются все известные данные о посетителе, а также текст оффлайн сообщения. Кроме того, в параметрах присутствует идентификатор пользователя, если он был передан в виджет путем вызова jivo_api.setUserToken

В качестве ответа ожидается только JSON {"result": "ok или текст ошибки"}

Параметры

НазваниеТипОписание
event_name string Тип события. По умолчанию: offline_messages
widget_id string Информация о странице
visitor object Объект с информацией о посетителе
offline_message_id string Идентификатор offline сообщения
message string Сообщение
session object Данные о сессий пользователя
page object Информация о странице

visitor

НазваниеТипОписание
name необязательный string Имя посетителя
email необязательный string Email посетителя
phone необязательный string Телефон посетителя
number string Номер посетителя
description string Дополнительная информтация по клиенту
social необязательный object Данные о социальных сетях пользователя
chats_count number Количество обращений

session

НазваниеТипОписание
geoip object Данные из geoip
utm string utm
ip_addr string IP аддрес активной сессий
user_agent string Описание user_agent

page

НазваниеТипОписание
url string URL текущей страницы
title необязательный string Заголовок страницы

geoip

НазваниеТипОписание
region_code string Код региона
country string Название страны
country_code string ISO код страны
region string Регион
city string Город
region string Регион
latitude string Широта
longitude string Долгота
organization string Название организации

Параметры ответа

НазваниеТипОписание
result string Строковый параметр содержащий результат обработки события ("OK" или "FAILURE").

В теле запроса вебхука offline_message содержится структура:

 {
    "event_name": "offline_message",
    "widget_id": "2678",
    "visitor": {
        "name": "John Smith",
        "email": "email@example.com",
        "phone": "+14084987855",
        "number": "2483",
        "description": "Description text",
        "social": {},
        "chats_count": 3
    },
    "offline_message_id": "3082",
    "message": "Message text",
    "session": {
        "geoip": {
            "region_code": "CA",
            "country": "United States",
            "country_code": "US",
            "region": "California",
            "city": "San Francisco",
            "latitude": "37.7898",
            "longitude": "-122.3942",
            "organization": "Wikimedia Foundation"
        },
        "utm": "...",
        "ip_addr": "208.80.152.201",
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
    },
    "page": {
        "url": "http://example.com/",
        "title": "Page title"
    }
} 

В ответ ожидается строка, содержащая JSON:

 {
    "result": "ok"
}