Актуальность: 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/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 для бизнеса (лучше с корпоративной почтой, пока что не работает для обычных пользователей, дальнейшие шаги можно повторить написав на официальную почту max: partner@max.ru): 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


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

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

  • Бот создан из профиля организации либо доступ предоставлен через официальную почту 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