[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-calls":3,"docs-tabs-calls":6},{"content":4,"lastmod":5},"# Звонки\n\nПрограммный доступ к AI Follow-up завершённых звонков Битрикс24: транскрипция разговора, обзор встречи, договорённости, задачи и оценка эффективности.\n\n**Скоуп:** `call` | **Базовый URL:** `https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1` | **Авторизация:** `X-Api-Key`\n\n## Что такое Follow-up\n\nFollow-up — это AI-разбор внутреннего звонка или совещания сотрудников: расшифровка разговора, тема встречи, договорённости, поставленные задачи, разбор участников и оценка эффективности. Битрикс24 формирует его сам после завершения звонка, методы раздела только читают готовый результат и ничего не создают.\n\nFollow-up формируется не по каждому звонку. Готовые блоки перечислены в поле `outcomes` ответа, несформированные приходят как `null`.\n\n**Это не расшифровка звонка клиенту.** Разговор с клиентом, залогированный делом CRM, расшифровывается отдельным механизмом — его текст возвращает [`GET \u002Fv1\u002Factivities\u002F:activityId\u002Ftranscript`](\u002Fdocs\u002Fentities\u002Factivities\u002Ftranscript). Если задача звучит как «получить текст разговора с клиентом по сделке или лиду» — вам туда, а не в этот раздел.\n\n## Быстрый старт\n\nСписок звонков с готовым Follow-up за январь:\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcalls\u002Ffollowups\u002Flist \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"startDate\": { \"from\": \"2026-01-01T00:00:00Z\", \"to\": \"2026-01-31T23:59:59Z\" } },\n    \"pagination\": { \"limit\": 5 }\n  }'\n```\n\nОтвет содержит массив звонков в `data.items` и курсор следующей страницы в `data.afterCursor`:\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"items\": [\n      {\n        \"callId\": 12345,\n        \"callType\": 1,\n        \"initiatorId\": 7,\n        \"startDate\": \"2026-01-15T10:00:00+00:00\",\n        \"endDate\": \"2026-01-15T10:42:00+00:00\",\n        \"durationSeconds\": 2520\n      }\n    ],\n    \"hasMore\": false,\n    \"afterCursor\": null\n  }\n}\n```\n\n## Полный пример\n\nРазбор итогов встречи: находим звонок за период, читаем обзор и договорённости, забираем задачи.\n\n```bash\nBASE='https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1'\n\n# 1. Звонки с Follow-up за период → берём идентификатор первого\nCALL_ID=$(curl -s -X POST \"$BASE\u002Fcalls\u002Ffollowups\u002Flist\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"filter\": {\"startDate\": {\"from\": \"2026-01-01T00:00:00Z\", \"to\": \"2026-01-31T23:59:59Z\"}},\n       \"order\": {\"startDate\": \"desc\"}, \"pagination\": {\"limit\": 1}}' | jq -r '.data.items[0].callId')\n\n# 2. Обзор встречи и договорённости\ncurl -s \"$BASE\u002Fcalls\u002Ffollowups\u002F$CALL_ID?select=overview&mentionFormat=none\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" | jq '.data.item.overview.topic, .data.item.overview.agreements'\n\n# 3. Задачи, поставленные на встрече\ncurl -s \"$BASE\u002Fcalls\u002Ffollowups\u002F$CALL_ID?select=overview.actionItems&mentionFormat=none\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" | jq '.data.item.overview.actionItems'\n```\n\n`mentionFormat=none` убирает разметку `@`-упоминаний: текст приходит без служебных тегов и готов к передаче в нейросеть или к сохранению в задачу.\n\n## Справочник эндпоинтов\n\n| Метод | Путь | Bitrix24 метод | Описание |\n|-------|------|---------------|----------|\n| POST | [`\u002Fv1\u002Fcalls\u002Ffollowups\u002Flist`](\u002Fdocs\u002Fcalls\u002Ffollowup\u002Flist) | call.followup.list | Список Follow-up за период с фильтром, сортировкой и курсорной навигацией |\n| GET | [`\u002Fv1\u002Fcalls\u002Ffollowups\u002F:callId`](\u002Fdocs\u002Fcalls\u002Ffollowup\u002Fget) | call.followup.get | Полные данные Follow-up по одному звонку |\n\n## Коды ошибок\n\n### Ошибки раздела\n\n| HTTP | Код | Когда |\n|------|-----|-------|\n| 400 | `MISSING_PARAMS` | В теле запроса нет объекта `filter` |\n| 400 | `INVALID_PARAMS` | `callId` в пути — не положительное целое число |\n| 400 | `INVALID_PARAMS` | Битрикс24 отклонил значение параметра. Ответ дополнительно содержит массив `error.validation` с именем поля |\n| 403 | `BITRIX_ACCESS_DENIED` | Битрикс24 отказал в доступе: у веб-хука ключа нет права `call` на стороне портала. Переподключите ключ с нужным правом |\n| 422 | `METHOD_NOT_YET_AVAILABLE` | Обновление `call 26.600.0` на портале ещё не выпущено |\n| 422 | `BITRIX_ERROR` | Запрос отклонён: некорректный диапазон дат, недопустимое поле в `select`, некорректные `pagination` или `order`, нет доступа к данным звонка |\n\n### Системные ошибки\n\n| HTTP | Код | Когда | Повтор |\n|------|-----|-------|--------|\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` | нет |\n| 401 | `TOKEN_MISSING` | У ключа нет токенов портала. Ключ OAuth-приложения требует заголовок `Authorization: Bearer` | нет |\n| 403 | `SCOPE_DENIED` | У ключа нет скоупа `call` | нет |\n| 429 | `RATE_LIMITED` | Превышена частота запросов на стороне Битрикс24 | да, с задержкой |\n| 429 | `QUEUE_OVERFLOW`, `QUEUE_TIMEOUT` | Очередь запросов портала переполнена или запрос не дождался очереди. Заголовок `Retry-After` подсказывает задержку | да, после `Retry-After` |\n| 503 | `BITRIX_TIMEOUT` | Битрикс24 принял запрос, но не ответил за 15 секунд | да: методы раздела только читают данные, повтор безопасен |\n| 502 | `BITRIX_UNAVAILABLE` | Битрикс24 недоступен | да, с задержкой |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Follow-up звонков](\u002Fdocs\u002Fcalls\u002Ffollowup)\n- [Телефония](\u002Fdocs\u002Ftelephony)\n- [Расшифровка звонка](\u002Fdocs\u002Fentities\u002Factivities\u002Ftranscript)\n- [Ошибки](\u002Fdocs\u002Ferrors)\n","2026-07-13",{}]