API мессенджера MAX: возможности для разработчиков
Обзор публичного API MAX — что умеют боты, как создать собственного бота и какие интеграции доступны.
Содержание
- Введение в API MAX
- Основные возможности API
- API для создания ботов
- Регистрация бота
- Отправка сообщений
- Обработка входящих сообщений
- Интеграция с внешними сервисами
- Создание приложения
- Процесс авторизации
- Работа с чатами и пользователями
- Расширенные возможности: клавиатуры и шаблоны
- Inline клавиатура
- Лимиты и ограничения
- Примеры использования
- Чат-бот поддержки
- Уведомления из внешних систем
- Автоматизация задач
- Заключение
- Часто задаваемые вопросы
Введение в API MAX
Мессенджер MAX (ранее VK Макс) предоставляет мощный API, который позволяет разработчикам создавать ботов, интегрировать внешние сервисы и автоматизировать бизнес-процессы. API MAX построен на принципах RESTful и использует JSON для обмена данными, что делает его удобным для интеграции с любыми языками программирования. В этой статье мы подробно разберём все возможности API, от простых ботов до сложных корпоративных решений.
Основные возможности API
API MAX включает в себя несколько ключевых направлений:
- Отправка и получение сообщений (текст, изображения, файлы, аудио, видео)
- Управление чатами (создание, настройка, удаление)
- Работа с пользователями (профиль, подписки, блокировки)
- Webhook и long polling для получения событий в реальном времени
- Интеграция с внешними сервисами через OAuth 2.0
Каждый из этих пунктов мы рассмотрим подробнее.
API для создания ботов
Боты в MAX — это автоматизированные аккаунты, которые могут отвечать на сообщения, выполнять команды и взаимодействовать с пользователями. Для создания бота необходимо зарегистрировать его в разделе «Управление ботами» в настройках аккаунта MAX. После регистрации вы получите токен доступа, который нужно использовать во всех запросах к API.
Регистрация бота
Перейдите в меню «Настройки» → «Боты» и нажмите «Создать бота». Задайте имя, аватар и описание. После создания скопируйте токен — он понадобится для авторизации.
Отправка сообщений
Для отправки сообщения используйте метод messages.send. Пример запроса на Python:
import requests
url = "https://api.max.ru/v1/messages.send"
headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
}
data = {
"chat_id": "123456",
"text": "Привет, мир!"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())В ответ вы получите ID отправленного сообщения.
Обработка входящих сообщений
Для получения сообщений можно использовать два подхода: webhook и long polling. Webhook — это URL, на который MAX будет отправлять POST-запросы при каждом новом событии. Long polling — это метод, при котором вы периодически опрашиваете сервер на наличие новых событий.
Настройка webhook выполняется в разделе «Боты» → «Настройки webhook». Укажите URL вашего сервера, который должен обрабатывать POST-запросы. Пример обработчика на Node.js:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhook', (req, res) => {
const event = req.body;
if (event.type === 'message_new') {
console.log('Новое сообщение:', event.object.text);
// Отправляем ответ
}
res.send('OK');
});
app.listen(3000, () => console.log('Webhook server running on port 3000'));Интеграция с внешними сервисами
API MAX позволяет подключать внешние сервисы через OAuth 2.0. Это даёт возможность, например, интегрировать CRM, системы аналитики или платежные шлюзы. Для этого нужно зарегистрировать приложение в разделе «Разработчикам» → «Мои приложения».
Создание приложения
Войдите в аккаунт MAX, перейдите в «Настройки» → «Разработчикам» → «Мои приложения» и нажмите «Создать приложение». Укажите название, описание и redirect URI — URL, на который будет перенаправлен пользователь после авторизации. После создания вы получите client_id и client_secret.
Процесс авторизации
Пользователь переходит по ссылке вида:
https://api.max.ru/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&scope=messages,usersПосле подтверждения пользователь будет перенаправлен на ваш redirect URI с параметром code. Затем ваш сервер обменивает этот код на токен доступа:
POST https://api.max.ru/oauth/token
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&code=CODE&redirect_uri=YOUR_REDIRECT_URI&grant_type=authorization_codeВ ответ вы получите access_token и refresh_token. Токен доступа действует ограниченное время, после чего его нужно обновить с помощью refresh_token.
Работа с чатами и пользователями
API MAX предоставляет методы для управления чатами: создание, добавление/удаление участников, изменение названия и аватара. Например, чтобы создать новый чат:
POST https://api.max.ru/v1/chats.create
{
"title": "Новый чат",
"users": ["user_id_1", "user_id_2"]
}Для получения информации о пользователе используйте users.get с указанием user_id.
Расширенные возможности: клавиатуры и шаблоны
API MAX поддерживает интерактивные клавиатуры (inline и reply), которые позволяют создавать кнопки с действиями. Также доступны шаблоны сообщений (carousel, list) для более богатого отображения контента.
Inline клавиатура
Пример отправки сообщения с кнопками:
{
"chat_id": "123",
"text": "Выберите действие:",
"inline_keyboard": [
[
{"text": "Кнопка 1", "callback_data": "btn1"},
{"text": "Кнопка 2", "callback_data": "btn2"}
]
]
}При нажатии на кнопку MAX отправит webhook с callback_data.
Лимиты и ограничения
API MAX имеет следующие лимиты:
- Не более 20 запросов в секунду на один токен
- Максимальная длина сообщения — 4096 символов
- Размер загружаемого файла — до 50 МБ
При превышении лимитов API возвращает ошибку 429 Too Many Requests. Рекомендуется реализовать повторные попытки с экспоненциальной задержкой.
max-api, которая автоматически обрабатывает ошибки и лимиты.Примеры использования
Чат-бот поддержки
Создайте бота, который отвечает на часто задаваемые вопросы. Интегрируйте его с базой знаний или CRM для передачи сложных запросов операторам.
Уведомления из внешних систем
Настройте webhook от вашего сервиса (например, мониторинга) для отправки уведомлений в чат MAX. Используйте API для отправки сообщений с форматированием.
Автоматизация задач
Создайте бота, который по команде пользователя создаёт задачу в Trello, отправляет письмо или запускает CI/CD пайплайн.
Заключение
API мессенджера MAX предоставляет широкие возможности для разработчиков: от простых ботов до сложных интеграций с корпоративными системами. Благодаря понятной документации и примером кода, начать работу можно за несколько минут. Экспериментируйте, создавайте полезные решения и делитесь ими с сообществом!
Часто задаваемые вопросы
Как получить токен для бота?
Перейдите в «Настройки» → «Боты» → «Создать бота», скопируйте токен после создания.
Можно ли использовать API для отправки файлов?
Да, используйте метод messages.send с параметром file или загрузите файл через files.upload и затем отправьте его.
Как настроить webhook?
В разделе «Боты» → «Настройки webhook» укажите URL вашего сервера. Сервер должен быть доступен по HTTPS.
Какие языки программирования поддерживаются?
API не зависит от языка, вы можете использовать любой язык, поддерживающий HTTP-запросы. Есть готовые библиотеки для Python, JavaScript, PHP и других.
Есть ли ограничения на количество ботов?
Нет, вы можете создавать неограниченное количество ботов, но каждый должен иметь уникальный токен.