#Транскрибация телефонных звонков
Клиника отправляет запись телефонного разговора и получает стенограмму. Звонок принимает регистратура или колл-центр. Пациент или родственник записывается на приём, переносит визит, уточняет подготовку или спрашивает про очередь. Вы кладёте текст в карточку звонка в вашей МИС.
В разговоре два человека. Реплики в стенограмме идут по очереди.
Запрос не создаёт приём и не заполняет протокол. Разговор врача с пациентом в кабинете этот метод не принимает.
Пока транскрибация звонков для клиники выключена, запросы из этой статьи отвечают 403 phone_call_transcription_disabled. Чтобы включить транскрибацию, напишите нам.
#Отправить запись
POST /api/v1/integrations/{platform}/transcriptions/phone-calls
Authorization: Bearer <API-ключ клиники>
Content-Type: multipart/form-data
file=<аудио>
phone_call_id=<необязательно>
file обязателен. Форматы mp3 и wav. Размер не больше 150 МБ. Длительность не больше 30 минут. smartica.ai удаляет файл через 24 часа.
phone_call_id задаёте вы. Длина до 255 символов. Один и тот же phone_call_id не запускает распознавание второй раз, пока прошлая попытка не завершилась ошибкой. Без phone_call_id каждый запрос создаёт новую стенограмму.
Ответ 202:
{
"id": "uuid",
"phone_call_id": "call-42",
"status": "processing"
}
Пока статус processing, completed или no_speech, повтор того же phone_call_id отвечает 200. В ответе те же три поля и текущий статус. Новый файл smartica.ai не принимает.
Если статус failed, повтор с тем же phone_call_id отвечает 202. smartica.ai принимает новый файл.
Файл может получить одну из трёх ошибок.
- Файл длиннее 30 минут. Ответ
422audio_too_long. - Файл не читается как аудио. Ответ
422audio_unreadable. - Поля запроса неверны. Ответ
422validation_failed.
#Забрать стенограмму
GET /api/v1/integrations/{platform}/transcriptions/phone-calls/{id}
Пока smartica.ai хранит текст, в ответе есть transcript и delivery.
status |
Что это |
|---|---|
processing |
Запись ещё распознаётся. Текста в ответе нет |
completed |
Стенограмма готова |
no_speech |
Речи в записи нет. transcript равен пустой строке |
failed |
Распознать не удалось. Пришлите файл ещё раз с тем же phone_call_id |
delivery |
Что это |
|---|---|
pending |
Отправка в вашу МИС ещё не подтверждена |
failed |
Отправка не удалась. Текст всё ещё в ответе GET |
not_configured |
Адрес для отправки не задан. Заберите текст через GET |
id другой клиники и неизвестный id возвращают 404 phone_call_transcription_not_found.
#Подтвердить получение
POST /api/v1/integrations/{platform}/transcriptions/phone-calls/{id}/ack
Первый ответ 200 записывает, что клиника получила текст. Повторный ack тоже отвечает 200 и ничего не меняет. GET после ack по-прежнему отдаёт стенограмму.
Повторная загрузка того же phone_call_id не запускает новое распознавание, пока smartica.ai хранит этот звонок. Нужен новый phone_call_id.
smartica.ai хранит звонок 30 дней. Затем id и phone_call_id пропадают. Тот же phone_call_id можно отправить снова. До удаления строки GET отдаёт стенограмму.
#Отправка в вашу МИС
Адрес для стенограммы необязателен. Если адрес задан, smartica.ai отправляет POST на этот путь, когда стенограмма готова. Тело:
{
"id": "uuid",
"phone_call_id": "call-42",
"status": "completed",
"transcript": "Оператор: …\nКлиент: …"
}
Если в начале разговора слышны оба голоса, подписи в transcript будут Оператор и Клиент. Иначе остаются speaker_0 и speaker_1.
Имена, телефоны, адреса и номера документов в transcript заменены метками. Паспорт, полис, СНИЛС и ИНН в тексте не остаются.
Тело запроса это обычный JSON по HTTPS. Отдельного шифрования стенограммы нет.
Если для запросов smartica.ai к вашей МИС выбрана HMAC-подпись, этот POST подписывается так же. Заголовки Smartica-Timestamp и Smartica-Signature. Строка подписи timestamp.METHOD.path.body. Проверка подписи описана в статье Авторизация и ошибки. При Bearer или HTTP Basic этих заголовков нет.
Ответ 2xx значит, что МИС приняла текст. GET после этого по-прежнему отдаёт стенограмму.
Если отправка вернула ошибку, текст остаётся. GET отдаёт стенограмму, а delivery равен failed. Заберите стенограмму и отправьте ack.
Один и тот же id может прийти снова, если соединение оборвалось после вашего 2xx. Сверяйте id.