Техническая документация

Как устроена платформа Intly AI с технической стороны: архитектура, работа ИИ-агента, интеграции, API и вебхуки, обработка данных. Страница рассчитана и на тех, кто принимает решение о партнёрстве, и на разработчиков, которым нужно подключить свою систему.

Юридическое лицо — ООО «ЦЕХУМНИК». Домены: intly.ru (веб-приложение и сайт), api.intly.ru (API), files.intly.ru (файловое хранилище).

Обзор платформы

Intly AI — платформа ИИ-агентов для бизнес-коммуникаций. Агент общается с клиентами в мессенджерах, соцсетях, на сайте и в маркетплейсах, отвечает на вопросы, ведёт по воронке продаж, выполняет действия и работает с базой знаний компании. Платформа работает в режиме омниканальности: один агент обслуживает клиента в любом подключённом канале с единой логикой и базой знаний.

Два типа агентов:

  • ИИ-МОП — отвечает клиентам, квалифицирует, ведёт по воронке, при необходимости передаёт диалог человеку
  • Бизнес-ассистент — внутренний помощник сотрудника: CRM, календарь, база знаний, документы, рассылки

Технологический стек:

  • Backend: Python 3.13, Django 5.2 + DRF
  • Фон: Celery + Redis
  • Данные: PostgreSQL, Qdrant (RAG), MinIO, Neo4j
  • Frontend: Next.js 15, React 19, TypeScript
  • Деплой: Docker Compose + Traefik

Архитектура

Поток данных

Запрос от клиента приходит на API, нормализуется в единый формат, обрабатывается ИИ-агентом и возвращается обратно в тот же канал. Тяжёлые операции (рассылки, синхронизации, напоминания) выполняются в фоне и не блокируют ответ.

Клиенты: мессенджеры · соцсети · виджет на сайте · маркетплейсы
        │
        ▼
Traefik — reverse proxy, TLS
        │
        ▼
Django REST API ──────► PostgreSQL — диалоги, лиды, конфигурации
   │      │       └────► Qdrant + ML-сервис — поиск по базе знаний (RAG)
   │      └────────────► MinIO — файлы и вложения · Neo4j — память агента
   ▼
AI-слой — LLM (Foundation Cloud / Polza.ai / GigaChat)
   │
   ▼
Celery + Redis — фоновые задачи: рассылки, синхронизации, напоминания

Компоненты

  • Django API — бизнес-логика, REST-эндпоинты, обработка вебхуков, оркестрация агента
  • PostgreSQL — диалоги, сообщения, лиды, клиенты, конфигурации интеграций, биллинг
  • Qdrant + ML-сервис — семантический поиск по базе знаний (RAG): эмбеддинги и реранкинг
  • MinIO — файлы базы знаний, вложения диалогов, сгенерированные артефакты
  • Neo4j — графовая память агента (связи между сущностями, контекст)
  • Redis — брокер задач Celery, кэш, счётчики лимитов, WebSocket-каналы
  • Celery (worker + beat) — асинхронные задачи и расписания

Как работает ИИ-агент

Жизненный цикл сообщения

Когда приходит сообщение, агент понимает контекст диалога, при необходимости ищет ответ в базе знаний компании, может вызвать инструменты и формирует ответ, адаптированный под конкретный канал.

  1. 1Приём. сообщение приходит через вебхук канала или Widget API
  2. 2Нормализация. ChannelAdapter приводит данные любого канала к единому формату (текст, идентификатор клиента, метаданные канала)
  3. 3Сбор контекста. история диалога, профиль клиента, релевантные фрагменты базы знаний (RAG), долговременная память
  4. 4Инструменты. при необходимости агент вызывает инструменты (поиск/обновление клиента в CRM, запись в календарь, генерация и др.)
  5. 5Генерация ответа. LLM формирует ответ, ChannelAdapter адаптирует его под стиль канала
  6. 6Отправка. ответ уходит обратно в канал; событие фиксируется (биллинг, аналитика)
Контроль действий. Инструменты размечены по уровню риска. Действия с необратимым внешним эффектом (рассылка, удаление записи в CRM) не выполняются без явного подтверждения (human-in-the-loop).

Интеграции

Платформа интегрируется с внешними сервисами на двух уровнях. Суммарно по обоим уровням — более 30 внешних сервисов.

Каналы (18) — где агент общается

  • Мессенджеры и соцсети: Telegram, WhatsApp, VK, Instagram, MAX, Avito
  • CRM: AmoCRM, Bitrix24
  • Запись и услуги: YClients
  • Маркетплейсы: Wildberries, Ozon, Яндекс.Маркет
  • Прочее: GitHub, Platrum, YouGile, Unisender, RuSender, Гарант

Инструменты — где агент действует

  • Google Workspace: Calendar, Docs, Drive, Sheets
  • Яндекс: Диск, Почта
  • Учётные системы: МойСклад, 1С, OpenCart
  • Платежи и доставка: ЮKassa, СДЭК Pay, СДЭК, Деловые Линии
  • Прочее: веб-поиск, генерация изображений и презентаций

Паттерн ChannelAdapter

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

API и вебхуки

Подключиться к платформе можно тремя способами: встроить чат с агентом на свой сайт (Widget API), присылать события через входящие вебхуки или работать с REST API под учётной записью. Ниже — что есть сегодня.

Аутентификация

  • JWT — доступ под учётной записью; access 24 ч, refresh 90 дней, с ротацией; токены в httpOnly cookies
  • Widget api_key — публичный Widget API; ограничен списком доменов и CSP
  • webhook_token / подпись — входящие вебхуки; дополнительно фильтр по владельцу
  • OAuth 2.0 — подключение внешних сервисов (Google, Яндекс, AmoCRM)

Формат и версионирование

  • REST, формат — JSON
  • Версионирование в URL: /api/v1/
  • Эндпоинты с завершающим слешем
  • Пагинация — постранично (по умолчанию 20)

Widget API — чат на сайте

Публичные эндпоинты /api/v1/public/widget/, авторизация по api_key виджета: конфигурация, создание сессии, отправка сообщений, история, завершение. Ограничение встраивания — список разрешённых доменов и CSP frame-ancestors.

Входящие вебхуки

Внешняя система шлёт события на эндпоинт вида /api/webhooks/<channel>/<token>/; тело — JSON; аутентификация по токену или подписи, фильтрация по владельцу. Рабочий способ подключить стороннюю систему «как канал».

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

  • Анонимные — 100 / час
  • Под пользователем — 1000 / час
  • AI-генерация — 30 / минуту
  • Загрузка файлов — 20 / минуту
  • Widget: сессии — 20 / минуту с IP
  • Widget: сообщения — 30 / минуту с IP
Исходящих вебхуков пока нет. Платформа не отправляет push-уведомления о событиях наружу. Если внешней системе нужно узнавать о событиях — используется опрос (polling) REST-эндпоинтов либо синхронный вызов внешнего API из инструмента агента.

Данные и мультитенантность

Каждый клиент платформы (организация) видит только свои данные. Изоляция данных между организациями — приоритет №1 в архитектуре.

  • Все данные привязаны к владельцу (owner)
  • Каждый запрос к API фильтруется по активному владельцу; без владельца не возвращается ничего
  • Инструменты и интеграции с внешними API фильтруют данные по владельцу
  • Вебхуки внешних систем после проверки токена сверяются с владельцем

Что хранится: диалоги и сообщения, профили клиентов и лиды, база знаний (документы и их векторные представления), конфигурации интеграций и агентов, биллинг.

Безопасность, инфраструктура и соответствие

Кратко

  • Размещение в РФ: инфраструктура в дата-центрах Timeweb Cloud (Москва, Санкт-Петербург), УЗ-3 по 152-ФЗ, ПП № 1119 и Приказу ФСТЭК № 21
  • Шифрование: TLS для трафика; API-ключи и токены — AES-256; пароли — bcrypt; резервные копии и файловое хранилище — с шифрованием
  • Оператор ПД: ООО «ЦЕХУМНИК» в реестре Роскомнадзора; при работе с данными клиентов действует как обработчик по поручению (ст. 6 ч. 3 152-ФЗ)
  • ИИ-провайдеры: данные передаются только для формирования ответа и не используются для обучения моделей; доступен российский провайдер (GigaChat)
Полная информация о безопасности и соответствии

Вопросы по интеграции?

Если вы рассматриваете интеграцию или партнёрство и у вас есть технические вопросы — свяжитесь с нами:

Последнее обновление: июнь 2026 г.