# Параметры настроек сервера

В данной статье описаны некоторые параметры настроек сервера Webim, которые можно менять в [редакторе настроек account config](https://webim.ru/kb/for-admins/service-pages/account-config-editor.html).

## Настройки перевода чатов

| Параметр                                | Тип       | Значение по умолчанию | Описание                                                                                                                                                                                                                                                                                                                                 |
|-----------------------------------------|-----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `change_department_on_forward_to_agent` | `boolean` | `true`                | При включенной настройке при переводе диалога на оператора происходит проверка, есть ли у него отдел, в котором находится диалог. Если такого отдела нет, то диалог переводится в один из отделов, в которых есть новый оператор, в соответствии с порядком сортировки. Если у оператора нет отделов, диалог переводится в *Без отдела*. |

## Настройки сохранения чатов
| Параметр                      | Тип     | Значение по умолчанию | Описание                                                                                                                                                                                                                                                                                                                             |
| ----------------------------- | ------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `store_new_chats_immediately` | Boolean | `false`               | Немедленное сохранение нового чата при его создании, минуя общий цикл сохранения BackgroundStorager (см. [Описание сервисных периодов Webim](https://webim.ru/kb/devops/webim-service-periods.html)). При включении номер нового диалога в РМО появляется с минимальной задержкой, независимо от значения `background_storager_storing_delay`. Влияет только на момент создания чата; прочие объекты продолжают сохраняться по циклу. |


## Настройки безопасности

| Параметр               | Тип      | Значение по умолчанию | Описание                                                                                                                                                                                                                                                                                                                                                                         |
|------------------------|----------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `operator_allowed_ips` | `String` |                       | Список разрешённых для доступа к Webim IP-адресов. Адреса записываются через запятую, принимаются как в формате одиночных адресов, так и в формате диапазонов.<br>Пример: `192.168.0.1, 194.234.34.0-192.234.34.128`.<br>В случае, если значение параметра задано корректно, доступ к Webim становится возможным только с указанных в параметре адресов (в т.ч. и доступ к API). |
| `allowed_domains`      | `String` | `null`                | Общий whitelist доменов, с которых виджет посетителя может инициализировать сессию. Если параметр задан, запросы принимаются только с основного домена аккаунта и с доменов из этого списка; остальные источники отклоняются. В список нужно включать все сайты, где разрешён чат, а не только резервные для `fallbackDomains` — иначе виджет перестанет открываться на пропущенных доменах.<br>Значение — строка с перечислением доменов через запятую, не JSON-массив; допускаются записи с протоколом или без, например: `https://chat-backup1.local, http://chat-backup2.local, portal.client.local` или `chat-backup1.local, chat-backup2.local`.<br>Если `allowed_domains` задан, каждый резервный домен из поля `fallbackDomains` в JS-конфигурации виджета должен входить в этот список. Если `allowed_domains` не задан (`null`, по умолчанию), дополнительная настройка для fallback не требуется.<br>Ограничение применяется к веб-виджету. Для клиентов с платформой, отличной от веба (в частности мобильных приложений на **Webim** Mobile SDK), сервер проверку `allowed_domains` не выполняет. |

## Настройки аналитики

Следующие параметры используются для пометки сущностей конструктора аналитики как «сервисных» (созданных поддержкой) и блокировки их редактирования в интерфейсе.

| Параметр                                 | Тип  | Значение по умолчанию | Описание                                                                                                          |
|------------------------------------------|------|-----------------------|-------------------------------------------------------------------------------------------------------------------|
| `analytics_v2_service_metrics`           | JSON | `null`                | Список `id` метрик, которые считаются сервисными и недоступны для редактирования.                                 |
| `analytics_v2_service_report_configs`    | JSON | `null`                | Список `id` отчётов **Статистики** (report configs), которые считаются сервисными и недоступны для редактирования. |
| `analytics_v2_service_report_groups`     | JSON | `null`                | Список `id` групп отчётов, которые считаются сервисными и недоступны для редактирования.                          |
| `analytics_v2_service_dashboard_reports` | JSON | `null`                | Список `id` отчётов Панели приборов, которые считаются сервисными и недоступны для редактирования.                |

Формат значения — список целых `id` в квадратных скобках, например: `[1,2]`.

## Настройки блокировок visitor_id для init-запросов

| Параметр                   | Тип  | Значение по умолчанию                                       | Описание                                                                                                                                                                                                                                                                                                                                                                                                   |
|----------------------------|------|-------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `visitor_id_lock_settings` | JSON | `{"visitor_lock_ttl":60, "visitor_lock_acquire_timeout":5}` | Объект с параметрами блокировки по `visitor id` для `init`-запросов. <br><br>Поля:<br>- `visitor_lock_ttl` (сек.) — время жизни блокировки. Если обработчик не снял блокировку штатно, она будет снята автоматически по TTL. <br>- `visitor_lock_acquire_timeout` (сек.) — максимальное время ожидания захвата блокировки. При превышении таймаута `init` отклоняется с ошибкой `visitor-id-lock-timeout`. |

## Настройки статистики

### Статистика v1

| Параметр             | Тип       | Значение по умолчанию | Описание                                                                                                                                                                           |
|----------------------|-----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `new_stats_mode`     | `boolean` | `true`                | Включает «быструю статистику». При `false` статистика пересчитывается целиком при каждом запросе.                                                                                  |
| `stats_display_only` | `boolean` | `false`               | Если `true`, при открытии страницы статистики пересчёт **не запускается** (страница только отображает уже рассчитанные данные). Если `false`, кэш может достраиваться при запросе. |

Подробнее о режимах: [Режимы подсчёта и обновления статистики](https://webim.ru/kb/for-analytics/statistics/calculation-modes.html).

### Статистика v2 {: #stats-v2 }

| Параметр                                               | Тип       | Значение по умолчанию | Описание |
|--------------------------------------------------------|-----------|-----------------------|----------|
| `analytics_v2_stats`                                   | `boolean` | `true`                | Включает доступ к статистике v2 в меню. Требует тарифной опции `report_configs`. |
| `analytics_v2_dashboard`                               | `boolean` | `true`                | Включает доступ к дашборду v2 в меню. Требует тарифной опции `report_configs`. |
| `analytics_v2_builder`                                 | `boolean` | `true`                | Включает доступ к конструктору аналитики. Требует тарифной опции `report_configs`. |
| `analytics_v2_chat_backend_population`                 | `boolean` | `true`                | Включает наполнение ClickHouse данными со стороны Chat Backend (общие записи по чатам, оценкам, опросам, операторам и т. п.; содержит все чаты). Требует тарифной опции `report_configs`. |
| `analytics_v2_chat_backend_realtime_population`        | `boolean` | `true`                | Включает наполнение ClickHouse realtime-данными со стороны Chat Backend (актуальный срез данных об онлайне системы и активных на данный момент операторов/чатов; содержит только активные чаты). Требует тарифной опции `report_configs`. |
| `analytics_v2_chat_backend_realtime_population_period` | `integer` | `10`                  | Период обновления realtime-данных (сек.). |
| `analytics_v2_by_operators_time_v3_report_enable`      | `boolean` | `false`               | Включает отображение отчёта **«Статистика по использованию времени операторами (v3)»** в интерфейсе. Отчёт требователен к памяти, поэтому период ограничивается настройкой `analytics_v2_agent_thread_count_segments_v3_period_limit`. |
| `analytics_v2_agent_thread_count_segments_v3_period_limit` | `integer` | `3`                   | Максимальная длительность периода фильтрации (в днях) для отчётов, использующих источник `agent_thread_count_segments_v3_source`. |
| `analytics_v2_main_metrics_refresh_interval`           | `integer` | `60`                  | Интервал автообновления блока **Основных метрик** на Панели приборов v2 (сек.). По этому же интервалу в блоке обновляются статусы сотрудников. Подробнее: [Основные метрики](https://webim.ru/kb/for-analytics/dashboard/main-metrics.html). |
| `stats_w_chats`                                        | `boolean` | `true`                | Включать историю диалогов в письмо с ежедневной статистикой. Подробнее: [Ежедневная рассылка писем со статистикой](https://webim.ru/kb/for-analytics/statistics/daily-email-reports.html). |

!!! Note "Обновление с версии ниже 10.8"
    Параметр `clickhouse_stats` удалён. Параметры `stats_v2`, `dashboard_v2`, `chat_backend_stats_population` и `chat_backend_realtime_population` переименованы в `analytics_v2_stats`, `analytics_v2_dashboard`, `analytics_v2_chat_backend_population` и `analytics_v2_chat_backend_realtime_population` соответственно. Добавлен параметр `analytics_v2_builder`.

## Настройки для мобильных приложений

| Параметр                                                 | Тип     | Значение по умолчанию | Описание                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|----------------------------------------------------------|---------|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `timeout_for_chat_auto_close_if_visitor_left_for_mobile` | Integer | `86400`               | Тайм-аут для автоматического закрытия чата, когда посетитель ушёл. Указывается в секундах.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `mobile_apps_versions_features_support_dependencies`     | JSON    | `null`                | Позволяет управлять доступностью различных функций форматирования в зависимости от их поддержки мобильным приложением клиента определённой версии. В случае наличия нескольких версий приложения, в которых поддерживается разный набор функций форматирования, благодаря данной настройке недоступное в определённой версии приложения форматирование не будет направлено сервером в приложение указанной версии. Потенциально данный параметр может управлять доступностью различных функций форматирования, по факту на текущий момент он управляет доступностью функции hyperlink языка разметки markdown для приложений на платформах iOS и Android.<br><br>Формат записи:<br><pre>{<br>    "feature" : {<br>        "platform" : "version"<br>    }<br>}</pre>где<br><ul><li>feature — функция Webim</li><li>platform — мобильная операционная система, для которой делалось приложение</li><li>version — версия приложения</li></ul>Пример записи:<br><pre>{<br>    "hyperlink" : {<br>        "ios" : "4.0",<br>        "android" : "4.0"<br>    }<br>}</pre> |
| `open_chat_in_new_tab_for_mobile`                        | Boolean | `true`                | Открывает чат на мобильном устройстве в новом окне.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `offline_chat_accepted_text`                             | String  |                       | Информационное сообщение, отправляемое в чат после начала офлайн чата, которое видно только операторам и посетителям в мобильных приложениях.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

## Настройки для мобильных SDK и веб-виджета

В данном разделе перечислены параметры, которые передаются в мобильные SDK и веб-виджет, а также указывается, какие из них SDK использует самостоятельно и какие проксирует в клиентские мобильные приложения.

В текущих версиях SDK настройки для мобильных SDK и веб-виджета запрашиваются по адресу `/x/js/v/all-settings-mobile.js?location=mobile`. В версии 4.0 планируется переход на API `/api/visitor/v1/configs/default`.

!!! Note "N.B."
    При использовании Cordova-плагина параметры `account config` в мобильное приложение не проксируются. Настройки необходимо задавать на стороне приложения.

### Параметры, передающиеся в SDK

| Параметр                                 | Тип     | Значение по умолчанию | Описание                                                                                 |
|------------------------------------------|---------|-----------------------|------------------------------------------------------------------------------------------|
| `visitor_hints_api_endpoint`             | String  |                       | Базовый URL для сервисов подсказок/вспомогательных запросов, передаётся в мобильные SDK. |
| `visitor_message_editing`                | Boolean | `true`                | Разрешает редактирование сообщений посетителем; передаётся в SDK.                        |
| `max_visitor_upload_file_size`           | Integer | `10`                  | Максимальный размер файла при загрузке посетителем (МБ); передаётся в SDK.               |
| `web_and_mobile_quoting`                 | Boolean | `true`                | Включает цитирование сообщений на вебе и в мобильных клиентах.                           |
| `rate_operator`                          | Boolean | `true`                | Включает возможность оценки оператора.                                                   |
| `show_visitor_rate_operator_button`      | Boolean |                       | Отображение кнопки оценки оператора на стороне клиента.                                  |
| `show_processing_personal_data_checkbox` | Boolean | `true`                | Отображение чекбокса согласия на обработку персональных данных.                          |
| `processing_personal_data_url`           | String  |                       | Ссылка на документ с политикой обработки персональных данных.                            |
| `allowed_upload_file_types`              | String  |                       | Список разрешённых типов файлов через запятую (например: `png, jpg, pdf`).               |
| `disabling_message_input_field`          | Boolean |                       | Блокирует поле ввода сообщения у посетителя.                                             |
| `rate_form`                              | JSON    |                       | Конфигурация формы оценки (набор полей/правил).                                          |
| `rated_entity`                           | String  |                       | Сущность оценки (например, `operator`).                                                  |
| `visitor_segment`                        | String  |                       | Идентификатор сегмента посетителя для кастомизации поведения/UI.                         |

### Параметры, используемые в SDK и виджете

Ниже указано, какие параметры непосредственно используются iOS SDK и какие — веб-виджетом. Параметры, влияющие и на SDK, и на виджет (например, `visitor_message_editing`), приведены в обеих таблицах.

#### iOS SDK

| Параметр                       | Тип     | Значение по умолчанию | Описание                                                                                |
|--------------------------------|---------|-----------------------|-----------------------------------------------------------------------------------------|
| `visitor_hints_api_endpoint`   | String  |                       | Используется мобильным SDK.                                                             |
| `visitor_message_editing`      | Boolean | `true`                | Используется SDK **только** для сохранения сообщений, если поле не пришло в настройках. |
| `max_visitor_upload_file_size` | Integer | `10`                  | Используется SDK для ограничения загрузок.                                              |

#### Веб-виджет

| Параметр                                 | Тип     | Значение по умолчанию | Описание                                                                    |
|------------------------------------------|---------|-----------------------|-----------------------------------------------------------------------------|
| `web_and_mobile_quoting`                 | Boolean | `true`                | Используется виджетом для включения цитирования.                            |
| `visitor_message_editing`                | Boolean | `true`                | Используется виджетом для разрешения редактирования сообщений.              |
| `rate_operator`                          | Boolean | `true`                | Используется виджетом для включения оценки оператора.                       |
| `show_visitor_rate_operator_button`      | Boolean |                       | Используется виджетом для показа кнопки оценки.                             |
| `show_processing_personal_data_checkbox` | Boolean | `true`                | Используется виджетом для показа чекбокса согласия.                         |
| `processing_personal_data_url`           | String  |                       | Используется виджетом как ссылка на политику обработки персональных данных. |

### Параметры, которые SDK проксирует в клиентское мобильное приложение

Все параметры в таблицах ниже предоставляет SDK во внешнее API приложения. SDK сам эти значения не применяет.

#### iOS

| Параметр                                 | Тип     |
|------------------------------------------|---------|
| `visitor_hints_api_endpoint`             | String  |
| `web_and_mobile_quoting`                 | Boolean |
| `visitor_message_editing`                | Boolean |
| `max_visitor_upload_file_size`           | Integer |
| `allowed_upload_file_types`              | String  |
| `rate_operator`                          | Boolean |
| `show_visitor_rate_operator_button`      | Boolean |
| `disabling_message_input_field`          | Boolean |
| `rate_form`                              | JSON    |
| `rated_entity`                           | String  |
| `visitor_segment`                        | String  |
| `show_processing_personal_data_checkbox` | Boolean |
| `processing_personal_data_url`           | String  |

#### Android

| Параметр                        | Тип     |
|---------------------------------|---------|
| `visitor_hints_api_endpoint`    | String  |
| `web_and_mobile_quoting`        | Boolean |
| `visitor_message_editing`       | Boolean |
| `max_visitor_upload_file_size`  | Integer |
| `allowed_upload_file_types`     | String  |
| `rate_operator`                 | Boolean |
| `disabling_message_input_field` | Boolean |
| `rate_form`                     | JSON    |
| `rated_entity`                  | String  |
| `visitor_segment`               | String  |

Список параметров для Android в целом аналогичен iOS, за исключением параметров `show_visitor_rate_operator_button`, `show_processing_personal_data_checkbox` и `processing_personal_data_url`.

## Настройки для интеграций WhatsApp

| Параметр                | Тип       | Значение по умолчанию | Описание                                                                                                                                                                                                                                                                                         |
|-------------------------|-----------|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `use_whatsapp_media_id` | `boolean` | `false`               | Режим отправки вложений в WhatsApp[^whatsapp_footnote] для провайдеров 360dialog и Gupshup. При `false` отправка по ссылке; при `true` вложения отправляются через `media_id` (предварительная загрузка на сторону провайдера). Рекомендуется включать, если у получателей не доходят файлы, отправленные по ссылке. |

## Настройки postMessage (РМО в iframe)

| Параметр                                                       | Тип                  | Значение по умолчанию | Описание                                                                                                                                                                                                                                                 |
|----------------------------------------------------------------|----------------------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `agent_iframe_visitor_selected_post_message_additional_fields` | JSON Array of String | `[]`                  | Дополнительные плоские поля к событию `visitorSelected` для обратной совместимости. Поддерживаются значения: `channelName`, `visitorNumber`. При их указании эти поля добавляются в payload **вместе** с новыми структурами `channel` и `visitorFields`. |

[^whatsapp_footnote]: WhatsApp принадлежит корпорации Meta, деятельность которой признана экстремистской и запрещена в РФ.

---

Источник: https://webim.ru/kb/devops/server-account-config-parameters.html
