# Маршрутизация посетителей

В версии **Webim** [10.7](https://webim.ru/webim-10-7/) в меню настроек был добавлен новый раздел **Маршрутизация посетителей**, позволяющий задавать правила для перенаправления определенного *сегмента* посетителей в соответствующие размещения. Под *сегментом* в контексте маршрутизации посетителей подразумевается подмножество аудитории посетителей, объединенное какими либо признаками. Например, клиенты с premium-подпиской.

![Раздел **Маршрутизация посетителей** в меню настроек](https://webim.ru/kb/img/for-admins/visitor-routing/visitor-routing-in-settings.webp){ style="width: 603px; max-width: 100%" }

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

Для того чтобы добавить новое правило маршрутизации, перейдите в раздел **Маршрутизация посетителей** в левом боковом меню настроек и нажмите кнопку **Новое правило маршрутизации посетителей**.

![Добавление нового правила](https://webim.ru/kb/img/for-admins/visitor-routing/adding-new-rule.webp){ style="width: 1311px; max-width: 100%" }

Затем заполните соответствующие поля на открывшейся странице:

  1. **Поле посетителя** — имя поля, по которому определяется сегмент. Виджет сравнивает его со значениями на стороне клиента: из `window.webim_visitor.fields` ([подписанные поля посетителя](https://webim.ru/kb/dev/identification/id-2-0.html)) и из `window.chat_routing_fields` ([поля для маршрутизации](https://webim.ru/kb/dev/identification/id-2-0.html#chat-routing-fields)). Поля, которые переданы только методом `provide_visitor_fields` при [идентификации через токен](https://webim.ru/kb/dev/identification/authorization-scheme-tokenizer.html), в выборе размещения не участвуют.

  1. **Значение поля посетителя** - значение указанного выше поля, при котором будет применено создаваемое правило.

  1. **Ключ размещения** - размещение, в которое будут перенаправлены диалоги при условии соответствия создаваемому правилу у посетителя. О том, как настроить ключ размещения, можно узнать в [этой статье](https://webim.ru/kb/for-admins/service-pages/location-settings.html).

  ![Редактирование полей правила](https://webim.ru/kb/img/for-admins/visitor-routing/new-visitor-routing-rule-form.webp){ style="width: 813px; max-width: 100%" }

После заполнения всех полей нажмите на кнопку **Сохранить** в правом нижнем углу экрана. При успешном сохранении данных новое правило маршрутизации будет добавлено в раздел.

![Новое правило маршрутизации посетителей](https://webim.ru/kb/img/for-admins/visitor-routing/visitor-routing-rule-added-list.webp){ style="width: 1108px; max-width: 100%" }

Для того чтобы настроить порядок отделов, перейдите в раздел **Кнопки и размещения** в левом боковом меню настроек:

![Раздел **Кнопки и размещения** в меню настроек](https://webim.ru/kb/img/for-admins/visitor-routing/buttons-and-locations-in-settings.webp){ style="width: 583px; max-width: 100%" }

Более детальную информацию о том, как настраивать порядок отделов, можно узнать [здесь](https://webim.ru/kb/control-panel/buttons-and-locations/settings-main.html)

Для редактирования или удаления существующего правила, перейдите в раздел **Маршрутизация посетителей**.

Нажмите на кнопку с пиктограммой карандаша, чтобы изменить правило. После того как изменения будут внесены, нажмите кнопку **Сохранить**, расположенную в правом нижнем углу страницы.

![Кнопка **Редактировать**](https://webim.ru/kb/img/for-admins/visitor-routing/edit-visitor-routing-rule-button.webp){ style="width: 1108px; max-width: 100%" }

Для удаления правила нажмите на кнопку с пиктограммой крестика, расположенную справа от кнопки **Редактировать**.

![Кнопка **Удалить**](https://webim.ru/kb/img/for-admins/visitor-routing/delete-visitor-routing-rule-button.webp){ style="width: 1108px; max-width: 100%" }

!!! Note "N.B."
    Правила срабатывают только по тем полям, которые виджет видит на стороне клиента: в `webim_visitor.fields` или в `chat_routing_fields`. Имена и значения должны в точности совпадать с настройками правила.

    Если одно и то же поле задано и в `webim_visitor.fields`, и в `chat_routing_fields`, для сопоставления с правилами берётся значение из `chat_routing_fields`.

    При [идентификации через токен](https://webim.ru/kb/dev/identification/authorization-scheme-tokenizer.html) данные посетителя хранятся на сервере и недоступны виджету в момент выбора размещения. Чтобы правило сработало, передайте нужные поля через `window.chat_routing_fields` на странице с виджетом.

## Примеры применения правила маршрутизации посетителей

  1. Маршрутизация посетителей c premium-подпиской

    **Посетитель:** Клиент с premium-подпиской  

    **Provided fields:**

    * Поле: `subscription_type`

    * Значение: `premium`

    **Правило маршрутизации:**

    * Поле посетителя: `subscription_type`

    * Значение поля посетителя: `premium`

    * Ключ размещения: `premium_support`

      Посетитель с полем `subscription_type` и значением `premium` будет перенаправлен в группу операторов, ответственных за premium-поддержку (`premium_support`).

  1. Маршрутизация посетителей с англоязычной поддержкой

      **Посетитель:** Клиент, нуждающийся в поддержке на английском языке  

     **Provided fields:**

    * Поле: `language`

    * Значение: `en`

     **Правило маршрутизации:**

    * Поле посетителя: `language`

    * Значение поля посетителя: `en`

    * Ключ размещения: `english_support`

      Посетитель с полем `language` и значением `en` будет перенаправлен в группу операторов, предоставляющих поддержку на английском языке (`english_support`).

  1. Нет соответствующего правила для поля

     **Посетитель:** Клиент с полем `subscription_type` и значением `standard`  

     **Provided fields:**

    * Поле: `subscription_type`

    * Значение: `standard`

      **Правило маршрутизации:** Отсутствует правило для `subscription_type` со значением `standard`.

      Поскольку для поля `subscription_type` и значения `standard` нет соответствующего правила, посетитель будет перенаправлен по умолчанию, возможно, в общую очередь поддержки или к оператору, который обрабатывает все прочие обращения.

  1. Несоответствие поля в правиле

      **Посетитель:** Клиент с полем `region` и значением `US`  

      **Provided fields:**

      * Поле: `region`

      * Значение: `EN`

       **Правило маршрутизации:**

      * Поле посетителя: `language`

      * Значение поля посетителя: `en`

      * Ключ размещения: `english_support`

       В этом случае, у посетителя есть поле `region` с значением `US`, однако правило маршрутизации настроено на поле `language` с значением `en`. Поскольку поле `region` не совпадает с полем `language`, данное правило маршрутизации не будет применено. Обращение посетителя будет обрабатываться по общим правилам маршрутизации или перенаправлено по умолчанию.

  1. Маршрутизация посетителей, обратившихся через мобильные приложения

      **Посетитель:** Клиент, использующий мобильное приложение  

      **Provided fields:**

      * Поле: `platform`

      * Значение: `mobile`

      **Правило маршрутизации:**

      * Поле посетителя: `platform`

      * Значение поля посетителя: `mobile`

      * Ключ размещения: `mobile_support`

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

  1. Маршрутизация при идентификации через токен

      **Посетитель:** Авторизованный клиент. Данные переданы методом `provide_visitor_fields` и на странице с виджетом недоступны.

      **На странице с виджетом:**

      ```
      window.webim_auth_token = '40bbba7cd1fec39dd1aXXXXXXXXXXX';
      window.chat_routing_fields = {
          subscription_type: 'premium'
      };
      ```

      **Правило маршрутизации:**

      * Поле посетителя: `subscription_type`

      * Значение поля посетителя: `premium`

      * Ключ размещения: `premium_support`

      Посетитель будет направлен в размещение `premium_support`. Если объект `chat_routing_fields` не задать, правило не сработает: виджет не увидит поле `subscription_type`.

---

Источник: https://webim.ru/kb/for-admins/visitor-routing.html
