Получение всех комментариев к посту

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

GET/messages/{messageId}/comments

Возвращает все комментарии к посту в канале по его ID: страницу результата и маркер на следующую страницу. Вы можете отфильтровать комментарии: указать промежуток времени, за который хотите их получить, и/или запросить N последних

Для получения комментариев к посту бот, чей токен access_token используется для авторизации, должен быть администратором этого канала с правом read_all_messages

Чтобы получить информацию о правах бота, используйте GET /chats/-chatId-/members/admins. Подробнее о правах — в описании POST /chats/{chatId}/members/admins

Пример запроса с фильтрацией по времени и количеству последних комментариев за этот промежуток:

BASH
curl -X GET "https://platform-api2.max.ru/messages/{messageId}/comments?after={after}&before={before}&count={count}" \
  -H "Authorization: {access_token}"

Пример запроса конкретных комментариев к посту по их ID:

BASH
curl -X GET "https://platform-api2.max.ru/messages/{messageId}/comment_ids={comment_ids1},{comment_ids2},{comment_ids3}" \
  -H "Authorization: {access_token}"

Авторизация

access_token
apiKey

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

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

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

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

Параметры

messageId
string(mid.)?[a-zA-Z0-9_\-]+
Идентификатор поста (mid), к которому относится комментарий

comment_ids
string Nullableoptional

Список идентификаторов комментариев, которые вы хотите получить, — укажите через запятую

Если параметр указан, возвращаются только запрошенные комментарии: пагинация игнорируется

before
integer <int64>optional

Время, до которого будут запрошены все комментарии с начала чата (в формате Unix timestamp в миллисекундах)

Минимум: 0

after
integer <int64>optional

Время, начиная с которого будут запрошены все комментарии до конца чата (в формате Unix timestamp в миллисекундах)

Минимум: 0

count
integer [1-100]optional

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

Количество комментариев, которое вы хотите получить в ответе: от 1 до 100

Результат

messages
CommentMessage[]
Список комментариев к посту в канале

sender
object Useroptional
Пользователь, отправивший комментарий. Может быть null, если сообщение было опубликовано от имени канала

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
Устаревшее поле, скоро будет удалено

recipient
object Recipient
Получатель сообщения: для комментариев — канал

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

chat_type
enum ChatType

Возможные значения в enum: "chat" "channel" "dialog"

Тип чата:

  • chat — групповой чат
  • channel — канал или комментарий к посту (для вызовов методов группы /comments)
  • dialog — диалог

user_id
integer <int64> Nullable
ID получателя сообщения в диалоге (пользователя или бота). Если сообщение отправлено в групповой чат или канал, то параметр отсутствует

post_id
string Nullable
Идентификатор поста в канале, к которому оставлен комментарий

timestamp
integer <int64>
Время создания сообщения в формате Unix timestamp в миллисекундах

link
object CommentLinkedMessage Nullableoptional
Комментарий, на который получен ответ

type
enum MessageLinkType

Возможные значения в enum: "forward" "reply"

Тип связанного сообщения:

  • "reply" — ответ на сообщение или комментарий в чате или канале
  • "forward" — пересланное сообщение в чате или канале

Для комментариев поддерживается только тип reply

sender
object Useroptional
Пользователь или бот, отправивший комментарий

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
Устаревшее поле, скоро будет удалено

chat_id
integer <int64>optional
Чат или канал, в котором сообщение было изначально опубликовано. Только для пересланных сообщений с type = forward. Как получить ID — в разделе «Получение chat_id»

message
object CommentMessageBody
Информация о комментарии

mid
string MessageId
Уникальный ID комментария

seq
integer <int64>
Порядковый номер расположения комментария в посте

text
string Nullable
Текст комментария

markup
MarkupElement[] Nullableoptional

Разметка текста комментария. Подробнее — в разделе Форматирование

Обратите внимание: в тексте комментариев не поддерживаются гиперссылки и упоминание пользователя

type
string

Тип элемента разметки. Может быть жирный, курсив, ~зачеркнутый~, подчеркнутый, моноширинный, выделенный, цитата, заголовок, ссылка или упоминание пользователя

Обратите внимание: в тексте комментариев не поддерживаются гиперссылки и упоминание пользователей

from
integer <int32>
Индекс начала элемента разметки в тексте. Нумерация с нуля

length
integer <int32>
Длина элемента разметки в символах

body
object CommentMessageBody
Информация о комментарии

mid
string MessageId
Уникальный ID комментария

seq
integer <int64>
Порядковый номер расположения комментария в посте

text
string Nullable
Текст комментария

markup
MarkupElement[] Nullableoptional

Разметка текста комментария. Подробнее — в разделе Форматирование

Обратите внимание: в тексте комментариев не поддерживаются гиперссылки и упоминание пользователя

type
string

Тип элемента разметки. Может быть жирный, курсив, ~зачеркнутый~, подчеркнутый, моноширинный, выделенный, цитата, заголовок, ссылка или упоминание пользователя

Обратите внимание: в тексте комментариев не поддерживаются гиперссылки и упоминание пользователей

from
integer <int32>
Индекс начала элемента разметки в тексте. Нумерация с нуля

length
integer <int32>
Длина элемента разметки в символах

Коды ответов

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