> Расположение: Боты
> Краткое содержание: Токены бота в Пачке: несколько токенов со своими правами, выпуск, перевыпуск и удаление на вкладке «API», права самоуправления бота, токены через API и что делать, если токен утёк
> Это Markdown-версия конкретной страницы. Для контекста за её пределами (правила API, полный перечень методов, авторизация) ОБЯЗАТЕЛЬНО открой [llms.txt](https://dev.pachca.com/llms.txt) перед ответом — это сэкономит токены и предотвратит неполный ответ.


# Токены бота

Токен бота — ключ, которым ваш код обращается к [API](/guides/quickstart) от имени бота: отправляет сообщения, читает чаты, открывает формы. Токены выпускаются на вкладке **API** в карточке бота. Там же указан `user_id` бота: это его `id` в методах API.

Вкладка **API** доступна создателю бота и администраторам пространства, если на вкладке **Основное** им открыт доступ к редактированию. Руководителю чата с ботом токены не видны, даже когда остальные настройки бота ему открыты — подробнее в разделе [Настройки бота](/guides/bots/settings#kto-mozhet-redaktirovat-nastroyki-bota).

```http title="Заголовок авторизации"
Authorization: Bearer <токен бота>
```

## Выпуск токена

![Вкладка «API» в карточке бота: user_id и список токенов бота с кнопкой «Создать токен»](/images/bots/bot_tokens.webp)

*Вкладка «API» в карточке бота*


  ### Шаг 1. Создайте токен

На вкладке **API** нажмите **Создать токен** и задайте название — по нему токен узнаётся в списке, например по имени сервиса, который им пользуется.


  ### Шаг 2. Выберите права

Права задаются на каждый токен отдельно. Выдавайте минимально необходимые: токен для уведомлений не должен уметь удалять сообщения. Нужное право можно найти поиском по названию.

![Окно «Создание токена бота»: название токена, поиск и список прав по категориям](/images/bots/bot_token_new.webp)

*Окно «Создание токена бота»*


  ### Шаг 3. Скопируйте значение

Значение токена показывается один раз, сразу после создания, в окне **Скопируйте ваш API токен**. Скопируйте его кнопкой **Скопировать и закрыть** — повторно значение не покажут ни в интерфейсе, ни через API.


Токены бота не имеют срока жизни: токен работает, пока его не перевыпустят, не удалят или пока не удалят самого бота.

## Несколько токенов

У бота может быть несколько токенов, у каждого своё название и свои права. Удобно выпускать отдельный токен на каждый сервис, который работает от имени бота: если один из них скомпрометирован или больше не нужен, его отзывают, не трогая остальные.

В списке у каждого токена видны первые и последние символы значения, число выданных разрешений, дата создания и когда токен последний раз использовался. Меню токена позволяет:

- **Список разрешений** — посмотреть, что токену разрешено.
- **Редактировать** — изменить название и права. Новые права действуют сразу, выпускать токен заново не нужно.
- **Перевыпустить** — старое значение перестаёт работать сразу, новое показывается один раз, а название и права сохраняются.
- **Удалить** — токен перестаёт работать, восстановить его нельзя. Если токеном пользовались в последние 7 дней, диалог удаления предупредит об этом.

## Права токена

Права определяют, какие методы API можно вызывать этим токеном. Круг данных они не расширяют: бот видит открытые каналы и чаты, куда его добавили, какие бы права ни были у токена. Подробнее — в разделе [Доступы к чатам и сообщениям](/guides/bots/access).

Часть прав есть только у ботов:

- `bot_self:webhook:write` — бот сам меняет адрес своего исходящего вебхука методом [Саморегистрация вебхука бота](/api/bots/update-webhook), подробнее в разделе [Через API](/guides/webhook/events#cherez-api).
- `bot_self:write` — бот сам перевыпускает свой токен методом [Ротация собственного токена бота](/api/bots/recreate-token-self).

Права для черновиков, управления ботами и другие права, которые выдаются только персональным токенам, боту недоступны. Полная таблица прав по ролям — в разделе [Доступные скоупы](/api/authorization#dostupnye-skoupy). Проверить права текущего токена можно методом [Информация о токене](/api/oauth/token-info).

## Токены через API

Токенами бота управляют те же методы, что стоят за вкладкой **API**:

- [Список токенов бота](/api/bots/list-tokens) — действующие токены с замаскированным значением.
- [Новый токен бота](/api/bots/create-token) — токен с именем и правами. Значение приходит в ответе один раз, а без поля `scopes` токен выпускается без прав.
- [Изменение токена бота](/api/bots/update-token) — новое имя или права, они действуют сразу.
- [Перевыпуск токена бота](/api/bots/reissue-token) — новое значение вместо прежнего, имя и права остаются.
- [Удаление токена бота](/api/bots/delete-token) — токен перестаёт работать сразу.

Права выбирают из каталога: [Каталог прав бота](/api/bots/list-scopes) перечисляет права, которые можно выдать этому боту, с описаниями и категориями, как на вкладке. Методы вызывают персональным токеном со скоупами `bots:read` и `bots:write`.

Бот, созданный методом [Новый бот](/api/bots/create), сразу получает основной токен: он приходит в поле `access_token` один раз, а его права задаются полем `webhook.scopes`. Без этого поля токен получает набор по умолчанию. В нём нет прав самоуправления (`bot_self:webhook:write` и `bot_self:write`) и чтения статусов сотрудников (`user_status:read`): их выдают явно. С `empty: true` бот создаётся без токена, как в интерфейсе.

Основной токен — тот, что в списке без имени, а если такого нет, самый старый. К нему относятся поле `webhook.scopes` метода [Редактирование бота](/api/bots/update) и два метода ротации: [Ротация токена бота](/api/bots/recreate-token) перевыпускает его персональным токеном, а [Ротация собственного токена бота](/api/bots/recreate-token-self) — сам бот, с правом `bot_self:write`. Ротация выпускает основной токен заново: прежнее значение перестаёт работать сразу, у нового другой `id` и нет имени, а значение приходит в ответе один раз.

Если у бота нет ни одного токена, `webhook.scopes` создаёт основной токен, но его значение не возвращает. Чтобы получить значение, перевыпустите токен.

## Если токен утёк

Перевыпустите токен кнопкой **Перевыпустить** или методом [Перевыпуск токена бота](/api/bots/reissue-token): старое значение перестанет работать в ту же секунду. Затем обновите токен в сервисах, которые им пользуются. Если токен больше не нужен, удалите его.

Токен в руках — это доступ ко всем данным бота. Не храните его в коде и репозиториях, передавайте через переменные окружения и хранилища секретов.


## Связанные разделы

- [Авторизация](/api/authorization)
- [Настройки бота](/guides/bots/settings)
- [Общение с ботом](/guides/bots/conversations)
