{{ error }}
{{ success }}
Дашборд
{{ stats.total_today }}
Звонков сегодня
{{ stats.inbound_today }}
Входящих
{{ stats.outbound_today }}
Исходящих
{{ fmtDuration(stats.avg_duration) }}
Средняя длительность
{{ stats.resolved_today }}
Успешные
{{ stats.errors_today }}
Ошибки
Последние звонки
Пока нет звонков
| ID | Телефон | Напр. | Статус | Итог | Время |
|---|---|---|---|---|---|
| #{{ c.id }} | {{ c.phone || '—' }} | {{ dirLabel(c.direction) }} | {{ statusLabel(c.status) }} | {{ outcomeLabel(c.outcome) }}— | {{ fmtDateFull(c.created_at) }} |
AI Агенты
Агентов пока нет
{{ a.name }}
{{ a.is_active ? 'активен' : 'выключен' }}
{{ a.description || 'Без описания' }}
Язык
{{ a.language }}
Провайдер
{{ a.voice_provider }}
Голос
{{ a.voice_id || '—' }}
Модель
{{ a.model }}
{{ testResult.msg }}
Звонки
Звонков не найдено
| ID | Дата | Телефон | Напр. | Статус | Сделка | Длит. | Итог | Кратко |
|---|---|---|---|---|---|---|---|---|
| #{{ c.id }} | {{ fmtDateFull(c.created_at) }} | {{ c.phone || '—' }} | {{ dirLabel(c.direction) }} | {{ statusLabel(c.status) }} | {{ c.keepin_agreement_id || '—' }} | {{ fmtDuration(c.duration_seconds) }} | {{ outcomeLabel(c.outcome) }}— |
Звонок #{{ currentCall.id }}
{{ dirLabel(currentCall.direction) }}
{{ statusLabel(currentCall.status) }}
Телефон
{{ currentCall.phone || '—' }}
Агент
{{ currentCall.agent_name || '—' }}
Провайдер
{{ currentCall.provider || '—' }}
Начат
{{ fmtDateFull(currentCall.started_at) }}
Завершён
{{ fmtDateFull(currentCall.ended_at) }}
Длительность
{{ fmtDuration(currentCall.duration_seconds) }}
Итог
{{ outcomeLabel(currentCall.outcome) }}—
Тональность
{{ currentCall.sentiment || '—' }}
KeepinCRM
Сделка
{{ currentCall.keepin_agreement_id || '—' }}
Клиент
{{ currentCall.keepin_client_id || '—' }}
Синхр.
{{ currentCall.keepin_synced_at ? fmtDateFull(currentCall.keepin_synced_at) : 'нет' }}
Резюме
{{ currentCall.summary }}
Классификация
Итог
{{ currentCall.outcome_label || '—' }}
Причина
{{ currentCall.call_reason_label || '—' }}
ТТН
{{ currentCall.ttn_number || (currentCall.ttn_created ? 'создана' : '—') }}
Качество и изменения
Оценка AI
{{ currentCall.quality_score }}/100
Риски
{{ qualityFlags(currentCall.quality_flags_json) || 'нет' }}
Изменения заказа AI:
{{ changeType(ch.change_type) }} · {{ ch.confirmed_by_customer ? 'подтверждено клиентом' : 'без подтверждения' }} · {{ fmtDateFull(ch.created_at) }}
Оценка менеджера
Диалог
Транскрипт
Действия ({{ callTools.length }})
Нет сообщений
{{ roleLabel(m.role) }} · {{ m.tool_name }}
{{ m.content || (m.tool_name ? ('→ ' + m.tool_name) : '') }}
{{ transcriptText }}
Транскрипт пуст
Действий не было
| Tool | OK | Время |
|---|---|---|
| {{ t.tool_name }} | {{ t.success ? 'ok' : 'err' }} | {{ fmtDateFull(t.created_at) }} |
Поиск в KeepinCRM
Сделки
Клиенты
Ничего не найдено
| ID | Название | Клиент | Телефон | Статус | |
|---|---|---|---|---|---|
| {{ ag.id }} | {{ ag.title || ag.name || '—' }} | {{ contactOf(ag).name || '—' }} | {{ contactOf(ag).phone || '—' }} | {{ ag.status || ag.state || '—' }} |
Ничего не найдено
| ID | Имя | Телефон | ||
|---|---|---|---|---|
| {{ cl.id }} | {{ cl.person || cl.name || '—' }} | {{ clientPhone(cl) }} | {{ clientEmail(cl) }} |
Настройки
Статус интеграций
KeepinCRM
{{ integrations.keepin ? 'настроено' : 'не настроено' }}
OpenAI Realtime
{{ integrations.openai ? 'настроено' : 'не настроено' }}
Телефония
{{ integrations.voice ? (integrations.voice.provider + (integrations.voice.configured ? ' · ok' : ' · нет')) : '—' }}
API-ключи задаются в .env на сервере и не отображаются здесь из соображений безопасности.
Общие настройки
Логи действий (tool calls)
Логов нет
| ID | Звонок | Tool | Аргументы | OK | Ошибка | Время |
|---|---|---|---|---|---|---|
| #{{ l.id }} | {{ l.call_id ? ('#'+l.call_id) : '—' }} | {{ l.tool_name }} | {{ l.success ? 'ok':'err' }} | {{ l.error || '' }} | {{ fmtDateFull(l.created_at) }} |
Live-звонки
Сейчас активных звонков нет
📞 {{ c.phone || '—' }}
{{ statusLabel(c.status) }}
#{{ c.id }}
Агент
{{ c.agent_name || '—' }}
Сделка
{{ c.keepin_agreement_id || '—' }}
Направление
{{ dirLabel(c.direction) }}
Последние реплики:
{{ roleLabel(m.role) }}
{{ m.content }}
Изменения заказа: {{ liveSnapshot.changes.length }}
Кампании обзвона
Кампаний пока нет
| ID | Название | Тип | Агент | Статус | Номера | |
|---|---|---|---|---|---|---|
| #{{ c.id }} | {{ c.name }} | {{ campaignType(c.type) }} | {{ c.agent_name || '—' }} | {{ campaignStatus(c.status) }} | {{ c.done_numbers }}/{{ c.total_numbers }} |
{{ currentCampaign.name }}
{{ campaignStatus(currentCampaign.status) }}
Тип
{{ campaignType(currentCampaign.type) }}
Агент
{{ currentCampaign.agent_name || '—' }}
{{ n }}
{{ campaignCallStatus(s) }}
| Телефон | Сделка | Статус | Попытки | След. попытка | Итог |
|---|---|---|---|---|---|
| {{ n.phone }} | {{ n.agreement_id || '—' }} | {{ campaignCallStatus(n.status) }} | {{ n.attempts }} | {{ n.next_attempt_at ? fmtDateFull(n.next_attempt_at) : '—' }} | {{ n.last_outcome_code ? outcomeLabel(n.last_outcome_code) : '—' }} |
База товаров
{{ productStats.total || 0 }}
Всего товаров
{{ productStats.in_stock || 0 }}
В наличии
{{ productStats.with_photo || 0 }}
С фото
Последний импорт: {{ fmtDateFull(productStats.last_import) }}
Товаров не найдено. Импортируйте XML.
| SKU | Название | Категория | Цена | Наличие |
|---|---|---|---|---|
| {{ p.sku }} | {{ p.name }} | {{ p.category || '—' }} | {{ p.price ? (p.price + ' ' + (p.currency||'UAH')) : '—' }} | {{ stockLabel(p.stock_status) }} |
Лог импортов
Импортов ещё не было
| Дата | Файл | Всего | Создано | Обновлено | Ошибки |
|---|---|---|---|---|---|
| {{ fmtDateFull(l.created_at) }} | {{ l.filename || '—' }} | {{ l.total }} | {{ l.created_count }} | {{ l.updated_count }} | {{ l.errors }} |
Правила допродаж
Например: к power bank → кабель; к микроскопу → набор препаратов. AI предлагает по этим правилам.
Правил пока нет
| Базовый SKU | → Допродажа SKU | Приоритет | Комментарий | Активно | |
|---|---|---|---|---|---|
| {{ r.base_sku }} {{ r.base_name }} |
{{ r.upsell_sku }} {{ r.upsell_name }} |
{{ r.priority }} | {{ r.comment || '—' }} | {{ r.active?'да':'нет' }} |
Качество звонков
Нет оценённых звонков
| ID | Телефон | Итог | Оценка AI | Риски | Ревью | Дата |
|---|---|---|---|---|---|---|
| #{{ c.id }} | {{ c.phone || '—' }} | {{ c.outcome_label || outcomeLabel(c.outcome_code) }}— | {{ c.quality_score!=null ? c.quality_score+'/100' : '—' }} | {{ qualityFlags(c.quality_flags_json) }} | {{ c.manager_review_status }}— | {{ fmtDateFull(c.created_at) }} |