Перейти к содержанию

Редактор размещений

Настройки размещений, включая те, что создаются в интерфейсе Панели управления Webim, можно отредактировать через Редактор размещений.

Внимание!

Мы рекомендуем Вам работать с настройками размещений через Панель управления Webim. Изменение настроек через Редактор размещений может привести к непредвиденным последствиям!

Конфигурация настроек размещений хранится в формате JSON, включая в себя следующие настройки:

  • ID размещения (id)

  • Ключ размещения (key)

  • Название размещения, отображаемое в интерфейсе (title)

  • Настройки чата (chat)

  • Настройки кнопки (button)

  • Настройки автоприглашения (invitation)

  • Настройки стилей (styles)

  • Прочие настройки (misc)

  • Ресурсы (resources)

Доступность (наличие) тех или иных настроек может быть определена отдельными тарифными опциями. Если соответствующая настройке тарифная опция отключена, изменение настройки в редакторе не будет приводить к фактическому изменению поведения сервиса (для настроек, вынесенных в интерфейс Панели управления) или не будет отображаться в списке настроек вовсе.

Доступ к Редактору размещений

Доступ к Редактору размещений осуществляется по сервисному логину и паролю по адресу:

https://{hostname}/service/location-settings

{hostname} здесь - имя хоста, на котором размещается Webim Server. Для облачных размещений он имеет вид {account}.webim.ru, для hosted-размещений - chat.mycompany.caom

Настройки чата (объект chat)

Здесь содержатся основные характеристики размещения, такие как язык и отдел для размещения.

Для полей, которые посетителю предлагается заполнить, также можно отредактировать параметры, регламентирующие заполнение поля (длина поля, маска и т.д.).

Также в этом объекте можно задать набор полей, необходимых для ввода в случае, если это офлайн-обращение, а также при запросе оператором контактов посетителя в течение диалога.

Дополнительно здесь может настраиваться множество параметров: необходимость выбора отдела, предложение оценить оператора, цвета различных элементов виджета и т.п.

В Редакторе размещений содержатся следующие настройки чата:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
lang String См. статью Язык размещения (параметр Язык диалога на странице Кнопки и размещения). Да
departmentKey String "webim_department_key" Привязка чата к конкретному отделу (по нажатию на такую кнопку чат сразу попадает в отдел). Нет
chatEnterFirstMessage String "Y" "N" Если выбрано Y, то для начала чата посетитель должен отправить сообщение, а также указать контактную информацию в специальной форме, которая будет отображена при открытии виджета. Если выбрано N, то форма ввода контактной информации и первого сообщения не отображаются.В интерфейсе настройка хранится в виде чекбокса Посетители должны вводить свой вопрос первыми, а также контактную информацию на вкладке Окно чата Нет
chatStartAfterMessage String "Y" "N" Если выбрано "Y", то чат в сессии создаётся только после того, как посетитель отправит первое сообщение. Если выбрано "N", то чат в сессии создаётся сразу же и сразу будет виден в РМО. Внимание: это может привести к созданию пустых чатов и увеличению нагрузки на сервер и операторов. Нет
defaultLayout Object Настройки окна чата по умолчанию. Да
visitorFields Object Конфигурация данных, которые посетителю предлагается предоставить. Да
visitorFieldLabels Object { key[имя поля данных посетителя]: resource_key \ null (код ресурса [перевода]), ... } Словарь, позволяющий переопределить ресурсы для ключей полей данных посетителя. Нет
logo String "images/logo/someaccount_sit_logo.png?9209" Относительный путь файла с логотипом компании от базового URL https://*.webim(dev).ru. Нет
proposeToRateBeforeClose String "Y" "N" Определяет, будет ли посетителю отправлен запрос на оценку диалога после закрытия чата. Соответствует чекбоксу Предложить оценить оператора перед закрытием чата вкладки Окно чата. Нет
showSelectModeMenu String "Y" "N" Включает меню слева от виджета с кнопками, позволяющими переключаться между онлайн и офлайн кнопками обращений. Нет
hideMenu String "Y" "N" Скрывает пользовательское меню, где находятся кнопки Изменить личные данные и т.д. Нет
availableDepartmentKeys List of strings ["sales", "test"] Список ключей отделов, которые могут быть выбраны при начале чата. В интерфейсе задаются в поле Доступные для выбора отделы вкладки Окно чата. Нет
headerColor String "rgba(32,139,59,1)" Цвет окна диалога (шапки виджета). Устаревшая настройка, по факту null. Актуальная аналогичная настройка: styles.header.background Если этой настройки не существует, её значение инициализируется headerColor. Нет
headerGradientColor String "rgba(32,139,59,1)" Второй цвет окна диалога (шапки виджета). Устаревшая настройка, по факту null. Актуальная аналогичная настройка: styles.header.gradient. Если этой настройки не существует, её значение инициализируется headerGradientColor. Нет
bgColor String "rgba(32,139,59,1)" Цвет фона виджета. Устаревшая настройка, по факту null. Актуальная аналогичная настройка: styles.body.background. Если этой настройки не существует, её значение инициализируется bgColor. Нет
buttonColor String "rgba(32,139,59,1)" Цвет кнопки. Устаревшая настройка, по факту null. Актуальная аналогичная настройка: styles.button.background. Если этой настройки не существует, её значение инициализируется buttonColor. Нет
buttonGradientColor String "rgba(32,139,59,1)" Второй цвет кнопки. Устаревшая настройка, по факту null. Актуальная аналогичная настройка: styles.button.gradient. Если этой настройки не существует, её значение инициализируется buttonGradientColor. Нет
messageDateFormat String "DD.MM" Формат даты, которая отображается в чате для сообщений. Доступные ключи: "DD" - число "MM" - месяц "YY" - год Нет
chooseDepartment String "Y" "N" Включение выбора отдела посетителем (поле Выбор отдела вкладки Окно чата). Работает, если включена тарифная опция departments. Нет
departmentsSort String "name" "id" Поле, по значению которого будет осуществляться сортировка списка отделов (параметр Сортировка списка отделов во вкладке Окно чата). Нет
hideOfflineDepartments Boolean true false Позволяет скрывать от посетителя отделы в статусе Офлайн при их нахождении в виджете выбора отделов. По умолчанию false. Нет

N.B.

В сводной таблице ниже приведены сценарии поведения сервиса при различных значениях настроек chatEnterFirstMessage и chatStartAfterMessage:

chatStartAfterMessage = "Y" chatStartAfterMessage = "N"
chatEnterFirstMessage = "Y" Посетителю выводится форма отправки первого сообщения и форма для ввода контактных данных. Чат создаётся и отображается в РМО у операторов, а также распределяется на оператора только после того, как посетитель оставит сообщение и заполнит предложенные поля. Чат создаётся сразу, как только посетитель попадает на сайт, чат виден операторам в РМО, но они не могут отправить сообщение до того, как это сделает посетитель. Посетителю выводится форма ввода первого сообщения и контактной информации.
chatEnterFirstMessage = "N" Пока посетитель находится на сайте и ничего не напишет в чат, чат не начнётся и не будет виден операторам в РМО. Только после первого сообщения чат будет начат и распределён на оператора. Чат создаётся сразу, как только посетитель попадает на сайт, первое сообщение может отправить и оператор, и посетитель.

Объект chat.defaultLayout содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
size Object { "width": 380, "height": 460 } Описывает размеры окна чата (виджета) в пикселях.
  • Параметр "width" задаёт ширину виджета.
  • Параметр "height" задаёт высоту виджета.
Да
position Object { "right": 380, "bottom": 460 } Описывает отступы виджета чата от правого нижнего края экрана в пикселях.
  • Параметр "right" задаёт отступ от правого края.
  • Параметр "bottom" задаёт отступ от нижнего края.
Да

Объект chat.visitorFields содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
def Object Выбор полей посетителя, которые он может указать в начале диалога (вкладка Данные посетителя).
Полный перечень возможных полей:
  • "name" - имя посетителя
  • "email" - адрес электронной почты посетителя
  • "phone" - номер телефона посетителя
  • "icq" - ID посетителя в ICQ
  • "first_custom_field" - первое кастомное поле
  • "second_custom_field" - второе кастомное поле
  • "third_custom_field" - третье кастомное поле
Да
offlineMode Object Выбор полей посетителя, которые он может указать при офлайн-обращении. Список возможных полей аналогичен объекту "def". В данном объекте должно быть как минимум добавлено поле "email" с параметром "presence": "mandatory". Да, если посетитель может создать офлайн-обращение
firstQuestion null deprecated
contactsRequest null deprecated

Объект chat.visitorFields.def содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
<имя_поля>.presence String
  • "mandatory"
  • "optional"
  • "none"
  • "mandatory" - ввод значения в поле обязателен
  • "optional" - ввод значения в поле не обязателен
  • "none" - поле не будет выведено посетителю
Да
<имя_поля>.validation.type String "email" Тип валидации поля. Может отсутствовать. Нет
<имя_поля>.validation.mask String "+7 (XXX) XXX-XX-XX" Маска поля. Позволяет задать собственную валидацию для поля. Может отсутствовать. Нет
<имя_поля>.validation.maxLength Integer 64 Максимальная длина поля. Может отсутствовать. Нет

Настройки кнопки (объект button)

В этом объекте содержится информация о:

  • типе кнопки;

  • визуальной составляющей (отдельно для каждого типа):

    • цвета элементов кнопки;

    • положение кнопки на странице;

  • каналах, привязанных к данному размещению (для HTML-кнопки):

    • перечень каналов (их идентификаторы);

    • стили выдвигающихся кнопок каналов.

В Редакторе размещений содержатся следующие параметры кнопки:

Параметр Тип Варианты/примеры значений Описание Обзятельный параметр
kind String Кнопка может быть одного из следующих типов:

"html" - HTML-кнопка
"corner" - угловая кнопка
"slider" - выдвигающаяся кнопка
"simple" - статичная кнопка
Тип кнопки. Выбирается во вкладке Кнопка.
Для каждого типа кнопки в данном разделе предусмотрены свои настройки.
Да
slider Object Настройки для выдвигающейся кнопки ("kind" = "slider").
Для пользовательской кнопки такого типа параметры будут настраиваться в интерфейсе Панели управления во вкладке Кнопка.
Да, если используется данный тип кнопки.
corner Object Настройки для угловой кнопки ("kind" = "corner") Да, если используется данный тип кнопки.
html Object Настройки для HTML-кнопки ("kind" = "html") Да, если используется данный тип кнопки.
simple Object Настройки для статичной кнопки ("kind" = "simple") Да, если используется данный тип кнопки.
name String "foval_purple.gif" Название изображения кнопки (кроме HTML-кнопки).
Для HTML-кнопки значение параметра будет равно "html"
Да
channels Array of buttons [{<br> "id": "bd77td86a18f17b44b8194f48d7db49"<br>},<br>{<br> "id": "e1d146d7ac0a4745d0b88d88469129d8"<br>}] Массив кнопок (каналов), которые размещаются в HTML-кнопке. Обязательный параметр - идентификатор канала id (String) Нет
channel Object {<br>"default": {<br> "style": {}<br>},<br>"webim":<br> "name": "\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u041a\u0410\u041d\u0410\u041b\u0410",<br> "style": {<br> "image-color": "rgba(34,85,85,1)"<br> }<br>} Опции для каждой кнопки, соответствующей каналу. Если у кнопки какого-либо канала отсутствуют стили, то для неё применяются стили из стандартного параметра default. Нет
offlineEnabled String Возможные значения:

"Y"
"N"
Позволяет отображать посетителю офлайн-кнопку. Данный параметр доступен только при подключённой тарифной опции offline_message. По умолчанию Y. Нет
showCallButton String Возможные значения:

"Y"
"N"
Отображение кнопки звонка на заданный телефонный номер. При нажатии на кнопку посетитель будет перенаправлен в приложение вызовов по сотовой связи, куда будет скопирован номер из параметра phoneNumber. Нет, в случае отстутствия параметра применяется значение по умолчанию (N).
phoneNumber String +79001234567 Номер телефона, который будет передан в приложение вызовов по сотовой связи при нажатии на кнопку звонка. Нет

Объект button.slider содержит в себе следующие параметры: | Параметр | Тип | Варианты/примеры значений | Описание | Обязательный параметр | | --------------------- | --------- | ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------- | | position | String | Может быть указано одно из следующих значений:

"bottom"
"left"
"right"
"top" | Сторона страницы, из которой выдвигается кнопка. | Да | | width | Integer | 220 | Ширина всей кнопки. | Да | | height | Integer | 105 | Высота всей кнопки. | Да | | alwaysVisibleWidth | Integer | 30 | Ширина участка кнопки, который виден всегда (без наведения на неё курсора). | Да | | alwaysVisibleHeight | Integer | 55 | Высота участка кнопки, который виден всегда (без наведения на неё курсора). | Да | | left | String | 75% | Сдвиг кнопки от левого края. В случае, если кнопка размещена сбоку, не оказывает никакого эффекта. | Нет | | top | String | 25% | Сдвиг кнопки от верхнего края. В случае, если кнопка размещена сверху или снизу, не оказывает никакого эффекта. | Нет |

Объект button.corner содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
position String Список принимаемых значений:
  • "right-bottom" - справа снизу
  • "left-bottom" - слева снизу
  • "right-top" - справа сверху
  • "left-top" - слева сверху
Позиция угловой кнопки Да
width Integer 90 Ширина кнопки Да

Объект button.html содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
style Object Описание внешних характеристик HTML-кнопки (вкладка Кнопка). Да
position Object Параметры перемещения HTML-кнопки относительно экрана. Да
draggable String Возможные значения:

"Y"
"N"
Возможность перемещать HTML-кнопку (чекбокс Возможность перемещения кнопки на вкладке Кнопки). Нет

Объект button.html.style содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
background-style String "rgba(215,25,134,1)" Параметр Цвет фона кнопки. Нет
border-color String "rgba(53,68,246,1)" Параметр Цвет границы кнопки. Нет
image-color String "rgba(255,255,255,1)" Параметр Цвет изображения кнопки. Нет

Объект button.html.position содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
top String Всегда "initial" Точка отсчёта для параметра bottom. Да
left String Всегда "initial" Точка отсчёта для параметра right. Да
bottom String "calc(8% - (60px * 0.08))" Параметр Вертикальное положение кнопки на вкладке Кнопка. Нет
right String "calc(14% - (60px * 0.14))" Параметр Горизонтальное положение кнопки на вкладке Кнопка. Нет

Объект button.simple содержит в себе следующие параметры:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
width Integer 190 Ширина статичной кнопки. Да

Настройки автоприглашения (объект invitation)

В данном блоке можно, в первую очередь, запретить или разрешить показ автоприглашения.

Если показ автоприглашений включен (значение false параметра dontShow), можно задать и редактировать их настройки:

  • тему и стили автоприглашения;

  • расположение автоприглашения;

  • время показа автоприглашения.

В Редакторе размещений содержатся следующие параметры автоприглашения:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
dontShow Boolean true Определяет, показывается ли автоприглашение. Если значение параметра равно true, то остальные параметры объекта не учитываются. Нет
theme String static
"slider"
Определяет, статично ли окно автоприглашения или оно перемещается по странице (параметр Вид приглашения на вкладке Приглашение).) Нет
position String "bottom-left" - снизу слева
"bottom-right" - снизу справа
"top-left" - сверху слева
"top-right" - сверху справа
"center" - по центру
Описывает расположение окна автоприглашения (параметр Расположение автоприглашения на вкладке Приглашение). Нет
timeout Integer 90000 Таймаут, в течение которого показывается окно автоприглашения. Указывается в секундах. Нет
avatar String "/images/invitation_avatar/testcom_default.png?1694112478253484" Путь к фотографии для автоприглашений. Экранируется после сохранения настроек. Нет
bg null deprecated
fontColor null deprecated

Настройки стилей (объект styles)

Здесь можно задать стили, цвета элементов, заливку, настройки шрифтов и многое другое для элементов, упомянутых выше (кнопки, окна автоприглашения, виджета) и их частей.

При значении параметра null используется значение по умолчанию.

В Редакторе размещений содержатся следующие настройки стилей:

Параметр Тип Варианты/примеры значений Описание Обязательный параметр
header Object { "background": "rgba(66,171,145,1)", "gradient": "rgba(255,109,109,1)" } Задаёт цвета шапки виджета. Тип внутренних параметров - String.
  • "background" - поле Цвет окна диалога во вкладке Окно чата
  • "gradient" - поле Второй цвет окна диалога (для создания градиента) во вкладке Окно чата
Нет
body Object { "background": "rgba(66,171,145,1)" } Задаёт цвет фона окна диалога. Тип внутреннего параметра - String.
  • "background" - поле Цвет фона окна диалога во вкладке Окно чата
Нет
button Object { "background": "rgba(66,171,145,1)", "gradient": "rgba(255,109,109,1)" } Задаёт цвета кнопок. Тип внутренних параметров - String.
  • "background" - поле Цвет кнопок во вкладке Окно чата
  • "gradient" - поле Второй цвет кнопок (для создания градиента) во вкладке Окно чата
Нет
invitation-body Object { "background": "rgba(66,171,145,1)", "color": "rgba(255,109,109,1)", "font-size": "16" } Задаёт параметры стилей приглашения. Тип внутренних параметров - String.
  • "background" - поле Фон окна приглашения во вкладке Приглашение
  • "gradient" - поле Цвет текста приглашения* во вкладке Приглашение
  • "font-size" - поле Размер шрифта приглашения во вкладке Приглашение**
Нет
invitation-header Object { "background": "rgba(66,171,145,1)" } Задаёт цвет заголовка приглашения. Тип внутреннего параметра - String.
  • "background" - поле Цвет заголовка приглашения во вкладке Приглашение
Нет
messageAgent Object { "background": "rgba(66,171,145,1)" } Задаёт цвет фона сообщений оператора. Тип внутреннего параметра - String.
  • "background" - поле Цвет фона сообщений оператора во вкладке Окно чата
Нет
messageVisitor Object { "background": "rgba(66,171,145,1)" } Задаёт цвет фона сообщений посетителя. Тип внутреннего параметра - String.
  • "background" - поле Цвет фона сообщений посетителя во вкладке Окно чата
Нет
misc Object { "fixFlashWmode": true, "newVisitorNotification": true } Дополнительные параметры. Deprecated. Нет
resources Object Структура объекта:
{ "<ключ_ресурса>": "<перевод>", ... }
Словарь ресурсов, содержащий переводы только на нужной локали. Нет

Прочие настройки (объект misc)

Данный объект содержит в себе параметры, не относящиеся ни к одному из представленных выше объектов. На текущий момент существует всего один такой параметр.

Параметр Тип Варианты/примеры значений Описание
fixFlashWmode Boolean true Deprecated. Исправление отображения контента, использующего Adobe Flash Player.

Ресурсы (объект resources)

Данный объект содержит в себе ресурсы окна чата.

Параметр Тип Варианты/примеры значений Описание
leavemessage-descr String "Для начала диалога введите, пожалуйста, свои контактные данные и вопрос" Переопределение текста, отображаемого при запросе контактных данных в начале диалога (опция chat.chatEnterFirstMessage == "Y").
first_question-descr String "Задайте, пожалуйста, ваш вопрос" Переопределение предложения посетителю задать первый вопрос в чат.
chat-operator-default_title String "Оператор" Переопределение имени оператора по умолчанию.
chat-window-personal_data_agreement String "Даю своё согласие на обработку персональных данных" Переопределение текста подачи согласия на обработку персональных данных.

Пример конфигурации размещения

Конфигурация ниже создаётся по умолчанию для каждого нового размещения в Webim версии 10.6.

{
    "id": "671c59a9-26c6-438f-bed9-d72c5edf6a13",
    "key": "default",
    "title": {
        "ru": "Размещение по умолчанию",
        "en": "Default location",
        "he": "מיקום ברירת מחדל",
        "bg": "Местоположение по подразбиране",
        "ua": "Місцезнаходження за замовчуванням",
        "ar": "الموقع الافتراضي",
        "es": "Ubicación predeterminada",
        "pt": "Localização padrão"
    },
    "chat": {
        "lang": "ru",
        "departmentKey": "",
        "chatEnterFirstMessage": "",
        "chatStartAfterMessage": "",
        "surveyTimeout": 240,
        "chooseDepartment": "N",
        "departmentsSort": "id",
        "defaultLayout": {
            "size": {
                "height": 460,
                "width": 380
            },
            "position": {
                "right": 10,
                "bottom": 10
            }
        },
        "hintsEnabled": "N",
        "visitorFields": {
            "def": {
                "name": {
                    "presence": "mandatory",
                    "validation": {
                        "maxLength": 64
                    }
                },
                "email": {
                    "presence": "mandatory",
                    "validation": {
                        "type": "email"
                    }
                },
                "phone": {
                    "presence": "mandatory",
                    "validation": {
                        "mask": "+7 (XXX) XXX-XX-XX"
                    }
                },
                "first_custom_field": {
                    "presence": "none"
                },
                "second_custom_field": {
                    "presence": "none"
                },
                "third_custom_field": {
                    "presence": "none"
                }
            },
            "firstQuestion": {},
            "offlineMode": {
                "email": {
                    "presence": "mandatory",
                    "validation": {
                        "type": "email"
                    }
                }
            },
            "contactsRequest": {}
        },
        "visitorFieldLabels": {},
        "logo": null,
        "proposeToRateBeforeClose": "N",
        "hideMenu": "N",
        "availableDepartmentKeys": [],
        "messageDateFormat": "DD.MM",
        "showSelectModeMenu": "N",
        "hideOfflineDepartments": false
    },
    "button": {
        "kind": "html",
        "slider": {
            "position": "left",
            "top": 150,
            "width": 261,
            "alwaysVisibleWidth": 30
        },
        "corner": {
            "position": "right-bottom",
            "width": null
        },
        "html": {
            "style": {
                "background-color": "rgba(51,204,204,1)",
                "border-color": "rgba(255,255,255,1)",
                "image-color": "rgba(0,0,0,1)"
            },
            "draggable": "N",
            "position": {
                "bottom": "0%",
                "right": "0%"
            }
        },
        "name": "html",
        "offlineEnabled": "Y",
        "channels": [],
        "channel": {
            "default": {
                "style": {}
            },
            "webim": {
                "name": "",
                "style": {
                    "background-color": "rgba(51,204,204,1)",
                    "border-color": "rgba(255,255,255,1)",
                    "image-color": "rgba(0,0,0,1)"
                }
            }
        },
        "showCallButton": "N",
        "phoneNumber": "",
        "simple": {
            "width": null
        }
    },
    "invitation": {
        "dontShow": false,
        "theme": "static",
        "position": "bottom-right",
        "timeout": 90000,
        "avatar": null
    },
    "styles": {
        "body": {
            "background": "rgba(252,252,252,1)"
        },
        "button": {
            "background": "rgba(57,63,107,1)",
            "gradient": "rgba(57,63,107,1)"
        },
        "header": {
            "background": "rgba(57,63,107,1)",
            "gradient": "rgba(57,63,107,1)"
        },
        "footer": {
            "background": "rgba(252,252,252,1)"
        },
        "invitation-body": {
            "font-size": "20",
            "background": "rgba(252,252,252,1)",
            "color": "rgba(147,155,186,1)"
        },
        "invitation-header": {
            "background": "rgba(252,252,252,1)"
        },
        "messageAgent": {
            "background": "rgba(227,242,253,1)"
        },
        "messageVisitor": {
            "background": "rgba(237,237,237,1)"
        }
    },
    "misc": {
        "fixFlashWmode": false
    },
    "resources": {
        "leavemessage-descr": null,
        "first_question-descr": null,
        "chat-operator-default_title": null,
        "chat-window-personal_data_agreement": null
    }
}