События в сообществах
Событие представляет собой JSON, имеющий следующую структуру:
{
"type": <тип события>,
"object": <объект, инициировавший событие>,
"group_id": <ID сообщества, в котором произошло событие>
}
Например:
{
"type": "group_join",
"object": {
"user_id": 1,
"join_type": "approved"
},
"group_id": 1
}
Структура объекта в поле object
зависит от типа уведомления. Ниже перечислены все типы уведомлений и соответствующие им объекты, которые поддерживаются в Callback API и Bots Long Poll API.
Сообщения
Тип события:
- •
message_new
— входящее сообщение.
Формат поля object
:
- •
Для версий API ниже 5.103: Личное сообщение.
- •
Для версий API 5.103 и выше: объект, содержащий следующие поля:
- •
message
— личное сообщение; - •
client_info
— информация о функциях, доступных пользователю.
Тип события:
- •
message_reply
— новое исходящее сообщение; - •
message_edit
— редактирование сообщения.
Формат поля object
:
- •
Тип события:
- •
message_allow
— подписка на сообщения от сообщества.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя; - •
Тип события:
- •
message_deny
— новый запрет сообщений от сообщества.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя.
Тип события:
- •
message_typing_state
— статус набора текста.
Формат поля object
:
- •
state
(string
) — состояние статуса набора текста; - •
from_id
(integer
) — идентификатор пользователя, который набирает текст; - •
to_id
(integer
) — идентификатор сообщества, которому пользователь пишет сообщение.
Тип события:
- •
message_event
— действие с сообщением. Используется для работы с Callback-кнопками
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя; - •
peer_id
(integer
) — идентификатор диалога со стороны бота; - •
event_id
(string
) — случайная строка. Активна в течение минуты, спустя минуту становится недействительной; - •
payload
(string
) — дополнительная информация; - •
conversation_message_id
(integer
) — идентификатор сообщения в беседе.
Фотографии
Тип события:
- •
photo_new
— добавление фотографии
Формат поля object
:
- •
Тип события:
- •
photo_comment_new
— добавление комментария к фотографии; - •
photo_comment_edit
— редактирование комментария к фотографии; - •
photo_comment_restore
— восстановление комментария к фотографии.
Формат поля object
:
Объект комментария на стене с дополнительными полями:
- •
photo_id
(integer
) — идентификатор фотографии; - •
photo_owner_id
(integer
) — идентификатор владельца фотографии.
Аудиозаписи
Тип события:
- •
audio_new
— добавление аудио.
Формат поля object
:
- •
Видеозаписи
Тип события:
- •
video_new
— добавление видео.
Формат поля object
:
- •
Тип события:
- •
video_comment_new
— комментарий к видео; - •
video_comment_edit
— редактирование комментария к видео; - •
video_comment_restore
— восстановление комментария к видео.
Формат поля object
:
Объект комментария на стене с дополнительными полями:
- •
video_id
(integer
) — идентификатор видеозаписи; - •
video_owner_id
(integer
) — идентификатор владельца видеозаписи.
Тип события:
- •
video_comment_delete
— удаление комментария к видео
Формат поля object
:
- •
owner_id
(integer
) — идентификатор владельца видео; - •
id
(integer
) — идентификатор комментария; - •
user_id
(integer
) — идентификатор автора комментария; - •
deleter_id
(integer
) — идентификатор пользователя, который удалил комментарий; - •
video_id
(integer
) — идентификатор видео.
Записи на стене
Тип события:
- •
wall_post_new
— запись на стене; - •
wall_repost
— репост записи из сообщества.
Формат поля object
:
Объект записи на стене с дополнительными полями:
- •
postponed_id
(integer
) — идентификатор отложенной записи;
Для записей, размещённых от имени пользователя, from_id > 0
.
Комментарии на стене
Тип события:
- •
wall_reply_new
— добавление комментария на стене; - •
wall_reply_edit
— редактирование комментария на стене; - •
wall_reply_restore
— восстановление комментария на стене.
Формат поля object
:
Объект комментария на стене с дополнительными полями:
- •
post_id
(integer
) — идентификатор записи; - •
post_owner_id
(integer
) — идентификатор владельца записи.
Тип события:
- •
wall_reply_delete
— удаление комментария на стене.
Формат поля object
:
- •
owner_id
(integer
) — идентификатор владельца стены; - •
id
(integer
) — идентификатор комментария; - •
deleter_id
(integer
) — идентификатор пользователя, который удалил комментарий; - •
post_id
(integer
) — идентификатор записи, к которой был оставлен комментарий.
Отметки Мне нравится
Тип события:
- •
like_add
— событие о новой отметке Мне нравится.
Формат поля object
:
- •
liker_id
— идентификатор пользователя, который поставил отметку. - •
object_type
— тип материала. Возможные значения:- •
video
— видеозапись; - •
photo
— фотография; - •
comment
— комментарий; - •
note
— заметка; - •
topic_comment
— комментарий в обсуждении; - •
photo_comment
— комментарий к фотографии; - •
video_comment
— комментарий к видеозаписи; - •
market
— товар; - •
market_comment
— комментарий к товару.
- •
- •
object_owner_id
— идентификатор владельца материала. - •
object_id
— идентификатор материала. - •
thread_reply_id
— идентификатор родительского комментария или записи. - •
post_id
— идентификатор записи (возвращается для комментария, оставленного под записью).
Тип события:
- •
like_remove
— событие о снятии отметки Мне нравится.
Формат поля object
:
- •
liker_id
— идентификатор пользователя, который снял отметку. - •
object_type
— тип материала. Возможные значения:- •
video
— видеозапись; - •
photo
— фотография; - •
comment
— комментарий; - •
note
— заметка; - •
topic_comment
— комментарий в обсуждении; - •
photo_comment
— комментарий к фотографии; - •
video_comment
— комментарий к видеозаписи; - •
market
— товар; - •
market_comment
— комментарий к товару.
- •
- •
object_owner_id
— идентификатор владельца материала. - •
thread_reply_id
— идентификатор родительского комментария или записи. - •
post_id
— идентификатор записи (возвращается для комментария, оставленного под записью). - •
object_id
— идентификатор материала.
Обсуждения
Тип события:
- •
board_post_new
— создание комментария в обсуждении; - •
board_post_edit
— редактирование комментария; - •
board_post_restore
— восстановление комментария.
Формат поля object
:
Объект комментария в обсуждении с дополнительными полями:
- •
topic_id
(integer
) — идентификатор обсуждения; - •
topic_owner_id
(integer
) — идентификатор владельца обсуждения.
Тип события:
- •
board_post_delete
— удаление комментария в обсуждении.
Формат поля object
:
- •
topic_owner_id
(integer
) — идентификатор владельца обсуждения. - •
topic_id
(integer
) — идентификатор обсуждения. - •
id
(integer
) — идентификатор комментария.
Товары
Тип события:
- •
market_comment_new
— новый комментарий к товару; - •
market_comment_edit
— редактирование комментария к товару; - •
market_comment_restore
— восстановление комментария к товару.
Формат поля object
:
Объект комментария на стене с дополнительными полями:
- •
market_owner_id
(integer
) — идентификатор владельца товара. - •
item_id
(integer
) — идентификатор товара.
Тип события:
- •
market_comment_delete
— удаление комментария к товару.
Формат поля object
:
- •
owner_id
(integer
) — идентификатор владельца товара; - •
id
(integer
) — идентификатор комментария; - •
user_id
(integer
) — идентификатор автора комментария; - •
deleter_id
(integer
) — идентификатор пользователя, который удалил комментарий; - •
item_id
(integer
) — идентификатор товара.
Тип события:
- •
market_order_new
— новый заказ.
Для того, чтобы включить событие, в настройках сообщества необходимо включить расширенные товары.
Формат поля object
:
- •
Тип события:
- •
market_order_edit
— редактирование заказа.
Для того, чтобы включить событие, в настройках сообщества необходимо включить расширенные товары.
Формат поля object
:
- •
Пользователи
Тип события:
- •
group_leave
— удаление участника из сообщества.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя. - •
self
(integer
, [0
,1
]) — значение, указывающее, был пользователь удален или вышел самостоятельно.
Тип события:
- •
group_join
— добавление участника или заявки на вступление в сообщество.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя; - •
join_type
(string
) — указывает, как именно был добавлен участник.
Возможные значения:
* join
— пользователь вступил в группу или мероприятие (подписался на публичную страницу);
* unsure
— для мероприятий: пользователь выбрал вариант «Возможно, пойду»;
* accepted
— пользователь принял приглашение в группу или на мероприятие;
* approved
— заявка на вступление в группу/мероприятие была одобрена руководителем сообщества;
* request
— пользователь подал заявку на вступление в сообщество.
Тип события:
- •
user_block
— добавление пользователя в чёрный список.
Формат поля object
:
- •
admin_id
(integer
) — идентификатор администратора, который внёс пользователя в чёрный список; - •
user_id
(integer
) — идентификатор пользователя; - •
unblock_date
(integer
) — дата разблокировки; - •
reason
(integer
) — причина блокировки. Возможные значения:0
— другое (по умолчанию);1
— спам;2
— оскорбление участников;3
— нецензурные выражения;4
— сообщения не по теме; - •
comment
(string
) — комментарий администратора к блокировке.
Тип события:
- •
user_unblock
— удаление пользователя из чёрного списка.
Формат поля object
:
- •
admin_id
(integer
) — идентификатор администратора, который убрал пользователя из чёрного списка; - •
user_id
(integer
) — идентификатор пользователя; - •
by_end_date
(integer
) — дата разблокировки.
Прочее
Тип события:
- •poll_vote_new — добавление голоса в публичном опросе.
Формат поля object
:
- •owner_id (
integer
) — идентификатор владельца опроса; - •poll_id (
integer
) — идентификатор опроса; - •option_id (
integer
) — идентификатор варианта ответа; - •user_id (
integer
) — идентификатор пользователя;
Тип события:
- •
group_officers_edit
— редактирование списка руководителей.
Формат поля object
:
- •
admin_id
(integer
) — идентификатор руководителя, который внёс изменения; - •
user_id
(integer
) — идентификатор пользователя, чьи полномочия были изменены; - •
level_old
(integer
) — старый уровень полномочий; - •
level_new
(integer
) — новый уровень полномочий.
Поля level_old
и level_new
могут принимать значения:
- •
0
— нет полномочий; - •
1
— модератор; - •
2
— редактор; - •
3
— администратор.
Тип события:
- •
group_change_settings
— изменение настроек сообщества.
Формат поля object
:
- •
user_id
— идентификатор пользователя, который внёс изменения; - •
changes
— описание внесённых изменений. Объект, который содержит следующие поля:- •
{FIELD}
— название секции или раздела, который был изменён. - •
{FIELD}
может принимать значения:- •
title
— название; - •
description
— описание; - •
access
— тип группы; - •
screen_name
— короткий адрес; - •
public_category
— категория публичной страницы; - •
public_subcategory
— подкатегория публичной страницы; - •
age_limits
— возрастные ограничения; - •
website
— веб-сайт; - •
enable_{SECTION}
— изменение настроек доступа к разделу.{SECTION}
может принимать значения:status_default
,audio
,photo
,video
,market
.
- •
- •
old_value
— старое значение; - •
new_value
— новое значение.
- •
Тип события:
- •
group_change_photo
— изменение главного фото.
Формат поля object
:
- •
user_id
— идентификатор пользователя, который внёс изменения; - •
photo
— объект, описывающий фотографию.
Тип события:
- •
vkpay_transaction
— платёж через VK Pay.
Формат поля object
:
- •
from_id
— идентификатор пользователя-отправителя перевода; - •
amount
— сумма перевода в тысячных рубля; - •
description
— комментарий к переводу; - •
date
— время отправки перевода вUnixtime
.
Тип события:
- •
app_payload
— событие в VK Mini Apps.
Формат поля object:
- •
user_id
— идентификатор пользователя, по действию которого в приложении отправлено событие; - •
app_id
— идентификатор приложения, из которого было отправлено событие; - •
payload
— переданные полезные данные; - •
group_id
— идентификатор сообщества, в которое отправлено уведомление;
Платные подписки VK Donut
Тип события:
- •
donut_subscription_create
— создание подписки VK Donut.
Формат поля object
:
- •
amount
(integer
) — сумма в рублях; - •
amount_without_fee
(float
) — сумма без комиссии (в рублях); - •
user_id
(integer
) — идентификатор пользователя;
Тип события:
- •
donut_subscription_prolonged
— продление подписки.
Формат поля object
:
- •
amount
(integer
) — сумма в рублях; - •
amount_without_fee
(float
) — сумма без комиссии (в рублях); - •
user_id
(integer
) — идентификатор пользователя.
Тип события:
- •
donut_subscription_expired
— подписка истекла.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя.
Тип события:
- •
donut_subscription_cancelled
— отмена подписки.
Формат поля object
:
- •
user_id
(integer
) — идентификатор пользователя.
Тип события:
- •
donut_subscription_price_changed
— изменение стоимости подписки.
Формат поля object
:
- •
amount_old
(integer
) — старая цена в рублях; - •
amount_new
(integer
) — новая цена в рублях; - •
amount_diff
(float
) — сумма доплаты в рублях; - •
amount_diff_without_fee
(float
) — сумма доплаты без комиссии (в рублях); - •
user_id
(integer
) — идентификатор пользователя.
Тип события:
- •
donut_money_withdraw
— вывод денег.
Формат поля object
:
- •
amount
(float
) — сумма в рублях; - •
amount_without_fee
(float
) — сумма без комиссии (в рублях).
Тип события:
- •
donut_money_withdraw_error
— ошибка вывода денег.
Формат поля object
:
- •
reason
(string
) — причина ошибки.