API › Сообщества

Сообщества group

18 actions · URL: /api.php?act=<name> или /api/v1/group/<action>

group_list GET /api.php?act=group_list auth read

Список публичных/searchable сообществ. Опциональный поиск по названию/описанию. mine=1 — мои сообщества.

Параметры

имятипreqописание
q string нет поиск
mine int нет 1 — только где я approved member
start int нет
limit int нет

Ответ result

items
[{group_id, title, description, photo, member_count, is_member, …}]
total
int
rate-limit: 60 / 1 мин на user
group_get GET /api.php?act=group_get auth read

Карточка сообщества + недавние темы + статус членства. Full card включает settings (approval, privacy, discussion, comments, search, invite, upload).

Параметры

имятипreqописание
id int да group_id
topics_start int нет offset тем, по умолч. 0
topics_limit int нет по умолч. 10

Ответ result

approval
bool
privacy
int bitmask
discussion
int
comments
int
search
bool
invite
bool
upload
int (если колонка есть)
rate-limit: 120 / 1 мин на user
group_topics_list GET /api.php?act=group_topics_list auth read

Пагинированный список тем сообщества.

Параметры

имятипreqописание
id int да group_id
start int нет
limit int нет

Ответ result

items
[{grouptopic_id, grouptopic_subject, …}]
total
int
rate-limit: 60 / 1 мин на user
group_join POST /api.php?act=group_join auth write csrf

Вступить в сообщество (или отправить заявку, если нужен аппрув / принять инвайт).

Параметры

имятипreqописание
id int да group_id

Ответ result

joined
bool
pending
bool
rate-limit: 30 / 1 ч на user
group_leave POST /api.php?act=group_leave auth write csrf

Выйти из сообщества. Владелец не может выйти через API.

Параметры

имятипreqописание
id int да group_id

Ошибки

is_ownerВладелец не может выйти — удалите сообщество.
rate-limit: 30 / 1 ч на user
group_create POST /api.php?act=group_create auth write csrf

Создать сообщество (title, description, approval, privacy).

Параметры

имятипreqописание
title string да
description string нет
approval int нет 1 — заявки на вступление
privacy int нет bitmask; иначе max из level_group_privacy
rate-limit: 10 / 1 ч на user
group_edit POST /api.php?act=group_edit auth write csrf

Редактировать название/описание/настройки (owner/officer). Валидация level_group_* как на web.

Параметры

имятипreqописание
id int да group_id
title string нет
description string нет
approval int нет 0/1; при 0 — аппрув ожидающих
privacy int нет bitmask
discussion int нет bitmask
comments int нет bitmask
search int нет 0/1
invite int нет 0/1
upload int нет bitmask, если колонка есть
rate-limit: 30 / 1 ч на user
group_photo_upload POST /api.php?act=group_photo_upload auth write csrf

Загрузить фото сообщества (multipart field photo). Owner/officer.

Параметры

имятипreqописание
id int да group_id
photo file да multipart
rate-limit: 30 / 1 мин на user
group_photo_delete POST /api.php?act=group_photo_delete auth write csrf

Удалить фото сообщества. Owner/officer.

Параметры

имятипreqописание
id int да group_id
rate-limit: 30 / 1 мин на user
group_invite POST /api.php?act=group_invite auth write csrf

Пригласить друзей в сообщество (user_ids).

Параметры

имятипreqописание
id int да group_id
user_ids string|array да
rate-limit: 30 / 1 ч на user
group_members GET /api.php?act=group_members auth read

Участники сообщества; для офицеров — pending заявки.

Параметры

имятипreqописание
id int да group_id
start int нет
limit int нет
rate-limit: 120 / 1 мин на user
group_member_approve POST /api.php?act=group_member_approve auth write csrf

Одобрить заявку на вступление (officer/owner).

Параметры

имятипreqописание
id int да group_id
user_id int нет или groupmember_id
groupmember_id int нет
rate-limit: 60 / 1 мин на user
group_member_reject POST /api.php?act=group_member_reject auth write csrf

Отклонить заявку на вступление (officer/owner).

Параметры

имятипreqописание
id int да group_id
user_id int нет или groupmember_id
groupmember_id int нет
rate-limit: 60 / 1 мин на user
group_member_remove POST /api.php?act=group_member_remove auth write csrf

Исключить участника (officer: только rank 0; owner: не владельца).

Параметры

имятипreqописание
id int да group_id
user_id int нет или groupmember_id
groupmember_id int нет

Ответ result

removed
bool
user_id
int
rate-limit: 60 / 1 мин на user
group_member_set_rank POST /api.php?act=group_member_set_rank auth write csrf

Сменить ранг участника 0/1/2 (только owner). Ранг 2 передаёт владение.

Параметры

имятипreqописание
id int да group_id
user_id int нет или groupmember_id
groupmember_id int нет
rank int да 0=member, 1=officer, 2=owner

Ответ result

ok
bool
user_id
int
rank
int
rate-limit: 60 / 1 мин на user
group_blacklist_list GET /api.php?act=group_blacklist_list auth read

Чёрный список сообщества. Офицер/владелец.

Параметры

имятипreqописание
id int да group_id

Ответ result

items
[{id, username, name, photo}]
total
int
rate-limit: 120 / 1 мин на user
group_blacklist_add POST /api.php?act=group_blacklist_add auth write csrf

Добавить пользователя в ЧС сообщества (снимает членство). Офицер/владелец.

Параметры

имятипreqописание
id int да group_id
user_id int да
rate-limit: 30 / 1 ч на user
group_blacklist_remove POST /api.php?act=group_blacklist_remove auth write csrf

Убрать пользователя из ЧС сообщества. Офицер/владелец.

Параметры

имятипreqописание
id int да group_id
user_id int да
rate-limit: 30 / 1 ч на user