# Про підключення чату з оператором через операторську панель

Підключення чату з оператором дозволяє користувачам з'єднуватися з живими операторами через операторську панель ConnectiveOne. Це забезпечує можливість надання персоналізованої підтримки та вирішення складних питань, які потребують людського втручання.

## Контекст і проблема

У багатьох випадках автоматизація не може вирішити всі питання клієнтів:
- Складні питання потребують людського втручання
- Персоналізована підтримка для важливих клієнтів
- Ескалація проблем з автоматизації до операторів
- Потреба в емоційній підтримці та емпатії

Підключення чату з оператором вирішує цю задачу, дозволяючи користувачам з'єднуватися з живими операторами для отримання допомоги.

## Основні концепції

### Базове підключення

Найпростіший спосіб підключити користувача до оператора — використати action `operator_panel__connect_to_operator_with_msg` з параметром `subject_alias`, який вказує тему діалогу.

### Автоматичне підключення

Можна налаштувати автоматичне підключення вільного оператора до нового діалогу через параметр `auto_connect_operator: true`. Це дозволяє системі автоматично розподіляти діалоги на вільних операторів.

### Авторозподіл діалогів

Система може автоматично розподіляти діалоги на операторів за різними критеріями (навантаження, навички, теми), що забезпечує справедливий розподіл навантаження та ефективне використання ресурсів.

## Варіанти підходів

### Ручне підключення vs автоматичне підключення

**Ручне підключення:**
- ✅ Плюси: Контроль над вибором оператора
- ❌ Мінуси: Потребує ручного втручання

**Автоматичне підключення:**
- ✅ Плюси: Швидкість, автоматизація, справедливий розподіл
- ❌ Мінуси: Менший контроль над вибором оператора

**Чому використовуємо автоматичне підключення:**
Автоматичне підключення забезпечує швидку реакцію на запити клієнтів та ефективне використання ресурсів операторів.

### Перерозподіл чатів

Якщо оператор не може обробити діалоги (технічні проблеми, відсутність зв'язку), можна автоматично перерозподілити чати на інших операторів через процес перерозподілу.

## Прийняті рішення

### Додаткові можливості

Підключення до оператора підтримує багато додаткових можливостей:
- Налаштування тем діалогів
- Додавання тегів до діалогів
- Надсилання кастомних повідомлень оператору
- Налаштування alias при закритті діалогу
- Webhook для подій з операторської панелі

### Обробка ситуацій без вільних операторів

Для обробки ситуацій, коли вільних операторів немає, можна використати:
- Подію `limit` для перенаправлення користувача
- Чергу очікування через параметр `status: "queue"`
- Повідомлення про очікування

## Наслідки для користувачів і імплементації

### Для інтеграторів

При налаштуванні підключення до оператора важливо:

1. **Визначити тип підключення** — ручне або автоматичне
2. **Налаштувати теми діалогів** — для організації та фільтрації
3. **Обробити ситуації без операторів** — додати подію `limit` або чергу
4. **Налаштувати додаткові можливості** — теги, повідомлення, alias

### Типові помилки

**Помилка:** Користувач не може підключитися до оператора  
**Проблема:** Не налаштовано action `operator_panel__connect_to_operator_with_msg`  
**Рішення:** Додати action блок з правильною конфігурацією

**Помилка:** Діалоги не розподіляються автоматично  
**Проблема:** Не вказано `auto_connect_operator: true` або не активовано налаштування  
**Рішення:** Перевірити JSON конфігурацію та налаштування в операторській панелі

**Помилка:** Користувач не отримує повідомлення при відсутності операторів  
**Проблема:** Не додано подію `limit` для обробки ситуації  
**Рішення:** Додати подію `limit` з повідомленням або відправкою до черги

## Приклади використання

### Базове підключення

```json
{
  "subject_alias": "support"
}
```

### Автоматичне підключення

```json
{
  "auto_connect_operator": true,
  "subject_alias": "support"
}
```

### З чергою очікування

```json
{
  "auto_connect_operator": true,
  "subject_alias": "support",
  "status": "queue"
}
```

## Пов'язані документи

- **Explanation:** [Автоматичне підключення вільного оператора](/uk/operatorline/explanation/auto-connect-free-operator.md) — налаштування автоматичного підключення
- **Explanation:** [Авторозподіл діалогів](/uk/operatorline/explanation/auto-distribute-dialogs.md) — детальна інформація про авторозподіл
- **Explanation:** [Перерозподіл чатів з оператора](/uk/operatorline/explanation/redistribute-chats-from-operator.md) — перерозподіл при проблемах
- **Explanation:** [Налаштування alias при вихідному діалозі](/uk/scenariodialog/explanation/outgoing-dialog-aliases.md) — налаштування alias при закритті

