🎬Видео скоро появится
Нажми, когда разберёшься с уроком. Галочка появится в меню слева.

Урок 34. Публичный API и своя интеграция по API

Для продвинутых и разработчиков: связать DOS AI со своими системами: учётом, складом, сайтом. Обычному владельцу этот урок не обязателен.

Цель урока

После урока ты понимаешь два направления связи DOS AI с внешними системами: API-ключ (твоя программа управляет ботом) и «Своя интеграция по API» (бот дёргает твой сервер), знаешь, какие права/область у ключа, и когда это вообще нужно (а когда хватает готовых шаблонов).

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

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

  1. API-ключ, чтобы твоя программа могла управлять DOS AI (читать лидов, слать сообщения) от твоего имени.
  2. «Своя интеграция по API», чтобы бот дёргал твой сервер (проверить остаток мест, создать заказ, прочитать из базы).

📍 Где: глобальное меню → «Для разработчиков» (ключи); функции → «Своя интеграция по API».

Слайды урока

Урок 34 · для продвинутых
Публичный API и своя интеграция
Связать DOS AI со своими системами, сайтом, складом, учётом. Обычному владельцу этот урок не обязателен.
1 / 7

Непонятные слова: на пальцах (для новичка, можно пропустить весь урок)

  • API: «розетка», через которую программы соединяются и обмениваются данными. Как штепсель: любой прибор, у кого подходящая вилка, может подключиться. Тебе-владельцу это не обязательно, урок для тех, у кого есть свои IT-системы.
  • API-ключ (dos_sk_live_…): длинный пароль, по которому твоя программа управляет DOS AI от твоего имени. Как ключ от служебного входа: у кого он есть, тот может войти. Поэтому давай минимальные права.
  • Только чтение / чтение+запись, что разрешает ключ: смотреть данные или ещё и менять. Как «читательский билет» против «редакторского».
  • Область (весь аккаунт / один проект): на что распространяется ключ. Один проект, безопаснее: даже при утечке доступ ограничен.
  • Своя интеграция по API (вебхук): способ боту постучаться в твой сервер и получить ответ. Пример: «есть места в группе?» → «да, 3». Как позвонить в другой отдел и уточнить.
  • Эндпоинт: конкретный адрес на твоём сервере, куда бот стучится. Как номер кабинета: звонишь именно туда, где ответят по нужному вопросу.

Зачем это нужно

Чтобы автоматизировать связку «бот ↔ твои системы». Пример: бот при вопросе «есть места?» сам стучится в твою систему учёта и отвечает актуальным остатком. Или твоя CRM забирает лидов из DOS AI по расписанию.

API-ключи

Ключи вида dos_sk_live_…:

  • Права: только чтение или чтение+запись;
  • Область: на весь аккаунт или один проект;
  • Необязательный срок действия. Есть примеры запросов (curl). Ключи бесплатны.

Своя интеграция по API (бот → твой сервер)

В функциях выбираешь тип «Своя интеграция по API» и настраиваешь: адрес (URL), метод, тело запроса / заголовки / авторизацию / параметры URL / обработку ответа / повторы при сбое. В тело можно подставить переменные {{client_name}}, {{now}} и т.д. Бот вызовет твой эндпоинт по ходу диалога.

⚠️ Устаревших http_get/http_post больше нет, используется «Своя интеграция по API».

Пример (образовательный центр «Профи»)

Клиент спрашивает «есть места в группе ЕНТ на вечер?». Бот вызывает функцию check_free_seats («Своя интеграция по API») → стучится в API центра api.profi-center.kz → получает «да, 3 места» → отвечает клиенту и предлагает записаться. Тот же приём в магазине: проверить остаток товара перед оплатой.

Когда нужно / когда нет

  • Есть свои системы (сайт/склад/CRM/учёт) и нужна автоматическая связка.
  • Обычному бизнесу без своих IT-систем это не нужно, хватает готовых шаблонов и интеграций.

Частые ошибки

  • Дали ключу «чтение+запись» и широкую область без нужды → лишний риск. Давай минимальные права.
  • Ждут http_get/http_post: их нет, это «Своя интеграция по API».

Вопросы новичка

  • Мне, обычному владельцу, это нужно? Скорее всего нет. Для записи, оплат, отправки файлов хватает готовых шаблонов. API, для тех, у кого есть свой сайт/склад/учёт и разработчик.
  • API-ключи платные? Нет, ключи бесплатны. Платишь только за обычную работу бота (баланс).
  • Какие права давать ключу? Минимально нужные, если программе достаточно читать лидов, «только чтение», на один проект. Меньше прав, меньше риска при утечке.
  • Как в запрос попадут данные клиента? Через переменные {{client_name}}, {{phone}}, {{now}}: бот подставит их в тело запроса при вызове.
  • Где http_get/http_post? Их больше нет. Кастомный HTTP теперь: «Своя интеграция по API» (тип webhook).

Управлять проектами из ИИ-агента (MCP)

Если ты пользуешься Claude Code, Codex или Cursor, платформу можно подключить к ним напрямую, без единой строчки кода. Тогда ты просто пишешь словами: «покажи вчерашних лидов у стоматологии», «поправь промпт барбершопа», «сколько потратили за неделю», а инструмент сам дёргает нужное действие.

Подключение в Claude Code одной командой (ключ берёшь там же, где обычный API-ключ):

claude mcp add --transport http dosai https://dosai.pro/api/mcp \
  --header "Authorization: Bearer dos_sk_live_ТВОЙ_КЛЮЧ"

Готовые команды для Codex и Cursor лежат в кабинете, в разделе для разработчиков: там они уже с подставленным ключом.

Как это устроено:

  • Агент видит ровно то же, что видишь ты, и ограничен твоей ролью на проекте.
  • Ключ «только чтение» = агент смотрит, но ничего не меняет. Хорошая точка старта.
  • Удалять проекты и трогать деньги агент не может: таких инструментов ему не дали намеренно.
  • Отправка сообщения клиенту необратима: сначала согласуй текст, потом разрешай отправку.

Для интегратора это главный смысл: десяток клиентских проектов проверяется одним запросом на человеческом языке, а не обходом десяти вкладок.

Проверь себя

  • Чем API-ключ отличается от «Своей интеграции по API», кто кого вызывает?
  • Какие права и область стоит дать ключу, чтобы снизить риск при утечке?
  • Как в запрос к твоему серверу попадёт имя клиента?
  • Какого класса действий у ИИ-агента нет и почему это сделано специально?

Что дальше

Дальше, Урок 35: язык выражений (подстановка живых данных), те самые {{client_name}} из тела запроса.

Подробнее (техническая документация)