Расшифровка
Звонки расшифровываются автоматически по настройкам расшифровки. Любой звонок с записью можно расшифровать и по запросу.
Запустить расшифровку
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"
}
}
| Поле | Тип | Описание |
|---|---|---|
text | string | Весь текст разговора |
talk | object[] | Реплики по порядку |
talk[].start, talk[].end | number | Начало и конец реплики в секундах от начала записи |
talk[].speaker | string | Говорящий: A / B, либо manager / client, если в настройках указан канал менеджера |
Ошибка 500 — у звонка ещё нет расшифровки.