API мессенджера MAX: возможности для разработчиков
разработка ✍ МАКСОТЕКА

API мессенджера MAX: возможности для разработчиков

Обзор публичного API MAX — что умеют боты, как создать собственного бота и какие интеграции доступны.

Введение в 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'));
Важно: Убедитесь, что ваш сервер доступен из интернета и использует HTTPS. MAX не отправляет запросы на незащищённые URL.

Интеграция с внешними сервисами

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. Рекомендуется реализовать повторные попытки с экспоненциальной задержкой.

Совет: Используйте библиотеки-обёртки для вашего языка, чтобы упростить работу с API. Например, для Python есть библиотека 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 и других.

Есть ли ограничения на количество ботов?

Нет, вы можете создавать неограниченное количество ботов, но каждый должен иметь уникальный токен.

Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.