Назад к блогу
Разработка
2025-09-23
5 мин.

MAX изменил правила: публиковать ботов и мини-приложения можно только через верифицированные юрлица РФ

MAX официально перевёл публикацию ботов и мини-приложений в бизнес-режим

Павел

MAX изменил правила: публиковать ботов и мини-приложения можно только через верифицированные юрлица РФ

С августа MAX официально перевёл публикацию ботов и мини-приложений в бизнес-режим: подключаться к платформе, создавать и выводить в прод можно только через верифицированные организации — юрлица РФ. ИП, самозанятые, физлица и нерезиденты сейчас не допускаются. Параллельно API переехал на platform-api.max.ru, а токен теперь передаётся исключительно в заголовке Authorization. В статье — что именно поменялось, как пройти модерацию и не завалиться на комплаенсе.

Что именно изменилось: официальные формулировки

  • Доступ только для юрлиц РФ. «Подключение к платформе MAX для бизнеса, создание и настройка чат-ботов и мини-приложений пока доступны для ограниченного списка юридических лиц… организация должна быть зарегистрирована в РФ… ИП, самозанятые, физические лица и нерезиденты пока не могут авторизоваться или зарегистрироваться». Док: https://dev.max.ru/docs/maxbusiness/connection

  • Создать бота можно только из верифицированной организации. «Вы можете создать чат-бот, только если у вас есть верифицированный профиль организации, созданный для юридического лица, зарегистрированного в РФ». Док: https://dev.max.ru/docs/maxbusiness/connection

  • API: миграция и правила авторизации. «Передача токена через 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/ruleshttps://dev.max.ru/docs/legal/requirements


Онбординг: как теперь запустить бота (пошагово)

  1. Вход в MAX для бизнеса (лучше с корпоративной почтой): https://dev.max.ru/docs/maxbusiness/connection

  2. Профиль организации (юрлицо РФ) и верификация. Если профиля нет — вводите ИНН или пишите на business_support@max.ru. Верификацию может пройти руководитель или представитель с правом первой/единственной подписи. Срок — до 48 часов по рабочим дням. Док: https://dev.max.ru/docs/maxbusiness/connection

  3. Создание чат-бота в верифицированной организации → заполнение карточки → модерация. После одобрения бот появляется в поиске MAX, а платформа генерирует токен. Док: https://dev.max.ru/docs/maxbusiness/connection

  4. Подключение мини-приложения (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)

Примеры кода (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)

Алгоритм (из доков):

  1. URL-decode исходной строки;

  2. собрать пары {key}={value} (кроме hash), отсортировать по ключам, склеить \n;

  3. secret = HMAC_SHA256("WebAppData" + BotToken);

  4. 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 символов / нет суффикса

bot/_bot

/ начинается не со строчной

Переименуйте до отправки: 11–60 символов,

…bot

или

…_bot

, допустимы латиница/цифры/

_

В названии эмодзи

Уберите эмодзи, оставьте 1–59 символов (латиница/кириллица/цифры)

Нет сайта или не

https://

Добавьте валидный

https://…

сайт организации

Нет юридических страниц в интерфейсе

Вынесите «Соглашение», «Политику», реквизиты и контакты в видимое место

Токен передаётся в query / используется

botapi.max.ru

Перейдите на заголовок

Authorization

и

platform-api.max.ru

В мини-приложении нет валидации

initData

Реализуйте HMAC-валидацию по докам

Источники требований к карточке/модерации: https://dev.max.ru/docs/maxbusiness/connection API-часть: https://dev.max.ru/docs/chatbots/bots-coding/preparehttps://dev.max.ru/docs-api


Чек-лист перед модерацией

  • Профиль организации создан и верифицирован (юрлицо РФ).

  • Бот создан из профиля организации; карточка заполнена по требованиям.

  • 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