Получение обновлений о событиях через Long Polling

Для корректной работы ваших чат-ботов и мини-приложений направляйте запросы на домен platform-api2.max.ru вместо platform-api.max.ru. Также убедитесь, что добавили сертификат Минцифры в список доверенных

GET/updates

Получение обновлений с помощью Long Polling ограничено по скорости и сроку хранения событий — этот способ не подходит для production-окружения. Рекомендуем на всех этапах работы использовать Webhook

Метод GET /updates можно использовать для получения обновлений при разработке и тестировании, если ваш бот не подписан на Webhook. Для production-окружения используйте только Webhook

Каждое обновление со списком событий имеет свой порядковый номер. Свойство marker в ответе указывает на следующее ожидаемое обновление. После того, как вы передали marker с указателем на конкретное обновление, все предыдущие считаются прочитанными

Если параметр marker не передан или передано значение null, вы получите только последнее обновление

Пример запроса:

BASH
curl -X GET "https://platform-api2.max.ru/updates" \
  -H "Authorization: {access_token}"

Авторизация

access_token
apiKey

Передача токена через query-параметры больше не поддерживается — используйте заголовок Authorization: <token>

Токен для вызова HTTP-запросов присваивается при создании бота — его можно найти на платформе в разделе Чат-боты. Выберите необходимого бота и нажмите ⋮ → Настройки → значок копирования справа от поля с токеном

Если вы верифицировали профиль и создали бота в мини-приложении «MAX для бизнеса», получить токен можно там же или в боте «MAX для бизнеса» с помощью команды Получить токен

Рекомендуем не разглашать токен посторонним, чтобы они не получили доступ к управлению ботом. Токен может быть отозван за нарушение Правил платформы

Параметры

limit
integer [1-1000]optional

По умолчанию: 100

Максимальное количество обновлений о событиях, которое может вернуться в ответе на запрос

timeout
integer [0-90]optional

По умолчанию: 30

Тайм-аут в секундах для долгого опроса

marker
integer <int64> Nullableoptional
Чтобы получить последнее обновление событий, передайте null или оставьте поле пустым. Чтобы получить все обновления по событиям с момента предыдущего запроса, передайте значение marker, которое получили в ответ на предыдущий запрос

types
string[] Nullableoptional
Список типов событий, которые вы хотите получать. Полный список возможных событий смотрите в описании объекта Update

Результат

updates
Update[]
Список обновлений о событиях в чатах и каналах, в которые добавлен бот. Обратите внимание, чтобы получать события из групповых чатов и каналов, бот должен быть администратором. Подробнее о возможных событиях — в описании объекта Update

update_type
string

timestamp
integer <int64>
Unix timestamp в миллисекундах, когда произошло событие

chat_id
integer <int64>
ID чата или канала, куда был добавлен бот. Как получить ID — в разделе «Получение chat_id»

user
object User
Пользователь, добавивший бота в чат

user_id
integer <int64>
Идентификатор пользователя или бота

first_name
string
Отображаемое имя пользователя или бота

last_name
string Nullableoptional
Отображаемая фамилия пользователя. Для ботов это поле не возвращается

username
string Nullable
Никнейм бота или уникальное публичное имя пользователя. В случае с пользователем может быть null, если тот недоступен или имя не задано

is_bot
boolean
true, если это бот

last_activity_time
integer <int64>
Время последней активности пользователя или бота в MAX (Unix timestamp в миллисекундах). Если пользователь отключил в настройках профиля мессенджера MAX возможность видеть, что он в сети онлайн, поле может не возвращаться

name
string Nullable
Устаревшее поле, скоро будет удалено

is_channel
boolean
Указывает, что бот добавлен в канал, а не в чат

marker
integer <int64> Nullable
Указатель на следующую страницу данных

Коды ответов

КодОписание
200Список обновлений событий с указателем на следующую страницу данных
401Ошибка авторизации. Токен access_token указан некорректно или недействителен
405Метод не разрешен
500Внутренняя ошибка сервера