уведомление API

Webhook-уведомление о готовой расшифровке

Сервер ждёт события о готовом результате вместо опроса статуса: webhook приходит на «готово», «ошибку» и экспорт, с повтором доставки и подписью.

Командный процесс

Командные пространства разделяют клиентов, отделы и проекты по уровням доступа.

API и уведомление

Разделение спикеров и таймкоды помогают быстро найти обещания, вопросы и решения.

Права доступа

Редактор фиксирует вычитанную версию текста перед передачей в CRM, базу знаний или отчёт.

Отчётность

API, уведомление и экспорт DOCX, TXT, SRT, VTT или JSON закрывают ручные и автоматические потоки.

Кому подходит

Команды

Встречи, задачи и решения в тексте.

Исследователи

Интервью, цитаты и заметки рядом с аудио.

Авторы

Подкасты, видео, субтитры и черновики.

Обучение

Лекции, вебинары и конспекты.

Подробно о задаче

Опрашивать статус вручную — тупиковый путь

Пока расшифровок мало, готовность задачи можно проверять запросом раз в минуту. Но стоит потоку вырасти, и постоянный опрос превращается в тысячи лишних вызовов: часть задач короткие и готовы сразу, часть — двухчасовые видео, и ваш планировщик либо долбит сервис вхолостую, либо узнаёт о результате с опозданием. Webhook переворачивает логику: не вы спрашиваете «готово?», а сервис сам присылает событие, когда расшифровка завершена или упала с ошибкой. Ваш сервер просто ждёт входящий запрос с идентификатором задачи и статусом, забирает результат и двигает процесс дальше — без циклов опроса, без гонок и без задержек, которые копятся на длинных файлах.

Как устроена доставка событий

Вы регистрируете URL приёмника, и на него приходят события вроде transcript.completed при успешной обработке или transcript.failed при сбое. В теле — идентификатор задачи и её статус; по нему вы обращаетесь за результатом и разбираете JSON со спикерами и таймкодами. Ключевое правило: сначала сохраните полезную нагрузку, и только потом верните 2xx — если ответить успехом до записи и упасть, событие потеряется. Обработчик делайте идемпотентным: одно и то же событие может прийти дважды, повтор не должен создавать дубль расшифровки или запускать экспорт заново. Подпись каждого запроса проверяйте до обработки — так вы отсекаете чужие вызовы на ваш публичный URL.

Частые ошибки приёмника

Первая — отвечать 2xx мгновенно, до сохранения: сервис считает событие доставленным и не повторит его, а у вас данные не записались. Вторая — игнорировать повторы: при сетевых сбоях доставка идёт с ретраями, и без идемпотентности вы получите дубли. Третья — писать в лог тело события с текстом: содержимое расшифровки приватно, в логи должны попадать статус, идентификатор и факт доставки, но не реплики. Четвёртая — не проверять подпись: открытый эндпойнт без верификации примет любой поддельный запрос. И держите отдельную очередь ошибок с мониторингом: если приёмник временно лежал, вы должны увидеть застрявшие события и переобработать их, а не потерять молча.

Частые вопросы

Как настроить webhook для выдачи расшифровок?

Зарегистрируйте URL приёмника и подпишитесь на события готовности и ошибки. Когда обработка завершится, сервис пришлёт запрос с идентификатором задачи — по нему заберите JSON с текстом и таймкодами. Проверьте подпись, сохраните данные и только потом верните 2xx. Обработчик сделайте идемпотентным, чтобы повтор не создал дубль.

Можно ли проверить доставку событий бесплатно?

Оценить сам сервис и качество распознавания можно бесплатно без карты, прогнав тестовую запись. Программный доступ с webhook открывается на платных тарифах, поэтому для отладки приёмника берите короткие файлы: они обрабатываются быстро, и вы за несколько минут увидите цепочку событий готовности без лишнего расхода минут.

Что приходит в событии, а что нужно забирать отдельно?

В самом событии — компактная информация: тип, идентификатор задачи и статус. Текст расшифровки в webhook не вкладывается — по идентификатору вы обращаетесь за результатом и получаете JSON со спикерами и таймкодами. Такой разделённый подход держит доставку лёгкой и не тащит приватное содержимое через каждый повтор.

Как избежать дублей при повторной доставке?

Сделайте обработчик идемпотентным: сохраняйте идентификатор уже обработанного события и при повторе просто отвечайте 2xx, ничего не делая заново. При сетевых сбоях доставка идёт с ретраями, и это нормально — важно, чтобы вторая доставка того же события не породила дубль расшифровки и не запустила повторный экспорт.

Как обезопасить публичный эндпойнт?

Проверяйте подпись каждого входящего запроса до того, как что-либо с ним делать, — так отсекаются подделки на ваш открытый URL. Отвечайте 2xx только после сохранения данных, иначе событие будет считаться доставленным и потеряется. И не пишите тело с текстом в логи: содержимое расшифровки приватно, в журнал идут статус и идентификатор.

Что делать, если приёмник временно лежал?

Держите отдельную очередь ошибок и мониторинг застрявших событий. Сервис повторяет доставку по 5xx, но если приёмник был недоступен дольше окна ретраев, вы должны увидеть незакрытые задачи и переобработать их вручную по идентификатору. Молча терять события нельзя — именно очередь ошибок страхует от пропущенных расшифровок.

Vibe2Text

Одна загрузка. Готовый текст на выходе.

Загрузите аудио или видео, пока на запуске сервис открыт бесплатно.

Загрузить файл сейчас