Voice AI API
Voice AI расшифровывает звонки из amoCRM и анализирует их по вашим сценариям. Через API можно:
- получать звонки аккаунта, их расшифровки и результаты анализа;
- запускать расшифровку звонка и отслеживать её готовность;
- управлять сценариями анализа и настройками расшифровки;
- получать уведомления о готовых расшифровках и сценариях — вебхуками или по WebSocket;
- строить отчёты: сводка по звонкам, сотрудники, загрузка по часам, темы и итоги разговоров.
Адрес и версии
Все методы вызываются по адресу {base_url} и принимают и возвращают JSON в UTF-8.
| Версия | Префикс | Что в ней |
|---|---|---|
| v1 | {base_url}/api/v1 | Расшифровка, результаты сценариев, сценарии, настройки, вебхуки |
| v2 | {base_url}/api/v2 | Постраничный список звонков, карточка звонка, аналитика |
Версии работают одновременно. Новые возможности появляются в v2.
Запросы из браузера разрешены с любого источника (CORS). Для запросов с телом передавайте заголовок Content-Type: application/json.
Аккаунт
Данные принадлежат аккаунту amoCRM, в котором установлен виджет Voice AI. Аккаунт определяется числовым идентификатором amocrmId — это ID аккаунта amoCRM. В зависимости от метода он передаётся в пути, в параметрах запроса или в теле.
Формат ответа
Успешный ответ
{ "ok": true, "data": { } }
Ответ с ошибкой
{ "ok": false, "message": "Invalid query - amocrmId is required" }
Постраничные списки возвращают поля страницы (page, pageSize, total, totalPages) на одном уровне с data.
Коды ответов
| Код | Когда |
|---|---|
200 | Запрос выполнен |
201 | Объект создан |
204 | Ответ на предварительный запрос OPTIONS |
400 | Неверный параметр, поле тела или значение; причина — в message |
404 | Объект не найден |
409 | Конфликт: значение уже занято или превышен лимит |
500 | Внутренняя ошибка. Этим же кодом v1 отвечает, когда запрошенного объекта нет: расшифровки, результата сценария, сценария |
502 | Результат получен, но записать его в amoCRM не удалось |
Соглашения
- Идентификаторы звонков, расшифровок, сценариев, результатов и вебхуков — строки из цифр (
"245581").amocrmIdи идентификаторы сущностей amoCRM — числа. - Даты — ISO 8601 в UTC:
2026-10-19T11:03:00.000Z. - Имена полей. Объекты v1 (звонок, расшифровка, результат, сценарий) используют
snake_case; вебхуки и все объекты v2 —camelCase. - Списки в параметрах запроса передаются повтором ключа или через запятую, формы можно смешивать:
type=call_in&type=call_out,responsibleId=101,102. Пробелы обрезаются, повторы игнорируются. Одно неверное значение отклоняет весь запрос. - Направление звонка:
call_in— входящий,call_out— исходящий. - Сущность amoCRM, к которой относится звонок:
lead(код1),contact(код2),company(код3).