СВОДКА ИЗМЕНЕНИЯ
MAX- Платформа
- MAX
- Источник
- MAX API Documentation
- Тип источника
- Официальный
- Доверие
- высокий
- Уверенность
- 95%
- В источнике
- дата в источнике не указана
- Найдено
- 29 июня 2026, 18:16
- Важность
- СРЕДНЯЯ
API MAX: переход на platform-api2.max.ru, авторизация и изменения для ботов
Документация API MAX требует до 19 июля 2026 перенаправить запросы на `platform-api2.max.ru`, использовать `Authorization: <token>` вместо токена в query-параметрах и заменить устаревший `GET /chats` на `POST /subscriptions`. Также уточнены требования к Webhook, ограничения Long Polling, правила получения `chat_id`, работа с `inline_keyboard`, `request_contact`, форматированием сообщений и медиафайлами.
ФРАГМЕНТ ИЗ ИСТОЧНИКА
Обзор Для корректной работы ваших чатботов и миниприложений до 19 июля 2026 необходимо перенаправить HTTPзапросы с домена platformapi.max.ru на platformapi2.max.ru , а также добавить сертификат Минцифры в список доверен...
ЧТО ИЗМЕНИЛОСЬ
Коротко
Документация API MAX обновлена важными требованиями для разработчиков чатботов и миниприложений. Главное: до 19 июля 2026 нужно перенаправить HTTPзапросы с platformapi.max.ru на platformapi2.max.ru, добавить сертификат Минцифры в список доверенных и перестать передавать токен через queryпараметры — вместо этого используйте заголовок Authorization: .
Источник: документация API MAX.
Что нужно изменить в интеграциях
1. Перейти на новый домен API
Для корректной работы чатботов и миниприложений MAX документация требует до 19 июля 2026 перенаправить HTTPзапросы:
с platformapi.max.ru;
на platformapi2.max.ru.
Также необходимо добавить сертификат Минцифры в список доверенных.
Примеры запросов к новому домену из документации:
```text
GET https://platformapi2.max.ru/messages/{messageId}
POST https://platformapi2.max.ru/messages
PATCH https://platformapi2.max.ru/chats/{chatId}
```
2. Передавать токен через заголовок
Передача токена через queryпараметры больше не поддерживается. Используйте заголовок:
Authorization:
Это изменение важно проверить во всех клиентах, SDKобёртках, cronзадачах и внутренних сервисах, которые обращаются к API MAX.
3. Заменить устаревший GET /chats
Документация указывает, что начиная с июня 2026 метод GET /chats больше не поддерживается.
Для получения списка всех групповых чатов и каналов, в которые добавлен бот, нужно использовать:
POST /subscriptions
Безопасность Webhook и Long Polling
С 25 мая 2026 прекращается поддержка получения вебхуков по HTTP и самоподписных сертификатов. Для Webhook нужно использовать HTTPS и сертификаты, выданные доверенным центром сертификации, включая сертификаты Минцифры.
Для обновления подписки на события используется:
Документация также уточняет режимы получения обновлений:
для productionокружения — только Webhook;
для разработки и тестирования — Webhook или Long Polling;
одновременно использовать Webhook и Long Polling нельзя.
Long Polling через GET /updates ограничен по скорости и сроку хранения событий, поэтому не подходит для productionокружения.
Для стабильной работы ботов нужно учитывать ограничение: максимальное количество запросов на platformapi2.max.ru — 30 rps.
Как получать chatid
Способ получения chatid зависит от типа объекта:
| Тип объекта | Как получить chatid |
|||
| Чат | Через подписку: POST /subscriptions или GET /updates. chatid приходит в объекте Update на события, например botadded или botstarted. |
| Канал | Через подписку или синхронно через GET /chats/{link}. |
| Миниприложение | Через подписку или на клиенте через window.WebApp.initData библиотеки MAX Bridge. |
Клавиатуры: лимиты и типы кнопок
В MAX можно подключить inlinekeyboard для чатбота. Документация описывает такие ограничения:
до 210 кнопок под сообщением;
до 30 рядов;
до 7 кнопок в каждом ряду;
до 3 кнопок в ряду, если это кнопки типа link, openapp, requestgeolocation или requestcontact;
для кнопки link максимальный размер ссылки — 2048 символов.
Поддерживаемые типы кнопок:
callback — сервер MAX отправляет событие messagecallback, если бот подписан на обновления через Webhook или Long Polling;
link — открывает ссылку в новой вкладке;
requestcontact — запрашивает контакт и номер телефона пользователя;
requestgeolocation — запрашивает местоположение пользователя;
openapp — открывает миниприложение;
message — отправляет боту текстовое сообщение;
clipboard — копирует текст из свойства payload в буфер обмена.
Чтобы добавить кнопки, нужно отправить сообщение методом:
POST /messages
В теле запроса передаётся объект attachments с типом inlinekeyboard и массивом кнопок payload.buttons. Для каждой кнопки обязателен параметр text.
Пример кнопки link из документации:
```json
{
"text": "Это сообщение с кнопкойссылкой",
"attachments": [
"type": "inlinekeyboard",
"payload": {
"buttons": [
[
"type": "link",
"text": "Откройте сайт",
"url": "https://example.com"
}
]
requestcontact: проверка номера пользователя
Кнопка requestcontact позволяет пользователю отправить чатботу контакт и номер телефона, привязанный к аккаунту в МАКС.
Сообщение с контактом содержит поле hash. По документации оно позволяет проверить, что пользователь поделился номером телефона, совпадающим с его номером в МАКС.
Для проверки сравниваются:
значение поля hash из attachments.payload;
значение функции HMACSHA256(accesstoken, vcfinfo).
Где:
accesstoken — токен чатбота;
vcfinfo — информация о контакте в формате vCard.
Важно: перед хешированием символы \r\n в поле vcfinfo нужно преобразовать в реальные переносы строк.
Если пользователь отправит номер другим способом — например, через интерфейс МАКС или пересылкой из телефонной книги, — сообщение не будет содержать hash, и подтвердить принадлежность номера пользователю не получится.
Форматирование сообщений: Markdown и HTML
API MAX поддерживает базовое форматирование текста сообщений через Markdown или HTML.
Чтобы включить Markdownразбор, нужно установить свойство format в NewMessageBody на значение:
markdown
Чтобы включить HTMLразбор:
html
Документация приводит поддержку курсива, жирного текста, зачёркивания, подчёркивания, моноширинного текста, ссылок, упоминаний пользователя, выделения, заголовков и цитат.
Медиафайлы и вложения
Для отправки сообщений в чаты и каналы используется:
Вложения передаются в объекте attachments. Возможные типы type:
image — изображения;
video — видеофайлы;
audio — аудиофайлы;
file — другие медиафайлы;
sticker — стикеры;
inlinekeyboard — кнопки клавиатуры;
location — геолокация;
share — медиафайлы с превью.
Параметр type=photo больше не поддерживается. Если он использовался раньше, его нужно заменить на type=image.
Ограничения по медиа
Из документации:
image: JPG, JPEG, PNG, GIF, TIFF, BMP, HEIC; до 50 МБ и не более 7680 x 7680 px — должны выполняться оба критерия;
video: MP4, MOV, MKV, WEBM; до 250 МБ;
audio: MP3, WAV, M4A и другие; до 256 МБ и не более 60 минут — должны выполняться оба критерия;
file: до 4 ГБ; TXT, DOC, PDF и другие распространённые форматы.
Перед отправкой медиафайлов image, video, audio, file, share их нужно предварительно загрузить через:
POST /uploads
В результате загрузки возвращается token, который используется для отправки вложения в сообщении. Одному токену должен соответствовать один медиафайл.
Для изображений вместо токена можно использовать url — прямую ссылку на изображение в интернете. Для других медиафайлов такой способ недоступен.
Чеклист для разработчиков MAX
[ ] Заменить platformapi.max.ru на platformapi2.max.ru до 19 июля 2026.
[ ] Добавить сертификат Минцифры в доверенные.
[ ] Убрать передачу токена через queryпараметры.
[ ] Использовать Authorization: .
[ ] Заменить GET /chats на POST /subscriptions, если нужен список групповых чатов и каналов с ботом.
[ ] Проверить Webhook: HTTPS и сертификат доверенного центра.
[ ] Не использовать Long Polling для production.
[ ] Учитывать лимит 30 rps для platformapi2.max.ru.
[ ] Заменить type=photo на type=image.
[ ] Загружать медиа через POST /uploads, если это требуется для типа вложения.
ПОЧЕМУ ВАЖНО
Полезно: изменение помогает вовремя заметить новую возможность, правило или поведение сервиса.
Риск: если изменение влияет на API, интерфейс или правила платформы, сервисам может понадобиться проверка совместимости.
ЧТО ДЕЛАТЬ
- Проверьте совместимость интеграции с новым поведением или контрактом.
- Обновите типы, SDK-обертки или внутренние runbook'и, если изменение затрагивает ваш сценарий.
- Запустите регрессионные тесты на затронутых API, webhook или auth-сценариях.
ПОДТВЕРЖДЕНИЕ ИЗ ИСТОЧНИКА
Источник: MAX API Documentation.
Официальный источник ↗