{{ getCurrentTabLabel() }}

Загрузить аудиофайл

Рукописная оценка: что удалось достичь в этом звонке. Позже можно сравнить с оценкой ИИ.
Звонок будет привязан к выбранному менеджеру.

Перетащите файл сюда или нажмите для выбора

MP3, WAV, M4A, FLAC, OGG, MP4, MOV, AVI, MKV
{{ uploadForm.file.name }}

Загрузить по URL

Поиск звонка

Расширенный поиск

Загрузка списка звонков...

Мои звонки ({{ searchResults.length }})

{{ getStatusLabel(call.status) }}

{{ call.company || call.call_metadata?.company || 'Без названия' }}

{{ formatDate(call.timestamp) }} {{ call.contact || call.call_metadata?.contact }} {{ call.phone || call.call_metadata?.phone }} {{ call.manager_name }}

Нет звонков по выбранным фильтрам. Нажмите «Показать все звонки» или измените условия поиска.

Детали звонка

Информация о звонке

Call ID: {{ callDetails.call_id }}
Статус: {{ getStatusLabel(callDetails.status) }}
Дата: {{ formatDate(callDetails.timestamp) }}
Компания: {{ callDetails.call_metadata.company }}
Имя контакта: {{ callDetails.call_metadata.contact }}
Номер телефона / способ связи: {{ callDetails.call_metadata.phone }}

Транскрипция

{{ formatTranscript(callDetails.transcript.text) }}

Резюме

{{ callDetails.transcript.summary }}

Резюме пока не создано.

Аналитика

Соответствие скрипту: {{ callDetails.analytics.score }}%
Причины оценки по скрипту:
  • {{ reason }}
📋 Соответствие регламенту {{ callDetails.analytics.analysis_json.regulation_score }}%
  • {{ reason }}
Достижение результата (ваша оценка):
{{ callDetails.call_success_user }}
Успех звонка (оценка ИИ): {{ getCallSuccessLabel(callSuccessValue) }}
Объяснение:
{{ callSuccessReason }}
Покрытие скрипта:
Блоков озвучено: {{ callDetails.analytics.analysis_json.script_coverage_percent }}%
Порядок блоков: {{ callDetails.analytics.analysis_json.blocks_order_correct ? '✅ Соблюдён' : '❌ Нарушен' }}
Пропущенные блоки: {{ callDetails.analytics.analysis_json.missed_mandatory_blocks.join(', ') }}
Ключевые фразы:
{{ phrase }}
Рекомендации:
{{ callDetails.analytics.recommendations }}
Инсайты:
{{ callDetails.analytics.insights }}

Скрипты

{{ editingScript ? 'Редактировать скрипт' : 'Создать скрипт' }}

Введите JSON структуру скрипта

Загрузка скриптов...

Скрипты не найдены

{{ getScriptTitle(script) }}

{{ tag }}

{{ getScriptDescription(script) }}

Создан: {{ formatDate(script.created_at) }}

Регламенты

Обязательные критерии для оценки звонков (соответствие регламенту). При анализе используется первый активный регламент.

Новый регламент

Каждая строка — один обязательный пункт для проверки в звонке.

Загрузка регламентов...

Регламенты не добавлены

Создайте регламент с обязательными критериями — они будут учитываться при анализе звонков.

{{ r.name }}

{{ r.description }}

Критерии ({{ (r.criteria || []).length }}):
  • {{ c }}
  • ▼ показать ещё {{ (r.criteria || []).length - 5 }} ▲ свернуть
Создан: {{ formatDate(r.created_at) }}

Фильтры аналитики

Загрузка аналитики...

Общая аналитика по звонкам

{{ analyticsOverview.total_calls || 0 }}
Количество звонков
{{ analyticsOverview.average_duration_formatted || '0м 0с' }}
Средняя длительность
{{ (analyticsOverview.success_rate ?? 0).toFixed(1) }}%
Доля успешных (по статусу)
{{ (analyticsOverview.failure_rate ?? 0).toFixed(1) }}%
Доля неуспешных
{{ (analyticsOverview.violations_rate ?? 0).toFixed(1) }}%
Доля звонков с нарушениями регламента
{{ (analyticsOverview.full_compliance_rate ?? 0).toFixed(1) }}%
Скрипт соблюдён полностью (100%)
{{ (analyticsOverview.high_compliance_rate ?? 0).toFixed(1) }}%
Скрипт соблюдён ≥90% по смыслу

Звонков с аналитикой: {{ analyticsOverview.calls_with_analytics }} из {{ analyticsOverview.total_calls || 0 }}

Аналитика по менеджерам

Данные отсутствуют

#{{ index + 1 }}
{{ manager.manager_name || 'Неизвестно' }}
Звонков: {{ manager.total_calls }}
{{ (manager.average_score || 0).toFixed(1) }}%
% соблюдения скрипта: {{ (manager.compliance_rate ?? 0).toFixed(1) }}%
Средняя длительность: {{ manager.average_duration_formatted || '—' }}
Критичные ошибки: {{ manager.critical_errors_count ?? 0 }} ({{ (manager.critical_errors_rate ?? 0).toFixed(1) }}%)
Рейтинг: {{ (manager.rating ?? 0).toFixed(1) }}

Аналитика по скрипту

{{ scriptAnalytics.total_calls || 0 }}
Звонков по скрипту
{{ (scriptAnalytics.avg_score || 0).toFixed(1) }}%
Средняя оценка
{{ (scriptAnalytics.overall_coverage_percentage ?? 0).toFixed(1) }}%
Покрытие скрипта (блоки озвучены)

Покрытие по блокам

  • {{ translateBlockName(blockName) }} {{ (data.percentage ?? 0).toFixed(0) }}% ({{ data.covered }}/{{ data.total }})

Порядок блоков

По скрипту: {{ scriptAnalytics.order_compliance.followed }} звонков ({{ (scriptAnalytics.order_compliance.followed_percentage ?? 0).toFixed(1) }}%), перепрыгивал: {{ scriptAnalytics.order_compliance.skipped || 0 }}

Пропущенные обязательные блоки

  • {{ translateMissingBlock(item.block) }} — {{ item.frequency }} раз ({{ (item.percentage ?? 0).toFixed(1) }}%)

Пропущенные обязательные блоки

Нет пропусков

Частота использования ключевых формулировок

  • «{{ phrase }}» {{ (data.usage_percentage ?? 0).toFixed(1) }}% (в {{ data.frequency_in_calls }} звонках)