С ботами в MAX есть одна особенность, которая ломает привычный сценарий после Telegram. Нельзя просто открыть служебного бота, придумать никнейм, получить токен и через пять минут отправлять запросы к API. Сначала придётся подтвердить организацию, ИП или статус самозанятого, затем создать карточку бота, дождаться модерации и только после проверки получить токен.
Поэтому я бы разделил запуск бота в MAX на три независимые задачи. Сначала юридическая часть и верификация профиля, потом публикация самого бота, затем техническое подключение через API или конструктор. Если делать всё в таком порядке, схема довольно простая. Если начать писать интеграцию до получения доступа, можно упереться в ограничения платформы уже на первом шаге.
Кто вообще может создать бота в MAX
На момент подготовки материала платформа MAX для разработчиков разрешает подключать чат-боты организациям, ИП и самозанятым, которые являются резидентами России. Обычного личного аккаунта MAX для создания публичного бота недостаточно.
Сначала нужно создать профиль на платформе MAX для партнёров и пройти его верификацию. Сделать это можно через веб-интерфейс или через мини-приложение «MAX для бизнеса» внутри мессенджера. В мобильном сценарии подтверждение профиля проходит через Госуслуги.
Количество ботов тоже ограничено типом профиля.
| Тип профиля | Сколько ботов можно создать |
|---|---|
| Юридическое лицо | До 5 |
| ИП | До 5 |
| Самозанятый | До 2 |
Практический смысл такого ограничения прост. MAX пока рассматривает бота прежде всего как инструмент бизнеса и официальных сервисов, а не как свободно создаваемый пользовательский аккаунт.
После верификации откройте раздел «Чат-боты» и нажмите «Создать». Платформа попросит заполнить карточку бота. В ней указываются имя, описание, изображение и другие сведения, которые увидит пользователь.
С никнеймом есть неприятный для разработчика нюанс. Свободно выбрать короткое красивое имя пока нельзя. Для организации и ИП ник формируется автоматически по шаблону idИНН_bot. Для самозанятого используется идентификатор профиля. После создания никнейм изменить нельзя.
Получается немного непривычно. Название бота можно сделать человеческим, например «Поддержка интернет-магазина», а адрес останется техническим. Ссылка будет выглядеть примерно так:
https://max.ru/id1234567890_bot
После заполнения карточки бот не появляется сразу в поиске. MAX автоматически отправляет его на модерацию.
Что проверяет модерация и почему бот может получить отказ
По официальной инструкции проверка занимает до 48 часов по рабочим дням. Пока карточка находится на модерации, изменить настройки нельзя.
У бота может быть три основных состояния.
- «На модерации». MAX проверяет карточку и данные приложения.
- «Опубликован». Проверка пройдена, бот доступен пользователям.
- «Нужны исправления». Платформа нашла проблему и покажет причину отказа.
Модерация касается не только названия и аватарки. У MAX опубликованы отдельные требования к приложениям. Бот не должен вводить пользователя в заблуждение, нарушать чужие права, распространять запрещённый контент, вредоносный код или предлагать незаконные товары и услуги.
Есть менее очевидный пункт, который легко пропустить. Через обычное API чат-ботов нельзя самовольно строить массовые рекламные рассылки, отправлять авторизационные, транзакционные и некоторые сервисные сообщения, если такой сценарий отдельно не предусмотрен договором с MAX. Наличие технического метода отправки сообщения не означает, что платформенные правила разрешают применять его для любой рассылки.
Если бот собирает персональные данные, разработчик сам выступает оператором таких данных и должен обеспечить законные основания обработки, защиту информации, пользовательские документы и механизм прекращения обработки там, где того требует закон. Полные правила опубликованы в документации MAX.
Дисклеймер. При разработке ботов нужно соблюдать законодательство страны, в которой работает сервис, включая требования России к персональным данным и распространению информации. Не стоит использовать бот для несанкционированного доступа, скрытого сбора данных, мошенничества, спама или обхода правил платформы.
Я бы перед отправкой на модерацию проверил пять вещей. Название не должно изображать чужой официальный сервис. Описание должно точно объяснять назначение. Аватарка должна принадлежать вам или использоваться законно. Пользователь должен понимать, кто управляет ботом. Если бот собирает сведения о людях, политика обработки данных должна существовать не только для галочки.
После изменения уже опубликованной карточки MAX отправляет данные на повторную модерацию. Старый вариант при этом остаётся доступен пользователям, пока новые данные не пройдут проверку.
Как подключить бота после модерации
Главная техническая граница проходит именно здесь. До успешной проверки полноценная настройка ограничена. После публикации в настройках появляется токен доступа, который используется для вызова Bot API.
Токен выглядит как длинная случайная строка. Его нельзя вставлять в исходный код публичного репозитория, пересылать в открытом чате или хранить в клиентском приложении. Человек, получивший токен, сможет обращаться к API от имени вашего бота. При утечке токен нужно обновить в настройках.
Есть два пути дальнейшей работы.
- Без программирования. Подключить один из совместимых конструкторов и собрать сценарий из готовых блоков.
- Через API. Написать собственный сервер, который получает события MAX, обрабатывает их и отправляет ответы.
Для простого FAQ, формы заявки или маршрутизации клиента конструктор может оказаться быстрее собственной разработки. Для CRM, внутренних баз данных, сложной бизнес-логики, авторизации и нестандартных сценариев я бы сразу использовал API.
Основной адрес API сейчас выглядит так:
https://platform-api2.max.ru
Токен передаётся в заголовке Authorization. Передавать его в параметрах URL документация больше не рекомендует и для соответствующих методов такой вариант не поддерживает.
Проверить доступ можно запросом информации о текущем боте:
curl "https://platform-api2.max.ru/me"
-H "Authorization: ВАШ_ТОКЕН"
Для отправки сообщения используется метод POST /messages. Например, сервер может отправить текст пользователю, если известен его идентификатор:
curl -X POST "https://platform-api2.max.ru/messages?user_id=USER_ID"
-H "Authorization: ВАШ_ТОКЕН"
-H "Content-Type: application/json"
-d '{
"text": "Привет! Бот работает."
}'
API поддерживает не только текст. К сообщениям можно прикладывать изображения, видео, аудио, файлы, контакты, геопозицию и встроенные кнопки. Текст поддерживает форматирование.
Платформа ограничивает общую интенсивность запросов к API примерно 30 запросами в секунду. Для одного диалога, группового чата или канала действует отдельное ограничение на отправку сообщений. Поэтому массовую обработку нужно строить через очередь, а не запускать сотни параллельных запросов.
Получать действия пользователя можно двумя способами. Первый называется Long Polling. Ваш сервер постоянно спрашивает MAX, появились ли новые события. Такой вариант удобен для первых тестов, но сама документация MAX не рекомендует использовать его в рабочей среде.
Второй способ называется Webhook. Вы регистрируете адрес своего HTTPS-сервера через POST /subscriptions, после чего MAX сам отправляет туда новые события. Для рабочего бота я бы использовал именно такую схему.
Пользователь MAX
↓
MAX
↓ Webhook
Ваш сервер
↓
База данных / CRM / бизнес-логика
↓
API MAX
↓
Ответ пользователю
MAX требует защищённый HTTPS для вебхуков. Самоподписанные сертификаты и обычный HTTP для таких подключений не поддерживаются.
Проверять работоспособность лучше не по факту наличия токена, а полным циклом. Пользователь запускает бота, MAX отправляет событие на ваш вебхук, сервер записывает событие в журнал, формирует ответ, вызывает API, а пользователь получает сообщение. Только после такой проверки можно считать интеграцию законченной.
Где чаще всего ломается запуск
Первая ошибка возникает ещё до программирования. Разработчик ожидает модель Telegram и ищет кнопку моментального выпуска токена. В MAX сначала нужен верифицированный бизнес-профиль и модерация.
Вторая ошибка связана с никнеймом. Пока платформа генерирует его автоматически, строить маркетинг вокруг заранее выбранного адреса рискованно. Лучше сначала создать карточку и только потом печатать QR-коды, ссылки и инструкции.
Третья ошибка касается токена. Никогда не вставляйте настоящий секрет в примеры на GitHub. Храните его в переменной окружения или системе управления секретами.
MAX_BOT_TOKEN=секретный_токен
Четвёртая ошибка появляется при выборе Long Polling для рабочего сервиса. Для локального прототипа метод удобен, но MAX прямо рекомендует Webhook для промышленной эксплуатации.
Пятая ошибка гораздо опаснее технических сбоев. Разработчик сначала пишет бота, который собирает телефон, имя, адрес и историю заказов, а юридические документы планирует «добавить потом». Правила MAX перекладывают ответственность за обработку таких данных на разработчика. Архитектуру хранения и удаления данных лучше спроектировать до запуска.
Отдельно стоит подумать о групповых чатах. По умолчанию добавление нового бота в группы запрещено. После модерации разрешение можно включить в настройках. Не включайте функцию автоматически, если сценарий работает только в личных сообщениях.
MAX также позволяет привязать к чат-боту мини-приложение. Такой вариант пригодится, когда обычного диалога и кнопок уже мало. Например, можно открыть каталог, личный кабинет, форму заказа или другой интерфейс прямо внутри MAX. Мини-приложение подключается уже после создания и модерации бота.
Мой вывод простой. Бот в MAX сейчас ближе к небольшому официальному приложению бизнеса, чем к свободному экспериментальному боту. Для компании такой подход даже удобен. Пользователь видит связь бота с организацией, разработчик получает API, кнопки, файлы, события и мини-приложения. Для энтузиаста порог входа заметно выше, потому что без статуса организации, ИП или самозанятого обычный сценарий создания недоступен.
Если запускаете первого бота, я бы шёл по короткой цепочке. Сначала верифицировать профиль, затем создать максимально простую карточку, пройти модерацию, получить токен, проверить один запрос к /me, настроить Webhook и только после этого подключать CRM, базу данных и сложные сценарии. Такой порядок быстро показывает, где именно возникла проблема, и не смешивает ошибки платформы с ошибками вашего кода.
Можно ли создать бота в MAX обычному пользователю?
Для стандартного сценария через платформу MAX для партнёров нужен верифицированный профиль российского юридического лица, ИП или самозанятого. Одного личного аккаунта мессенджера недостаточно.
Сколько времени занимает модерация бота MAX?
Официальная документация указывает срок до 48 часов по рабочим дням. При отказе карточка получает статус «Нужны исправления», после чего данные можно исправить и отправить повторно.
Когда MAX выдаёт токен бота?
Токен становится доступен после успешной модерации. Найти его можно в настройках чат-бота на платформе MAX для партнёров.
Можно ли поменять никнейм бота в MAX?
Сейчас никнейм создаётся платформой автоматически и после создания не редактируется. Остальные данные карточки можно менять, но изменения снова проходят модерацию.
Нужен ли сервер для чат-бота MAX?
Не всегда. Простые сценарии можно собрать через конструктор партнёра. Для собственной бизнес-логики и интеграции через API понадобится сервер или облачный обработчик запросов.
Что лучше для MAX, Webhook или Long Polling?
Для тестов можно использовать оба подхода, но MAX рекомендует Webhook для рабочих интеграций. Long Polling имеет ограничения и не предназначен для промышленной эксплуатации.
Можно ли добавить бота MAX в групповой чат?
Да, но после создания такая возможность по умолчанию выключена. После модерации владелец может разрешить добавление бота в группы через настройки.
Можно ли подключить к боту MAX мини-приложение?
Да. После модерации в настройках бота можно указать адрес мини-приложения и настроить кнопку его запуска. Такой вариант подходит для каталогов, форм, личных кабинетов и других интерфейсов, которые неудобно строить только на сообщениях.