Speech Analytics API

Обзор

API для загрузки аудиозаписей звонков и автоматического запуска их транскрибации и анализа с помощью ИИ.

После загрузки файл автоматически:

  1. ✅ Загружается в облачное хранилище

  2. ✅ Отправляется на транскрибацию

  3. ✅ Анализируется с помощью LLM

  4. ✅ Классифицируется по намерениям и сущностям


Endpoint

POST /api/v1/speech-analytics/calls/upload/

Аутентификация

Требуется токен авторизации в заголовке:

Authorization: Bearer <your_token>

Параметры запроса

Content-Type

Обязательные поля

Параметр
Тип
Описание

audio_file

File

Аудиофайл звонка

project

Integer

ID проекта (для определения схемы метаданных)

metadata

JSON

Метаданные звонка в формате JSON


Форматы аудио

Поддерживаемые форматы:

  • ✅ MP3

  • ✅ WAV

  • ✅ OGG

  • ✅ OPUS

  • ✅ M4A

  • ✅ FLAC

Ограничения:

  • Максимальный размер файла: 20 МБ

  • Рекомендуемое качество: 16 kHz, 16-bit

  • Для стерео: канал 0 = менеджер, канал 1 = клиент


Структура метаданных

chevron-rightБазовая структураhashtag

Обязательные поля

  • interaction_id (string) - Уникальный идентификатор звонка

  • channel (string) - Канал коммуникации: "voice", "chat", "email" и т.д.

  • timestamp (string ISO 8601) - Время звонка

chevron-rightПоля для голосовых звонковhashtag

Если channel = "voice", обязательно добавьте секцию voice:

chevron-rightУчастники звонкаhashtag

Примеры запросов

chevron-rightcURL - Mono записьhashtag
chevron-rightcURL - Stereo записьhashtag
chevron-rightPython (requests)hashtag
chevron-rightJavaScript (fetch)hashtag

Ответ сервера

chevron-rightУспешная загрузка (200 OK)hashtag

Поля ответа

Поле
Тип
Описание

id

Integer

ID созданного звонка

audio_file_uuid

UUID

Уникальный идентификатор файла

audio_file_name

String

Имя загруженного файла

status

String

Статус обработки (см. ниже)

metadata

Object

Сохраненные метаданные

created_at

DateTime

Время создания записи

message

String

Информационное сообщение


Статусы обработки

После загрузки звонок проходит через следующие статусы:

Статус
Описание
Время

uploaded

✅ Файл загружен в S3

1-5 сек

transcribing

🔄 Идет транскрибация аудио

1-10 мин

transcribed

✅ Транскрибация завершена

-

analyzing

🔄 Идет анализ с помощью LLM

10-60 сек

completed

✅ Обработка завершена полностью

-

failed

❌ Ошибка обработки

-

Опрос статуса:


Ошибки

chevron-right400 Bad Request - Неверный формат файлаhashtag
chevron-right400 Bad Request - Файл слишком большойhashtag
chevron-right400 Bad Request - Неверные метаданныеhashtag
chevron-right400 Bad Request - Валидация по схемеhashtag
chevron-right400 Bad Request - Нет активной схемыhashtag
chevron-right403 Forbidden - Нет правhashtag
chevron-right404 Not Found - Проект не найденhashtag

Лучшие практики

chevron-right1. Качество аудиоhashtag
  • ✅ Используйте минимум 8 kHz sampling rate (рекомендуется 16 kHz)

  • ✅ 16-bit PCM для лучшего качества транскрибации

  • ✅ Избегайте высокого сжатия MP3 (используйте bitrate ≥ 128 kbps)

chevron-right2. Стерео vs Monohashtag
  • Стерео (2 канала): более точное разделение спикеров

    • Канал 0 = менеджер, Канал 1 = клиент

    • Обязательно укажите stereo_mapping

  • Mono (1 канал): разделение по алгоритму speaker diarization

    • Менее точное, но работает без специальной настройки

chevron-right3. Метаданныеhashtag
  • ✅ Заполняйте interaction_id уникальным значением для каждого звонка

  • ✅ Указывайте имена участников для лучшей читаемости отчетов

  • ✅ Добавляйте данные для связывания с CRM

  • ✅ Используйте ISO 8601 формат для timestamp

chevron-right4. Обработка ошибокhashtag
  • ✅ Проверяйте размер файла до загрузки (≤ 20 МБ)

  • ✅ Валидируйте формат файла на клиенте

  • ✅ Обрабатывайте таймауты (загрузка может занять 10-30 сек)

  • ✅ Сохраняйте id звонка для последующего опроса статуса

chevron-right5. Производительностьhashtag
  • 🚀 Используйте асинхронную загрузку когда грузите много файлов

  • 🚀 Сжимайте аудио перед загрузкой (MP3 128 kbps оптимально)

  • 🚀 Не ждите завершения обработки - используйте webhooks или polling


Получение результатов

Опрос статуса

chevron-rightОтвет со всеми даннымиhashtag

Последнее обновление