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)
  • Коды ошибок и состояния
  • Стадии, статусы лида, типы клиента
  • Лимиты и квоты
  • Переменные и хелперы выражений
  • Типы уведомлений

Документация › Для разработчиков › Публичный API

Публичный API и ключи dos_sk_live_…

[для разработчиков] Дёргай платформу из своего кода: API-ключ dos_sk_live_… авторизует запросы как тебя самого, с теми же правами на проекты, что и в браузере.

⏱ 8 мин · 👤 для разработчика · 🟢 live

За 30 секунд:
  • Ключ формата dos_sk_live_…, передаётся в заголовке Authorization: Bearer ….
  • Ключ работает от имени твоего аккаунта: действуют те же роли/доступы, что и в кабинете.
  • Ключи бывают read и read+write, на весь аккаунт или на один проект.
  • Хранится только SHA-256-хеш, сырой ключ показывается один раз при создании. Потерял, выпусти новый.
Раздел «Для разработчиков»: выпуск и управление API-ключами
Раздел «Для разработчиков»: выпуск и управление API-ключами

Создание ключа

В кабинете → управление API-ключами → создать. При создании:

  • задаёшь права: только чтение (read) или чтение+запись (read+write);
  • задаёшь область: весь аккаунт (все твои проекты) или один проект;
  • опционально, срок жизни (1-365 дней).
🔑 Сырой ключ виден ОДИН раз. Платформа хранит только его SHA-256-хеш и не может показать ключ повторно. Скопируй сразу в надёжное место. Потерял, просто отзови и выпусти новый.

Лимиты: до 50 ключей на аккаунт; запросы по ключу до 120 в минуту (при превышении API вернёт 429 Too Many Requests, сделайте паузу и повторите). Управлять ключами можно только из браузера (залогиненная сессия), сам ключ не может создавать другие ключи (защита от эскалации прав).


Использование

Передавай ключ в заголовке:

Authorization: Bearer dos_sk_live_xxxxxxxxxxxxxxxxxxxxxxxx

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

СвойствоПоведение
Праваread: только GET; write, позволяет POST/PUT/PATCH/DELETE. Ключ только для чтения на мутирующем запросе → отказ
Областьaccount-scoped (все проекты) или project-scoped (заблокирован на один)
RBACнаследует роли твоего аккаунта на проектах, не выше
Отзывотозванный ключ перестаёт работать сразу

Базовый адрес: https://dosai.pro. Пример запроса:

curl https://dosai.pro/api/projects \
  -H "Authorization: Bearer dos_sk_live_…"

Машиночитаемое описание

АдресЧто это
https://dosai.pro/api/openapi.jsonПолная спецификация OpenAPI 3.1: все эндпоинты, параметры, коды ошибок. Открыта без ключа, подходит для генераторов клиентов и Postman
https://dosai.pro/llms.txtКороткая памятка для ИИ-агентов: что за платформа, как авторизоваться, куда идти дальше
https://dosai.pro/api/mcpMCP-сервер: тот же каталог как готовые инструменты для Claude Code, Codex и Cursor. См. Подключить ИИ-агента

Каталог эндпоинтов

Все пути, относительно https://dosai.pro, авторизация, Authorization: Bearer dos_sk_live_… (мутирующие запросы требуют ключ с правом write).

Проекты

МетодПутьЧто делает
GET/api/projectsСписок всех проектов пользователя
POST/api/projectsСоздать новый проект: { name, company_name, industry, … }
GET/api/projects/:idПолучить проект по ID
PATCH/api/projects/:idОбновить проект
DELETE/api/projects/:idУдалить проект

Лиды

МетодПутьЧто делает
GET/api/projects/:id/leadsСписок лидов. Query: page, limit, status (none/potential/qualified/hot/converted/reserve/lost), before (курсор)
GET/api/projects/:id/leads/:leadIdПолучить лид по ID
PATCH/api/projects/:id/leads/:leadIdОбновить лид: { lead_status, client_name, phone, email }
DELETE/api/projects/:id/leadsМассовое удаление: { ids: string[] }
GET/api/projects/:id/leads/exportЭкспорт лидов в CSV

Диалоги

МетодПутьЧто делает
GET/api/projects/:id/conversationsСписок диалогов. Query: page, limit, status (open/resolved/closed), include_archived
GET/api/projects/:id/conversations/:convIdДетали диалога
GET/api/projects/:id/conversations/:convId/messagesСообщения диалога
POST/api/projects/:id/conversations/:convId/sendОтправить сообщение от оператора: { text: string }, опционально заголовок Idempotency-Key

Интеграции

МетодПутьЧто делает
GET/api/projects/:id/integrationsСписок интеграций
POST/api/projects/:id/integrationsСоздать интеграцию (webhook): { name, type, url, events[], headers? }
DELETE/api/projects/:id/integrations/:intIdУдалить интеграцию

Аналитика и отчёты

МетодПутьЧто делает
GET/api/projects/:id/analyticsСтатистика проекта это query from, to (YYYY-MM-DD)
GET/api/projects/:id/reportsСкачать PDF-отчёт за месяц, query period=2026-03

Биллинг

МетодПутьЧто делает
GET/api/projects/:id/tokensБаланс токенов проекта
GET/api/projects/:id/tokens/historyИстория транзакций

Лимиты запросов

  • API-ключ: до 120 запросов/мин на ключ; сверх: 429 Too Many Requests.
  • Ориентиры по типам: GET ≈ 30-60/мин, POST/PATCH ≈ 10-30/мин, PDF-отчёты ≈ 5/мин (точные значения у каждого роута свои).
  • В каждом ответе, заголовки X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset; при 429 ещё и Retry-After (секунды до сброса).

Безопасность ключа

  • Это пароль доступа к твоим проектам: храни как секрет, не коммить в репозиторий, не клади в открытый фронтенд.
  • Светанул ключ, немедленно отзови и выпусти новый.
  • Для интеграции, которой нужно только читать, выдавай read-only ключ.
  • Нужен доступ только к одному проекту это делай project-scoped ключ, не account-wide.

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

Если ты разработчик и хочешь дёргать платформу из своего кода, заводишь API-ключ. Это длинная строка вида dos_sk_live_…, которую ты прикладываешь к запросам в заголовке Authorization. Важная идея: ключ это «ты в виде кода». Он видит ровно те проекты и умеет ровно то, что и ты сам в кабинете, не больше. Хочешь дать интеграции только читать, выпусти ключ «только чтение». Хочешь ограничить одним проектом: выпусти ключ на этот проект.

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


Дальше: → Кастомные вебхуки
Связано: Роли и права · Формат данных
Не получилось? → напиши в саппорт