События в сообществах

Событие представляет собой JSON, имеющий следующую структуру:

JSON{ "type": <тип события>, "object": <объект, инициировавший событие>, "group_id": <ID сообщества, в котором произошло событие> }

Например:

JSON{ "type": "group_join", "object": { "user_id": 1, "join_type": "approved" }, "group_id": 1 }

Структура объекта в поле object зависит от типа уведомления. Ниже перечислены все типы уведомлений и соответствующие им объекты, которые поддерживаются в Callback API и Bots Long Poll API.

Сообщения

Тип события:

  • message_new — входящее сообщение.

Формат поля object:

Тип события:

  • message_reply — новое исходящее сообщение;
  • message_edit — редактирование сообщения.

Формат поля object:

Тип события:

  • message_allow — подписка на сообщения от сообщества.

Формат поля object:

  • user_id (integer) — идентификатор пользователя;
  • key (string) — параметр, переданный в методе messages.allowMessagesFromGroup.

Тип события:

  • 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) — причина ошибки.