Детали звонка
Открыв строку, вы увидите весь разговор целиком со всем, что платформа зафиксировала о нём.Транскрипт и события звонка
Транскрипт показывает каждую реплику по порядку, а переходы между нодами отображаются прямо перед репликой той ноды, в которую произошёл переход. Рядом с транскриптом платформа показывает события звонка в том месте, где они произошли — у каждого есть иконка, краткая сводка и статус-пилюля, по клику на которую раскрывается полная информация (запрос/ответ, стадии или аргументы):- «Вызов функции» — был вызван инструмент или функция, с аргументами, ответом и длительностью выполнения.
- «Поиск по базам знаний» — был выполнен запрос к базе знаний, с найденными пассажами и их релевантностью.
- «Перевод звонка» — попытка перевода, со стадиями (hold, dialing, answered, briefing, bridged и так далее) и итогом.
- «Напоминание о тишине» — было воспроизведено напоминание.
- «Авто-завершение» — звонок завершился автоматически, например после долгой тишины.
- «Автоответчик» — был обнаружен автоответчик, и агент оставил сообщение. У события бывает пометка «маркер на промежуточном»: автоответчик опознан по характерной фразе («вы позвонили…», «оставьте сообщение») прямо посреди приветствия, не дожидаясь, пока распознавание отдаст готовый результат.
- «Абонент положил трубку» — звонок завершил человек.
- «Code-узел» — выполнился code-шаг и обновил переменные.
- Событие с кодом
turn_rollback— пауза расколола фразу абонента надвое; см. реплику, склеенную из обрывков ниже.
- «прервана» — реплика была прервана абонентом, показана только произнесённая часть.
- «не прозвучало» — реплика была сгенерирована, но абонент её не услышал; она показана приглушённой, чтобы можно было понять, что агент собирался сказать, не приняв это за реально услышанное. Подсказка у пометки различает две причины: звонок оборвался раньше, чем реплика зазвучала, — или речь перебили до первого звука.
- «брифинг оператору» — приватное сообщение, которое агент передал оператору-человеку во время перевода; абонент его не слышит.
- «сказано во время реплики агента» — реплика абонента, прозвучавшая поверх непрерываемой реплики агента; см. ниже.
Перебивание обрезает ровно ту реплику, которую перебили. Если на одном ходу агент говорил дважды, обрезка ляжет на вторую фразу и не тронет первую — ту, которую абонент действительно услышал.
Абонент говорил, когда перебивать было нельзя
Если на узле выключено перебивание, а абонент всё равно заговорил поверх реплики агента, его слова сохраняются отдельной записью с пометкой «сказано во время реплики агента». Разговор при этом идёт своим чередом: хода по такой реплике не было, и агент на неё не отвечал — узел не разрешал себя перебить. Запись видна везде, где виден разговор:- в карточке звонка — пузырём абонента с этой пометкой;
- в стенограмме для пост-колл аналитики — строкой
Client [during agent's reply]: …; - в транскрипте вебхуков — у такой строки стоит
out_of_turn: true; - в выгрузках отчёта — как обычная реплика абонента.
GET /v1/calls/{call_id}/turns) такой записи нет: хода не было, мерить нечего. По той же причине она не увеличивает счётчик ходов в Истории.
На странице деталей также отображаются итоговые значения переменных звонка и версия сценария, на которой прошёл звонок.
Реплика, склеенная из обрывков
Абонент, сделавший паузу внутри фразы — «Да… нет, не хочу», — для распознавания звучит как две реплики. Если агент к этому моменту ещё не издал звука, платформа откатывает непроизнесённый переход и склеивает обрывки в одну реплику. История такого звонка читается не так, как звучит запись, поэтому стоит узнавать три вещи:- Одна реплика абонента там, где в записи их две. На записи стоит
merged_from: N— сколько обрывков склеено, — и списокfragmentsс текстом, временем и фазами распознавания каждого. Время самой реплики и её фазы ASR и VAD — у первого обрывка: абонент начал говорить тогда. Языковая модель агента раскола не видит, ей достаётся одна обычная реплика. - Агент как будто повторяется. Если продолжением оказался шум, а не речь, переход остаётся, а реплика узла просто произносится заново — под новым номером тёрна и без реплики абонента между ними. Событие
turn_rollbackрядом имеет статусredoи причинуnoise. Частые перебивания шумом — повод посмотреть настройки перебивания у агента, а не Историю. - Переход в узел, который ничего не сказал. В деталях события отката есть
discarded_path— узлы, куда диалог унесло по обрывку до того, как переход отменили. Это и есть объяснение перехода в транскрипте, под которым нет реплики.
committed называет причину: агент успел заговорить (agent_spoke), в отменённой попытке уже был вызов в ваши системы (external_side_effect), абонент услышал реплику (audio_started), сработал лимит в четыре обрывка (limit) или канал не передал признак звука (no_signal). Ни одна из них не влияет на технический вердикт звонка.
Задержки хода диалога
Под каждым ходом стоит компактная строка задержек, по клику раскрывающаяся в детали. Фазы складываются арифметически:ASR + ожидание + LLM + TTS ≈ ход целиком.
- ASR — от конца речи абонента до финального транскрипта.
- ожидание — от финального транскрипта до фиксации конца реплики (производная величина: у потокового распознавания это остаток окна endpointing, у пакетного — около нуля).
- LLM — от транскрипта до первого токена ответа; внутрь этой фазы попадает вызов классификатора.
- TTS — от первого предложения в синтез до первого фрагмента звука.
- ход целиком — итог: от конца речи клиента до первого звука агента.

Пост-колл аналитика
Карточка аналитики показывает результат пост-колл анализа, когда он готов: резюме, тональность, бейдж успешности, таблицу извлечённых пользовательских полей и уровень аналитики. Если анализ был пропущен, карточка объясняет причину, например автоответчик или отсутствие речи. Кнопки «Перезапустить аналитику» и «Перезапустить (глубокий уровень)» запускают повторный анализ звонка. Состав полей берётся из той версии агента, которой шёл звонок: версия, опубликованная, пока звонок ещё шёл, разбор этого звонка не меняет.
Техническое здоровье
Карточка «Техническое здоровье» показывает, были ли у звонка технические проблемы: «ОК», «Предупреждение» или «Ошибка», с перечислением конкретных причин (например, неудавшийся перевод, медленный ход разговора или ошибка распознавания речи). Если причин нет, карточка так и пишет: «Причин нет — звонок прошёл штатно». Недозвон технического здоровья не портит, если причина на стороне абонента или его оператора: не отвечает, занято, отклонил, неверный номер, номер помечен спамом. Ошибкой становится только сбой инфраструктуры набора — авторизация транка, недоступность провайдера, ошибка маршрутизации; незнакомая причина даёт предупреждение, а не тишину.Код оператора у недозвона
У недозвона рядом с причиной показывается числовой код, присвоенный оператором связи — например «Занято (486)». Трактовки кодов у операторов различаются, поэтому платформа не выдаёт свою расшифровку, а прямо советует уточнять её у своего оператора. Код есть в кабинете, в выгрузках отчётов, в Web API и в вебхуках — у каждой строки, так что разбор выборки не требует ручного сопоставления. Отдельно стоит знать: причина «абонент отклонил» у большинства операторов на самом деле означает «занято», и платформа теперь различает эти два случая. Для исторических звонков кода нет — он не восстанавливается. Техническое здоровье отражает, как отработала техника звонка, — это отдельная характеристика и от качества разговора (тональность и успешность из аналитики), и от соблюдения правил (см. инциденты). Чтобы найти звонки с проблемами, возьмите фильтр «Здоровье: любое» на странице Истории.

Отменённый набор
Набор, остановленный до соединения — кнопкой в кабинете или запросомPOST /v1/calls/{id}/end через Web API, — получает собственную причину «отменён оператором» в корзине «не соединились».
Что из этого следует:
- попытка контакта на отмену не тратится, частотный потолок на номер — тоже: вы остановили набор сами, платформа не считает это попыткой дозвониться;
- техническое здоровье звонка отмена не портит — это решение человека, а не сбой платформы;
- отмена функцией агента до набора и отмена командой извне — разные причины: в разборе инцидента и в отчётности кампании это разные события.
Запись разговора
Если звонок был записан, карточка записи показывает плеер с play/pause, регулировкой скорости воспроизведения, mute и скраббером, по которому можно кликать или тянуть вдоль волны, а также длительность, размер и формат записи и кнопку «Скачать». Пока запись ещё финализируется, карточка показывает индикатор обработки; если запись не удалась или была удалена по истечении срока хранения, карточка сообщает об этом. Отдельный случай — слишком короткий звонок: абонент положил трубку сразу, записывать было нечего, и это не сбой записи. Длительность в карточке записи — авторитетная, сохранённая платформой; оценка браузера используется только как запасной вариант, поэтому число в шапке сессии и длина аудио в плеере совпадают.Начало разговора попадает в запись целиком. На входящем звонке это первая реплика абонента, на исходящем запись начинается с момента, когда абонент взял трубку, — гудки в файл не попадают.Если часть звука всё же потеряна, на её месте в записи стоит тишина, а карточка помечает пропуск: так видно, что аудио короче разговора, а не что абонент молчал. Порог срабатывания консервативный — помечаются заметные потери, примерно от секунды.

Webhook-доставки
Карточка webhook-доставок перечисляет все webhook-уведомления, отправленные по этому звонку: событие, статус доставки (delivered, pending или dead), количество попыток, код ответа и историю попыток. Кнопка повтора позволяет вручную переотправить доставку.Действия
- «Открыть агента» — переход к агенту, который обработал звонок.
- «Прикрепить в Copilot» — добавляет звонок вместе с резюме, тональностью и извлечёнными полями в контекст Copilot-ассистента агента.
- «Скачать лог» — экспортирует полную запись звонка в файл JSON, включая транскрипт, события, переменные, аналитику и конфигурацию сценария, действовавшую на момент звонка. Файл может содержать персональные данные — обращайтесь с ним соответственно.