# Як протестувати webhook телефонії

Перевірте роботу webhook телефонії перед початком використання. Тестування допоможе переконатися, що налаштування коректні та дзвінки будуть оброблятися правильно.

## Передумови

- Налаштований канал телефонії
- Збережені налаштування каналу

## Коли знадобиться

- Після налаштування нового каналу телефонії
- Після зміни налаштувань маппінгу полів
- Коли потрібно перевірити, чи webhook працює коректно

## Тестування через UI

### Крок 1: Відкрити форму каналу

1. Перейдіть в **Налаштування** → **Боти**
2. Оберіть потрібного бота
3. Перейдіть на вкладку **Телефонія**
4. Відкрийте канал для редагування

### Крок 2: Запустити тест

1. Натисніть кнопку **Тест**
2. Система автоматично:
   - Створить тестовий payload на основі вашого field mapping
   - Відправить webhook на ваш endpoint
   - Відобразить результат тестування

### Крок 3: Перевірити результат

1. Перевірте статус тестування:
   - ✅ **Успішно** — webhook оброблено, діалог створено
   - ❌ **Помилка** — перевірте повідомлення про помилку

2. Якщо тест успішний:
   - Перейдіть в **Операторську панель** → **Закриті звернення**
   - Знайдіть тестовий діалог з типом "Телефонія"
   - Перевірте, що всі поля заповнені коректно

## Тестування через CURL

Якщо потрібно протестувати webhook вручну або з іншого сервісу:

### Крок 1: Отримати CURL команду

1. В формі каналу натисніть **Тест**
2. Система згенерує CURL команду на основі вашого field mapping
3. Скопіюйте команду

### Крок 2: Виконати команду

1. Відкрийте термінал або командний рядок
2. Вставте скопійовану CURL команду
3. Натисніть Enter

### Крок 3: Перевірити результат

1. Перевірте відповідь сервера:
   - `{"status": "ok"}` — webhook оброблено успішно
   - `{"status": "error", ...}` — перевірте повідомлення про помилку

2. Перевірте створення діалогу в Операторській панелі

## Що перевіряти після тесту

- ✅ Діалог створено з правильним типом "Телефонія"
- ✅ Номери телефонів нормалізовані до формату E.164
- ✅ Статус дзвінка встановлено коректно
- ✅ Тривалість дзвінка відображається правильно
- ✅ Якщо є запис — URL запису збережено
- ✅ Якщо є транскрипт — текст транскрипту збережено

## Типові проблеми

### Webhook не обробляється

- Перевірте, що канал активний
- Перевірте, що webhook URL та токен правильні
- Перевірте формат даних (JSON/Form-urlencoded)

### Поля не маппяться коректно

- Перевірте field mapping в Advanced Config
- Перевірте, що назви полів відповідають тому, що надсилає провайдер
- Використайте тестовий webhook для перевірки payload

### Номери телефонів не нормалізуються

- Перевірте код країни за замовчуванням
- Перевірте формат номерів, які надсилає провайдер
- Перевірте, що поле caller_number/callee_number маппиться правильно

## Пов'язані статті

- [Налаштувати канал телефонії](/uk/telephony/how-to/configure-telephony-channel.md)
- [Налаштувати Ringostat](/uk/telephony/how-to/configure-ringostat.md)

