Перейти к основному содержимому
Версия: 2026.2.4

Друзья

Раздел «Друзья» — заявки в друзья, список друзей, статус дружбы с конкретным пользователем и блокировка пользователей. У ботов аналога этого раздела нет — дружба существует только между обычными пользователями.

Все запросы этого раздела требуют заголовок Authorization: Bearer <accessToken>.

Объекты​

FriendshipStatus​

ЗначениеОписание
UNKNOWNСтороны никак не связаны.
PENDING_OUTGOINGТекущий пользователь отправил заявку и ждёт ответа.
PENDING_INCOMINGТекущему пользователю пришла заявка, ожидающая ответа.
ACCEPTEDЗаявка принята — стороны друзья.
DECLINEDЗаявка отклонена получателем.
CANCELLEDЗаявка отозвана отправителем до ответа.
REMOVEDДружба разорвана одной из сторон после ACCEPTED.
BLOCKEDОдин из пользователей заблокировал другого.

Friend​

ПолеТипОписание
idstringИдентификатор записи о дружбе.
otherUserIdstringId друга.
otherUsernamestringUsername друга.
otherDisplayNamestringОтображаемое имя друга.
otherAvatarUrlstringURL аватара друга.
statusFriendshipStatusТекущий статус — для списка друзей всегда ACCEPTED.
confirmedAtstringКогда заявка была принята (ISO8601).

FriendRequest​

ПолеТипОписание
idstringИдентификатор заявки.
otherUserIdstringId второй стороны заявки.
otherUsernamestringUsername второй стороны.
otherDisplayNamestringОтображаемое имя второй стороны.
otherAvatarUrlstringURL аватара второй стороны.
statusFriendshipStatusСтатус заявки (PENDING_OUTGOING или PENDING_INCOMING в зависимости от эндпоинта).
messagestringСопроводительное сообщение, приложенное к заявке.
createdAtstringКогда заявка отправлена (ISO8601).

Объект ошибки​

При любой ошибке вместо 200 OK возвращается default-ответ:

ПолеТипОписание
codeintegerЧисловой код ошибки (google.rpc.Code).
messagestringЧеловекочитаемое описание ошибки.
detailsarrayДополнительные структурированные детали ошибки (google.protobuf.Any); в большинстве случаев пуст.

Заявки в друзья​

Отправить заявку​

POST/v1/friends/requests

Отправляет заявку в друзья пользователю по его username.

Тело запроса​

ПолеТипОписание
usernamestringUsername пользователя, которому отправляется заявка.
message?stringНеобязательное сопроводительное сообщение.

Ответ 200 OK​

Объект FriendRequest со статусом PENDING_OUTGOING.

Ответ default (ошибка)​

Стандартный объект ошибки — например, если пользователь с таким username не найден, заявка уже отправлена, стороны уже друзья, или получатель заблокировал отправителя.

Принять заявку​

POST/v1/friends/requests/{friendId}:accept

Принимает входящую заявку в друзья.

Параметры пути​

ПолеТипОписание
friendIdstringId пользователя, чью заявку нужно принять.

Ответ 200 OK​

Объект Friend со статусом ACCEPTED.

Ответ default (ошибка)​

Стандартный объект ошибки.

Отклонить заявку​

POST/v1/friends/requests/{friendId}:decline

Отклоняет входящую заявку в друзья.

Параметры пути​

ПолеТипОписание
friendIdstringId пользователя, чью заявку нужно отклонить.

Ответ 200 OK​

Пустой объект {}.

Ответ default (ошибка)​

Стандартный объект ошибки.

Отозвать заявку​

POST/v1/friends/requests/{friendId}:cancel

Отзывает ранее отправленную исходящую заявку.

Параметры пути​

ПолеТипОписание
friendIdstringId пользователя, которому была отправлена заявка.

Ответ 200 OK​

Пустой объект {}.

Ответ default (ошибка)​

Стандартный объект ошибки.

Список входящих заявок​

GET/v1/friends/requests/incoming

Query-параметры​

ПолеТипОписание
limit?integerСколько заявок вернуть за один запрос.
beforeId?stringId заявки для пагинации «назад по списку».

Ответ 200 OK​

ПолеТипОписание
requestsarrayСписок FriendRequest со статусом PENDING_INCOMING.
hasMorebooleanЕсть ли ещё заявки для следующей страницы.

Ответ default (ошибка)​

Стандартный объект ошибки.

Список исходящих заявок​

GET/v1/friends/requests/outgoing

Те же параметры и форма ответа, что у «Список входящих заявок», но requests содержит заявки со статусом PENDING_OUTGOING.


Друзья​

Список друзей​

GET/v1/friends

Query-параметры​

ПолеТипОписание
limit?integerСколько записей вернуть за один запрос.
beforeId?stringId записи для пагинации «назад по списку».

Ответ 200 OK​

ПолеТипОписание
friendsarrayСписок объектов Friend.
hasMorebooleanЕсть ли ещё записи для следующей страницы.

Ответ default (ошибка)​

Стандартный объект ошибки.

Удалить из друзей​

POST/v1/friends/{friendId}:remove

Разрывает дружбу с пользователем (переводит запись в статус REMOVED).

Параметры пути​

ПолеТипОписание
friendIdstringId пользователя, которого нужно удалить из друзей.

Ответ 200 OK​

Пустой объект {}.

Ответ default (ошибка)​

Стандартный объект ошибки.

Статус дружбы с пользователем​

GET/v1/friends/status/{userId}

Возвращает текущий статус отношений текущего пользователя с указанным пользователем — удобно вызывать перед показом кнопки «Добавить в друзья» / «Отправить сообщение» и т.п. в профиле.

Параметры пути​

ПолеТипОписание
userIdstringId пользователя, чей статус запрашивается.

Ответ 200 OK​

ПолеТипОписание
statusFriendshipStatusТекущий статус отношений.
friendIdstringId соответствующей записи (заявки или дружбы), если она существует.

Ответ default (ошибка)​

Стандартный объект ошибки.


Блокировки​

Заблокировать пользователя​

POST/v1/friends/blocked

Блокирует пользователя по username — заблокированный не может отправлять заявки в друзья и сообщения текущему пользователю. Если между пользователями была дружба или активная заявка, она переводится в статус BLOCKED.

Тело запроса​

ПолеТипОписание
usernamestringUsername пользователя, которого нужно заблокировать.
reason?stringНеобязательная причина блокировки.

Ответ 200 OK​

Пустой объект {}.

Ответ default (ошибка)​

Стандартный объект ошибки.

Список заблокированных​

GET/v1/friends/blocked

Query-параметры​

ПолеТипОписание
limit?integerСколько записей вернуть за один запрос.
beforeId?stringId записи для пагинации «назад по списку».

Ответ 200 OK​

ПолеТипОписание
usersarrayСписок объектов BlockedUser: userId, username, createdAt.
hasMorebooleanЕсть ли ещё записи для следующей страницы.

Ответ default (ошибка)​

Стандартный объект ошибки.

Разблокировать пользователя​

POST/v1/friends/blocked/{userId}:unblock

Параметры пути​

ПолеТипОписание
userIdstringId пользователя, которого нужно разблокировать.

Ответ 200 OK​

Пустой объект {}.

Ответ default (ошибка)​

Стандартный объект ошибки.