DOS_AI/ Документация
ОтзывыДля когоАгентствамВозможностиЦенаFAQОбучениеДокиВойтиСтарт
← Руководство
Старт
  • Что такое DOS AI
  • Как бот думает
  • Быстрый старт: первый бот за 30 минут
  • Карта кабинета (навигация)
  • Глоссарий
Проект и бот
  • Создание проекта
  • Системный промпт (характер бота)
  • JSON-ответ бота (статусы, стадии, флаги)
  • Выбор AI-модели
  • Тестовый чат
  • Продвинутые настройки бота
  • Загрузить знания о бизнесе в бота (что куда)
Каналы
  • Обзор каналов
  • Подключить WhatsApp (по QR)
  • Подключить Telegram-бота
  • Гигиена и антибан (WhatsApp)
Инструменты бота
  • Функции (инструменты бота)
  • База знаний (RAG)
  • Медиа-библиотека
  • Дожимы (follow-up)
  • Теги и сегментация
  • Уведомления владельцу (Telegram и почта)
  • Запись на время (Calendar и движок окошек)
  • Бот выставляет счёт (Kaspi)
  • Письмо клиенту
  • Рассылки по базе контактов
  • Исходящие диалоги (бот пишет первым)
Работа с клиентами
  • Диалоги, лента, перехват, «AI на паузе»
  • Лиды и их статусы
  • Стадии диалога (воронка)
  • Аналитика
  • Логи событий
  • Авто-отчёты владельцу (Telegram и почта)
Интеграции
  • Обзор интеграций + сервисный аккаунт Google
  • Google Sheets
  • Google Calendar
  • Gmail
  • CRM, Bitrix24 / amoCRM / AlphaCRM
  • Вебхуки и безопасность (SSRF)
  • МойСклад: наличие и цены в ответах бота
Деньги
  • Биллинг проекта: токены, подписка, пополнение
  • Сколько стоит сообщение
  • Приём оплат от клиентов (Kaspi)
  • Промокоды и партнёрская программа
Команда и аккаунт
  • Роли и права (viewer / tester / editor / admin / owner)
  • Участники и приглашения
  • Профиль, пароль, безопасность
  • Уведомления и личные настройки
  • Удаление, передача, дублирование проекта
Для разработчиков
  • Публичный API и ключи dos_sk_live_…
  • Кастомные вебхуки (продвинутый режим)
  • Язык выражений (expressions)
  • Формат данных и интеграция фронта
  • Подключить ИИ-агента: Claude Code, Codex, Cursor (MCP)
Решение проблем
  • Бот не отвечает, диагностика
  • Функция не вызывается / падает
  • Канал отвалился / WhatsApp забанили
  • Платёж не прошёл
  • Частые вопросы (FAQ)
  • Лиды из рекламы приходят с задержкой
Справочники
  • Каталог встроенных функций
  • Справочник настроек (agent_config)
  • Коды ошибок и состояния
  • Стадии, статусы лида, типы клиента
  • Лимиты и квоты
  • Переменные и хелперы выражений
  • Типы уведомлений

Документация › Проект и бот › JSON-ответ бота

JSON-ответ бота (статусы, стадии, флаги)

[для продвинутых] Бот отвечает структурированным JSON, а не голым текстом: текст ответа + что он понял про клиента (имя, телефон, стадия, статус лида). Эта статья, что внутри и зачем.

⏱ 8 мин · 👤 для разработчика и любопытного владельца · 🟢 live

За 30 секунд:
  • Бот возвращает JSON, не «голый текст»: поле answer (ответ) + метаданные диалога.
  • Из JSON платформа достаёт: имя/телефон/email клиента, стадию воронки, статус лида, нужно ли продолжать диалог.
  • Никакого стриминга: ответ приходит целиком; «эффект печатания» делается разбивкой на части на стороне клиента.
  • Удалённые поля (selected_service, services) бот иногда всё ещё шлёт, платформа их молча выкидывает.

Зачем боту JSON, а не текст

Если бы бот возвращал просто текст, платформа не знала бы, что произошло в разговоре, как зовут клиента, на каком он этапе, стоит ли заводить лида. Поэтому модель отвечает структурой: текст для клиента плюс «понятое» про диалог. Это и позволяет автоматически заполнять карточку лида, двигать стадию воронки, решать про дожимы.


Поля ответа

Ответ проверяется по схеме (ai-response-schema.ts). Основные поля:

ПолеТипЧто значит
answerстрока (обязательно)основной текст ответа клиенту
message_partsмассив строкответ, разбитый на части (эффект печатания)
client_nameстрокаимя клиента, если бот его узнал
phoneстрокателефон, если назвали
emailстрокаemail, если назвали
stageстрокастадия воронки (greeting…done)
lead_statusстрокастатус лида
summaryстрокакраткое резюме разговора для карточки лида
full_dataобъектпроизвольные собранные поля (кастомные данные)
triggered_eventsмассив строккакие события/функции инициировать (до 50)
📌 stage и lead_status, обычные строки, а не жёсткий список, потому что проект может задать свой набор стадий/статусов. Платформа проверяет значение по разрешённому набору проекта; если значение «чужое», пишет предупреждение и оставляет старое, а не ломает диалог. Если воронка у проекта выключена, stage/lead_status из ответа игнорируются.
🛑 Бот НЕ останавливает диалог сам. Раньше бот мог сам решить «разговор окончен» и уйти на паузу (поля continue_to_talk/stage=done) это убрали, потому что модель делала это преждевременно (замолкала прямо после записи, игнорируя следующий вопрос клиента). Теперь диалог завершается только явной функцией: «Остановить диалог» или любой функцией с галочкой «Завершать диалог после выполнения». Так бот всегда дообщается, пока вы сами (или функция) его не остановите.

Разбивка на части (эффект печатания)

Бот может прислать message_parts, несколько коротких сообщений вместо одного длинного. Платформа отправляет их по очереди с паузой между ними (по умолчанию ~2 сек), создавая ощущение «человек печатает».

⚠️ Это НЕ стриминг. Ответ модели приходит целиком и сразу; «постепенность» это клиентская пауза (setTimeout) между уже готовыми частями. Стриминг в платформе не используется (он ломал бы подсчёт токенов и возвраты). Управление разбивкой: в продвинутых настройках (split_*).

Игнорируемые поля

Модель по привычке иногда возвращает selected_service / services: это поля удалённой фичи «Услуги» (убрана 2026-04-22). Схема их принимает и молча отбрасывает, чтобы старый «мусор» от модели не ломал разбор ответа. Это не ошибка.


Простыми словами

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

Тебе как владельцу в это лезть не нужно, всё работает само. Знать про это полезно в одном случае, если хочешь, чтобы бот точнее определял стадии и статусы под твой бизнес, опиши правила в промпте, и он будет аккуратнее заполнять эту «анкету».


Дальше: → Выбор AI-модели
Связано: Системный промпт · Стадии воронки · Лиды · Продвинутые настройки
Не получилось? → Бот не отвечает