Перейти до вмісту

Підключення IP-телефонії

Aelo приймає завершені дзвінки від українських провайдерів IP-телефонії через webhook, а історичні дзвінки — через CDR backfill. Підтримуються чотири провайдери: Stream Telecom і Binotel перевірені на бойовому трафіку; Unitalk та Ringostat — у беті.

  1. У розділі Джерела → Телефонія оберіть провайдера й введіть облікові дані.
  2. Скопіюйте видану webhookUrl у налаштування провайдера.
  3. Натисніть Перевірити з’єднання — Aelo звернеться до CDR API провайдера.
  • Облікові дані: username + password + api_key (Адміністрування → Профіль компанії → API KEY). Не Bearer-токен.
  • Webhook: потік подій; термінальна — Hangup із синхронним recordUrl. Налаштовується листом у support@streamtele.com.
  • CDR backfill: вікно ≤30 днів.
  • Облікові дані: key + secret (видає support@binotel.ua за прив’язкою до IP).
  • Подія: apiCallCompleted (form-urlencoded). У вебхуку немає URL запису — Aelo отримує його на вимогу перед завантаженням (посилання живе ~15 хв).
  • IP-allowlist: публічні IP Binotel дозволені за замовчуванням.
  • Aelo завжди відповідає 200, щоб уникнути повторних спроб провайдера.
  • Облікові дані: API key проєкту (заголовок Authorization).
  • Налаштування: після збереження Aelo згенерує webhook-секрет. Вставте його у заголовок Authorization обробника подій Unitalk — інакше всі вебхуки будуть відхилені.
  • Як побачити секрет пізніше: за замовчуванням він не показаний, бо стан підключення видно будь-якому учаснику організації. Відкрийте Налаштування → Джерела даних → Підключення → Вебхук дзвінків у реальному часі й натисніть Показати секрет — доступно власнику та адміністраторам. Секрет не змінюється ні при заміні API-ключа, ні при перепідключенні джерела: копія, вже вставлена в Unitalk, працює далі.
  • Часовий пояс: дати Unitalk без зсуву; за замовчуванням Europe/Kyiv (змінюється у формі).
  • Подія: CALL_END. Запис стає доступним за ~10–15 хв (Aelo дочекається).
  • Облікові дані: API key — єдине поле форми.
  • Налаштування: вебхук підключається через підтримку Ringostat (help@ringostat.com); майстер готує цей лист за вас.
  • Запис: надходить прямо у вебхуку, додатковий запит не потрібен.
  • CDR backfill відсутній: історичні дзвінки завантажити не можна — лише ті, що надійдуть після підключення.
  • Статус: бета. Схема payload успадкована від попередньої інтеграції й жодного разу не підтверджена на живих даних; тому Перевірити з’єднання відповідає успіхом, не звертаючись до Ringostat.

Гібридний режим: телефонія як джерело лише аудіо

Section titled “Гібридний режим: телефонія як джерело лише аудіо”

Деякі CRM реєструють дзвінок, але не додають його запис. Bitrix24, наприклад, може зафіксувати дзвінок активністю, яка лише посилається на веб-архів оператора телефонії — замість файлу. Для такого випадку встановлення телефонії можна перемкнути з ролі за замовчуванням джерело записів у роль джерела лише аудіо: воно перестає створювати власні записи і натомість постачає запис для дзвінка, якому його бракує в CRM.

  • Вендор: сьогодні лише Binotel. Aelo отримує запис Binotel на вимогу, за ідентифікатором дзвінка; Stream Telecom, Unitalk і Ringostat віддають запис лише всередині власного вебхука і не можуть видати його на вимогу для дзвінка, який не надходив до них напряму.
  • Налаштування: роль обирається в майстрі підключення, на кроці облікових даних. Вибір з’являється лише тоді, коли він має сенс: вендор має вміти віддати запис за ідентифікатором дзвінка, а джерелом записів має бути CRM, у якої Aelo цей запис забирає, — сьогодні це Bitrix24. Підключення джерела аудіо не вимикає телефонію, через яку надходять записи: активна телефонія одна НА РОЛЬ, а не на організацію. Джерело аудіо пропускає крок масового імпорту (записів воно не імпортує) і з’являється в Налаштування → Джерела даних → Підключення окремою карткою з позначкою «додаткове», власним URL вебхука та власними кнопками зміни й вимкнення. Заміна ключів роль зберігає: майстер відкривається на тій ролі, яку встановлення вже має.
  • Зіставлення: спершу Aelo шукає ідентифікатор дзвінка прямо в активності CRM; якщо не знаходить — зіставляє за номером, часом і тривалістю дзвінка з індексом дзвінків Binotel. Живий вебхук додає дзвінок до цього індексу, щойно той завершився, відповідений він чи ні. Результат «не взяли слухавку» або «зайнято» дозволяє Aelo перестати чекати запис, якого не буде. Решта невідповіданих результатів (кинули слухавку, поки тривав дзвінок; збій зв’язку) теж потрапляють до індексу, але запис Aelo запитує в оператора до добової межі: відрізнити такий результат від того, якого ми ще не знаємо, нічим. Довговічний історичний імпорт, що запускається разом з обробкою накопиченого, добирає те, чого живий вебхук не побачив узагалі: скинуту подію або дзвінок, який відбувся до підключення встановлення.
  • Строк зберігання: індекс зіставлення містить лише хвости телефонних номерів і метадані дзвінка. Рядок живе не більше 30 днів і видаляється раніше, якщо організація задала коротший строк зберігання транскриптів; індекс також входить до повного видалення організації.
  • Коли Aelo здається: дві відповіді дозволяють закрити запис із власною причиною, а не чекати аудіо. «Запису в джерелі немає» — дзвінок є в індексі з результатом, який каже, що оператор його не робив. «Підходить кілька дзвінків» — після звуження кандидатів лишилося більше одного, а вгадувати не можна: чужий запис у картці гірший за відсутній. Решта чекає звичайну добу й потім закривається з причиною «Дзвінок не знайдено в джерелі» — якщо цієї миті оператор відповідає. Якщо ні, запис завершується помилкою: оператор, який замовк, нічого не каже про сам дзвінок.