Теги
Тег в Пачке — это именованная группа сотрудников: «Дизайн», «Питер», «Дежурные». Отметьте тегом нужных сотрудников — и дальше зовите сразу всех: тег упоминают в сообщении и привязывают к чату.
Тег живёт в пространстве и не привязан к конкретному чату, поэтому один и тот же тег работает сразу везде, где он нужен. Когда состав команды меняется, достаточно поправить тег — чаты подтянутся сами.
Теги в чате
Привяжите тег к каналу, и все сотрудники тега окажутся в этом канале. Дальше состав поддерживается сам: добавили сотруднику тег — он появился во всех чатах тега, сняли тег — вышел из них. Так состав чатов следует за структурой команды, и расставлять сотрудников по чатам вручную не нужно.
Тег привязывают к беседе или каналу — к чатам, у которых есть состав участников. Чат при этом должен быть активным: в архивном чате теги не меняются.
За привязку отвечают методы POSTДобавление тегов и DELETEИсключение тега. Оба относятся к составу участников и требуют скоуп chat_members:write. Текущие теги чата приходят в поле group_tag_ids объекта чата, и его же можно передать сразу при вызове POSTНовый чат.
| Что нужно | Как |
|---|---|
| Создать чат сразу с тегами | POSTНовый чат, поле group_tag_ids |
| Добавить теги в существующий чат | POSTДобавление тегов |
| Убрать тег из чата | DELETEИсключение тега |
| Узнать теги чата | GETИнформация о чате, поле group_tag_ids |
DELETE участники какое-то время ещё приходят в методе GETСписок участников чата.Упоминание тега
Тег упоминается в тексте сообщения как @Дизайн — так же, как сотрудник. Уведомление получит каждый сотрудник тега, который состоит в этом чате.
В треде упоминание работает шире: сотрудники тега добавляются в сам тред, даже если в родительском чате их нет. Так тег собирает нужных сотрудников в обсуждение одной строкой. Отключается это параметром skip_invite_mentions метода POSTНовое сообщение — подробнее в руководстве по тредам.
Упоминания разбираются в момент отправки, поэтому тег, добавленный в текст позже методом PUTРедактирование сообщения, уведомление не рассылает.
Теги у сотрудника
Набор тегов сотрудника — это поле list_tags в методах POSTНовый сотрудник и PUTРедактирование сотрудника. В поле передаются названия тегов, а не идентификаторы, и присланный массив заменяет прежний набор целиком. Остальные поля сотрудника при этом можно не присылать.
- Названия создают теги. Если тега с таким названием в пространстве ещё нет, он создаётся вместе с назначением. Отдельно заводить его методом POSTНовый тег не нужно.
- Теги назначаются сотрудникам пространства. Для гостевых ролей поле не применяется.
Назначение и снятие тега пишутся в журнал аудита событиями user_added_to_tag и user_removed_from_tag.
Как убрать из чата участника, которого добавил тег
Сотрудник, попавший в чат по тегу, остаётся в чате, пока действует тег. Поэтому убирают его через тег, а не через список участников:
- снять с сотрудника тег через
list_tags— тогда он выйдет из всех чатов этого тега; - убрать тег из чата методом DELETEИсключение тега — тогда выйдут все, кто попал в чат по этому тегу.
Если сотрудника добавили в чат два тега, после снятия одного он остаётся: второй продолжает действовать.
403, а DELETEИсключение пользователя отвечает 204 и оставляет состав прежним. Если вы меняете состав чатов из кода, проверяйте результат методом GETСписок участников чата.Удаление тега и исключение тега из чата
Названия у операций похожие, а результат разный.
| Операция | Что происходит с участниками чатов |
|---|---|
| DELETEИсключение тега | Выходят из чата все, кого в нём держал только этот тег |
| DELETEУдаление тега | Остаются во всех чатах, но уже сами по себе, без тега |
Создатель чата остаётся в своём чате в обоих случаях.
Названия
Название задаётся при создании и меняется методом PUTРедактирование тега.
- Не длиннее 255 символов.
- Уникально в пространстве без учёта регистра: «Дизайн» и «дизайн» — один и тот же тег.
- Без символа
@и не равноhereилиall— эти слова заняты системными упоминаниями.
Пробелы по краям обрезаются, а одно и то же название, присланное дважды, считается за один тег.
Поиск тега по названию
По идентификатору тег отдаёт метод GETИнформация о теге. Когда известно только название, теги ищутся параметром names метода GETСписок тегов: он принимает до 100 названий за один запрос.
users_count объекта тега считает действующих сотрудников, а GETСписок сотрудников тега отдаёт всех, включая деактивированных. Поэтому число в users_count может быть меньше, чем длина списка.Права
| Действие | Кому доступно |
|---|---|
| Читать теги и их состав | Владелец, Администратор, Сотрудник, бот |
| Создавать, переименовывать и удалять теги | Владелец, Администратор |
| Менять теги сотрудника | Владелец, Администратор |
| Привязывать теги к чату и снимать их | Участник беседы или канала |
Какие скоупы доступны каждой роли — в руководстве Права и роли.
Теги в журнале аудита
Действия с тегами попадают в журнал аудита шестью событиями.
| Событие | Когда |
|---|---|
tag_created | Создан тег |
tag_deleted | Удалён тег |
user_added_to_tag | Сотруднику назначен тег |
user_removed_from_tag | С сотрудника снят тег |
tag_added_to_chat | Тег привязан к чату |
tag_removed_from_chat | Тег отвязан от чата |
Актором в событиях user_added_to_tag и user_removed_from_tag выступает сам сотрудник, а инициатор изменения приходит в details.initiator_id.