Расшифровка

Звонки расшифровываются автоматически по настройкам расшифровки. Любой звонок с записью можно расшифровать и по запросу.

Запустить расшифровку

POST /api/v1/calls/transcribe/{callId}

Ставит звонок в очередь на расшифровку и сразу возвращает trackId для отслеживания. Тела у запроса нет. Ограничения по длительности и ответственным из настроек на запуск по запросу не действуют.

После расшифровки по запросу выполняются все сценарии аккаунта, независимо от их флагов active и autoBoot.

Ответ 200

{ "ok": true, "data": { "trackId": "dHJhbnNjcmliZS1jYWxsLTI0NTU4MS0xNzYwODcx" } }

Статус расшифровки

GET /api/v1/calls/transcription/status/{trackId}

Параметры пути

ПараметрТипОписание
trackId обязательныйstringЗначение из ответа на запуск расшифровки

Ответ 200

{ "ok": true, "data": { "isReady": false } }

isReady становится true, когда расшифровка завершена. Опрашивайте метод с интервалом в несколько секунд либо подпишитесь на событие audio-transcribed. Ошибка 400 — trackId неизвестен или устарел.

Получить расшифровку

GET /api/v1/calls/{callId}/transcription

Ответ 200

{
    "ok": true,
    "data": {
        "id": "4210",
        "call_id": "245581",
        "text": "Добрый день, компания «Пример». Здравствуйте, хочу уточнить сроки доставки.",
        "talk": [
            { "id": 0, "start": 0.4, "end": 3.1, "speaker": "manager", "text": "Добрый день, компания «Пример»." },
            { "id": 1, "start": 3.6, "end": 7.9, "speaker": "client", "text": "Здравствуйте, хочу уточнить сроки доставки." }
        ],
        "created_at": "2026-10-19T11:05:12.000Z",
        "updated_at": "2026-10-19T11:05:12.000Z"
    }
}
ПолеТипОписание
textstringВесь текст разговора
talkobject[]Реплики по порядку
talk[].start, talk[].endnumberНачало и конец реплики в секундах от начала записи
talk[].speakerstringГоворящий: A / B, либо manager / client, если в настройках указан канал менеджера

Ошибка 500 — у звонка ещё нет расшифровки.