Актуальность: 24 сентября 2025.
С августа MAX официально перевёл публикацию ботов и мини-приложений в бизнес-режим: подключаться к платформе, создавать и выводить в прод можно только через верифицированные организации — юрлица РФ. ИП, самозанятые, физлица и нерезиденты сейчас не допускаются. Узнали мы об этом совсем недавно, после уведомления о деактивации наших ботов и отправке запросов в поддержку MAX по email. Параллельно API переехал на platform-api.max.ru
, а токен теперь передаётся исключительно в заголовке Authorization
.
В статье — что именно поменялось, как пройти модерацию и не завалиться на комплаенсе.
Что именно изменилось: официальные формулировки
Доступ только для юрлиц РФ. «Подключение к платформе MAX для бизнеса, создание и настройка чат-ботов и мини-приложений пока доступны для ограниченного списка юридических лиц… организация должна быть зарегистрирована в РФ… ИП, самозанятые, физические лица и нерезиденты пока не могут авторизоваться или зарегистрироваться».
Док: https://dev.max.ru/docs/maxbusiness/connectionСоздать бота можно только из верифицированной организации. «Вы можете создать чат-бот, только если у вас есть верифицированный профиль организации, созданный для юридического лица, зарегистрированного в РФ».
Док: https://dev.max.ru/docs/maxbusiness/connectionAPI: миграция и правила авторизации. «Передача токена через query-параметры больше не поддерживается — используйте заголовок
Authorization: <token>
… Если вы отправляете запросы на доменbotapi.max.ru
, перейдите на новый доменplatform-api.max.ru
до 1 октября».
Док: https://dev.max.ru/docs/chatbots/bots-coding/prepareПравила и Требования (договор, модерация, ограничения по контенту/функциональности) — без них размещения не будет.
Док: https://dev.max.ru/docs/legal/rules • https://dev.max.ru/docs/legal/requirements
Онбординг: как теперь запустить бота (пошагово)
Вход в MAX для бизнеса (лучше с корпоративной почтой, пока что не работает для обычных пользователей, дальнейшие шаги можно повторить написав на официальную почту max: partner@max.ru): https://dev.max.ru/docs/maxbusiness/connection
Профиль организации (юрлицо РФ) и верификация. Если профиля нет — вводите ИНН или пишите на business_support@max.ru. Верификацию может пройти руководитель или представитель с правом первой/единственной подписи. Срок — до 48 часов по рабочим дням.
Док: https://dev.max.ru/docs/maxbusiness/connectionСоздание чат-бота в верифицированной организации → заполнение карточки → модерация. После одобрения бот появляется в поиске MAX, а платформа генерирует токен.
Док: https://dev.max.ru/docs/maxbusiness/connectionПодключение мини-приложения (HTTPS-URL) в кабинете организации.
Доки: обзор — https://dev.max.ru/docs/webapps/introduction • Bridge — https://dev.max.ru/docs/webapps/bridge • валидация — https://dev.max.ru/docs/webapps/validation
Карточка бота: требования к полям (что чаще всего «падает» на модерации)
Название — 1–59 символов; латиница/кириллица/цифры; эмодзи запрещены.
Ник — 11–60 символов; начинается со строчной буквы; допустимы латиница, цифры и ; обязательно заканчивается на
bot
илиbot
; изменить нельзя (если не указать окончание — система добавит_bot
).Сайт — обязателен;
https://
; ≤1024 символов; допустимы латиница, цифры, точка, дефис; без пробелов.Логотип — 500×500 px; ≤5 МБ; JPG/PNG; соотношение 1:1.
Описание — до 200 символов.
Док: https://dev.max.ru/docs/maxbusiness/connection
Статусы модерации: «На модерации» → «Готов к публикации» → «Требует исправлений» (в карточке покажут причину). Срок проверки — до 48 часов по рабочим дням.
Док: https://dev.max.ru/docs/maxbusiness/connection
Что поменялось в API и как мигрировать за вечер
Ключевые изменения:
Базовый домен:
https://platform-api.max.ru
(вместоbotapi.max.ru
).Токен: только в заголовке
Authorization: <token>
(query больше не работает).Одновременно активен один тип уведомлений: Webhook или Long Polling.
«Кто я?» (минимальный чекап)
GET /me HTTP/1.1
Host: platform-api.max.ru
Authorization: <token>
Подписки на события (Webhook / Long Polling)
Подключить Webhook:
POST /subscriptions
(укажите HTTPS-URL вебхука).Проверить Webhook:
GET /subscriptions
.Получать события через LP:
GET /updates
.
Док: https://dev.max.ru/docs/chatbots/bots-coding/prepare • https://dev.max.ru/docs-api
Примеры кода (JS/TS и Python)
JS/TS (Fetch API) — базовый вызов и отправка сообщения
const API = 'https://platform-api.max.ru';
const TOKEN = process.env.MAX_BOT_TOKEN!;
async function whoAmI() {
const res = await fetch(`${API}/me`, { headers: { Authorization: TOKEN } });
if (!res.ok) throw new Error(`ME ${res.status}`);
return res.json();
}
async function sendMessage(chatId: string, text: string) {
const res = await fetch(`${API}/messages`, {
method: 'POST',
headers: {
Authorization: TOKEN,
'Content-Type': 'application/json',
},
body: JSON.stringify({ chat_id: chatId, text }),
});
if (!res.ok) throw new Error(`MSG ${res.status}`);
return res.json();
}
Python (requests) — подписка на Webhook
import os, requests
API = "https://platform-api.max.ru"
TOKEN = os.environ["MAX_BOT_TOKEN"]
WEBHOOK_URL = "https://example.com/max-webhook"
r = requests.post(f"{API}/subscriptions",
headers={"Authorization": TOKEN, "Content-Type": "application/json"},
json={"url": WEBHOOK_URL})
r.raise_for_status()
print("Webhook set:", r.json())
Node.js — обработчик Webhook
import express from 'express';
const app = express();
app.use(express.json());
app.post('/max-webhook', (req, res) => {
const update = req.body; // события MAX в JSON
// TODO: обработайте тип (message_new, callback и т.д.)
console.log('MAX update:', update);
res.sendStatus(200);
});
app.listen(3000, () => console.log('Webhook on :3000 (HTTPS in prod)'));
Мини-приложения: UX-паттерны и безопасный старт
Подключаем Bridge и базовые сценарии
<script src="https://st.max.ru/js/max-web-app.js"></script>
<script>
WebApp.ready(); // экран отрисован — убирает «скелетон»
WebApp.BackButton.show(); // системная «Назад»
WebApp.BackButton.onClick(() => WebApp.close());
// WebApp.openLink('https://your-site.tld'); // внешняя ссылка
</script>
Док: https://dev.max.ru/docs/webapps/bridge
Валидация initData (must-have)
Алгоритм (из доков):
URL-decode исходной строки;
собрать пары
{key}={value}
(кромеhash
), отсортировать по ключам, склеить\n
;secret = HMAC_SHA256("WebAppData" + BotToken)
;signature = HMAC_SHA256(secret, data_check_string)
и сравнить сhash
.
Док: https://dev.max.ru/docs/webapps/validation
Комплаенс и модерация: что проверяют
Правовой статус и договор. Размещение — только по лицензионному договору; разработчик — юридическое лицо.
Док: https://dev.max.ru/docs/legal/rulesКонтент и функциональность. Запреты: насилие, наркотики, обман/злоупотребление доверием, вредоносный код, запрещённые товары/услуги и т.п. Требуется реакция на жалобы, удаление незаконного UGC, безопасность.
Док: https://dev.max.ru/docs/legal/requirementsЮридические страницы — в интерфейсе. В самом боте/мини-приложении должны быть: «Пользовательское соглашение», «Политика конфиденциальности», сведения о правообладателе/операторе (название, адрес, реквизиты, контакты) и канал поддержки. Шаблоны:
• Соглашение — https://dev.max.ru/docs/legal/agreement
• Политика — https://dev.max.ru/docs/legal/privacy
Причины отказов и как их чинить
Частая причина |
Как исправить |
---|---|
Ник короче 11 символов / нет суффикса |
Переименуйте до отправки: 11–60 символов, |
В названии эмодзи |
Уберите эмодзи, оставьте 1–59 символов (латиница/кириллица/цифры) |
Нет сайта или не |
Добавьте валидный |
Нет юридических страниц в интерфейсе |
Вынесите «Соглашение», «Политику», реквизиты и контакты в видимое место |
Токен передаётся в query / используется |
Перейдите на заголовок |
В мини-приложении нет валидации |
Реализуйте HMAC-валидацию по докам |
Источники требований к карточке/модерации: https://dev.max.ru/docs/maxbusiness/connection
API-часть: https://dev.max.ru/docs/chatbots/bots-coding/prepare • https://dev.max.ru/docs-api
Чек-лист перед модерацией
Профиль организации создан и верифицирован (юрлицо РФ).
Бот создан из профиля организации либо доступ предоставлен через официальную почту partner@max.ru; карточка заполнена по требованиям.
API: используете
https://platform-api.max.ru
и заголовокAuthorization
.Выбран один канал уведомлений (Webhook или Long Polling).
Мини-приложение на HTTPS, Bridge подключён;
WebApp.ready()
и BackButton работают.Реализована валидация initData.
В интерфейсе видны: Соглашение, Политика, юр.сведения, контакты поддержки.
Самоаудит контента/безопасности (нет запрещённого; корректная обработка ошибок/разрешений).
Акции/конкурсы — только после отдельного согласования (см. Правила).
FAQ (коротко)
Можно ли физлицу создать бота?
По текущей доке — нет: доступ только для верифицированных юрлиц РФ; ИП/самозанятые/физлица/нерезиденты сейчас не могут авторизоваться или зарегистрироваться.
Док: https://dev.max.ru/docs/maxbusiness/connection
Когда появляется токен?
После успешной модерации бота (статус «Готов к публикации»).
Док: https://dev.max.ru/docs/maxbusiness/connection
Где включать мини-приложение?
В кабинете организации: «Чат-бот и мини-приложение → Настроить → URL». Требуется https://
, ≤1024 символов, валидный URL.
Док: https://dev.max.ru/docs/webapps/introduction
Комментарии (26)
alexzen
28.09.2025 05:28При настоящей конкуренции и разработке на деньги инвесторов такой мессенджер бы закрыли еще до релиза
zababurin
28.09.2025 05:28А что в нем не так ? Я не вижу минусов. Или у вас синдром фатальной ошибки
petsernik
28.09.2025 05:28Буквально новость о том что не так, в другом мессенджере мне почему-то не нужно разрешение от высших мира сего, чтобы запустить своего бота, довольно удобно в другом их создавать, тестировать и выпускать прямо на платформе.
pol_pot
28.09.2025 05:28Кстати, о другом мессенджере. В телеге огромное количество юзерботов шастает, часто они охреневают настолько что тупо спамят в каналы и ничего им сделать нельзя, никакие жалобы не действуют.
Что мешает благородному дону сделать себе юзербота вместо обычного.
K0styan
28.09.2025 05:28Так с самого начала в качестве УТП продвигается его "национальность" в первую очередь. В рамки этого позиционирования фича отлично укладывается.
inkelyad
28.09.2025 05:28Если вспомнить, что его назначили "многофункциональным сервисом обмена информацией" из соответствующего закона, то не просто укладывается, а так, в общем, и должно быть.
Потому что
...осуществляется в том числе обмен информацией при взаимодействии с инфраструктурой, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме, а также с государственными информационными системами, не входящими в состав указанной инфраструктуры, иными информационными системами государственных органов, государственных унитарных предприятий, государственных учреждений.
Terakomari
28.09.2025 05:28Че бы им вк мессенджер не сделать гос. мессенджером, нет, надо было порваться на все деньги и начать разрабатывать с нуля, в будущем может просто вкинут его в вк как вкладку, как со сферумом
IgnatF
28.09.2025 05:28А мне понравился этот факт. Ботов и мини приложений там считай вообще не будет, значит этот момент не интересен. Вывод не будут давить на блокировку в телеграмме подобного. Иначе включили бы снова песню, про то что вон сколько людей в чат ботах телеграмм обманули.
pol_pot
28.09.2025 05:28Почему не будет, школьники делать не будут. А студия артемия лебедева будет клепать по 100500 типовых ботов для чайханы на зареченской, брадобреечной итп.
Sly_tom_cat
28.09.2025 05:28Тут еще сценарий прокси прорисовывается - ты такой весь правильно зарегистрированный и можешь, а есть не правильный и не зарегистрированный с баблом....
Viktor94
28.09.2025 05:28Хах, топят своё же детище на самом старте. Молодцы. СуперАпп где запустить своё мини приложение или бота может только юр.лицо РФ.
Гениально. Ну правильно, чем раньше закроются, тем меньше денег будет израсходованно вникуда.
kenoma
28.09.2025 05:28Ну вот, значит я свой умный дом через бота в МАХ не заведу. Лишились аудитории и возможности следить за мной.
funca
500×500=250 000. Пусть по 4 байта на цвет (32 бит). Это все равно меньше 1 MB, без какого-либо сжатия. Как 5 получить?
GDragon
Так там до или равно а не равно или больше.
ETO1XPEHb
Насколько можно понять из этого предложения, знак "меньше либо равно" указывает, что размер лого не должен превышать 5 МБ
pol_pot
Вопрос был как можно добраться до такого огромного лимита картинке размером 500 на 500.
Без анимации никак.
ETO1XPEHb
Хоть ты и не оп, задавая такие вопросы, ты признаёшься в непонимании работы форматов изображений. В реальности всё немного сложнее, чем расчёт размера .bmp-шки по формуле из учебника информатики.
pol_pot
А чем еще можно увеличить размер? Слоями и масками что ли.
elnihilis
Это же вроде ограничение на размер загружаемого файла. Речь о том, что при превышении получим 413 в ответ.
Вариант 1 — затолкать в качестве комментариев собрание произведений Льва Толстого (насколько знаю, количество COM в JPEG не ограничено)
Вариант 2 — rarjpg
m0xf
Такой размер может дать apng