Лето 2026
Ротация токена бота и новые настройки вебхука
Токен бота теперь можно перевыпускать через API. Метод POSTРотация токена бота доступен администратору, владельцу компании или создателю бота по скоупу bots:write. Метод POSTРотация собственного токена бота позволяет боту перевыпустить токен самому себе по скоупу bot_self:write. Прежний токен инвалидируется сразу, новый возвращается в ответе один раз — сохраните его.
При создании и редактировании бота добавились две настройки вебхука: ignore_self_messages — игнорировать входящие сообщения, отправленные самим ботом (защита от зацикливания), и events_history_enabled — сохранять историю событий для получения через метод GETИстория событий. Оба поля также возвращаются в объекте бота.
В журнале аудита появились новые типы событий, связанные с управлением ботами: bot_token_recreated (ротация токена), bot_scopes_updated (изменение скоупов токена) и bot_webhook_settings_updated (изменение настроек вебхука). Их можно фильтровать параметром event_key.
Bot: новая операция Recreate Token — ротация токена бота по IDBot: новая операция Recreate Token Self — бот перевыпускает собственный токенBot: настройки вебхука Ignore Self Messages и Events History Enabled на Create/Update и в ответеChat (Request Export, Download Export), unfurl — в Message, информация о токене — в новом OAuth. Старые workflow (Chat Export/Link Preview/Profile → Get Info) продолжают работатьfiles/custom-properties/oauth вместо common, экспорт чата → chats, unfurl → messages. Старые имена продолжают работать (скрытые алиасы)pachca bots recreate-token — ротация токена бота по его id (нужны права администратора, владельца или создателя бота)pachca bots recreate-token-self — бот перевыпускает собственный токен своим же токеномpachca bots create и bots update — настройки вебхука --ignore-self-messages и --events-history-enabledРотация токена бота (POST /bots/{id}/recreate_token)Ротация собственного токена бота (POST /bot/recreate_token)ignore_self_messages, events_history_enabledbot_token_recreated, bot_scopes_updated, bot_webhook_settings_updatedclient.files, дополнительные поля — client.customProperties, информация о токене — client.oauth, unfurl — client.messages.unfurl() (бывш. createLinkPreviews). Старые имена (client.common, client.linkPreviews.createLinkPreviews(), client.profile.getTokenInfo()) продолжают работать как deprecated-алиасы — существующий код не ломаетсяclient.common и т.п.) сохраняются как рабочие, но скрытые из примеров аксессоры (обратная совместимость SDK)Настройки входящего вебхука бота и сортировка в поиске сообщений
При создании и редактировании бота теперь можно настроить его входящий вебхук: шаблон форматирования template, шаблонизатор template_engine (liquid или mustache), поле верификации challenge_key и показ превью ссылок link_preview_enabled. Эти же поля возвращаются в объекте бота. Подробнее о шаблонах и верификации — в гайде Входящие вебхуки.
В поиске сообщений появился параметр sort — сортировка результатов: created_at (по дате создания, по умолчанию) или relevance (по релевантности).
Create/Update и в ответе — Template, Template Engine, Challenge Key, Link Preview EnabledSort (сортировка Created At или Relevance)pachca bots create — настройки входящего вебхука: --template, --template-engine, --challenge-key, --link-preview-enabledpachca bots update — настройки входящего вебхука: --template, --template-engine, --challenge-key, --link-preview-enabledpachca search list-messages — параметр --sort (сортировка: created_at или relevance)template, template_engine, challenge_key, link_preview_enabledsort в поиске сообщений (GET /search/messages): created_at или relevanceNameError в авто-ретрае при ответах 429 и 5xxNameError на 429/5xx)Настраиваемые скоупы ботов и саморегистрация вебхука
Теперь при создании и редактировании бота можно задать скоупы его токена — параметр scopes. Если он не указан, бот получает набор по умолчанию. Текущие скоупы бота возвращаются в объекте бота в поле scopes.
Бот может самостоятельно изменить URL своего исходящего вебхука своим же токеном — без участия администратора и без знания собственного user_id. Для этого нужен скоуп bot_self:webhook:write.
Scopes (выбор скоупов токена) и поле scopes в ответеUpdate Webhook — саморегистрация исходящего вебхука бота его токеномpachca bots create — параметр --scopes (выбор скоупов токена бота)pachca bots update — параметр --scopes (изменение скоупов токена бота)pachca bots update-webhook — саморегистрация исходящего вебхука бота его собственным токеномscopes (выбор скоупов токена) и поле scopes в ответеСаморегистрация вебхука бота (PUT /bot/webhook)Создание ботов через API, голосовые сообщения
Теперь бота можно создать и получить через API, а не только в интерфейсе. При создании вы получите access_token бота — сразу сохраните его, повторно получить токен можно только через интерфейс.
Новые и обновлённые методы для ботов:
Появилась поддержка голосовых сообщений. В сообщении возвращается объект voice_content с длительностью, формой волны и расшифровкой, а при отправке файла с file_type = voice принимаются параметры duration_ms и waveform.
В payload вебхука реакции поле created_at теперь приходит и при удалении реакции. Также в деталях события аудита DLP поле action_message может быть null, если у действия правила не задан текст.
Create и Getvoice_content и параметры файла duration_ms / waveformpachca bots create — создание бота и получение его access_tokenpachca bots get — получение параметров ботаpachca bots update — новые поля --name, --nickname, --events, --trigger-on, --commandsvoice_content и параметры файлов --duration-ms / --waveform для голосовыхНовый бот (POST /bots) и Информация о боте (GET /bots/{id})voice_content в модели сообщения и параметры файлов duration_ms / waveform для голосовыхWebhook-модели и polling в SDK
SDK стали точнее типизировать payload вебхуков и получили helpers для polling истории событий. Это упрощает обработку вебхуков без публичного webhook URL и сохраняет discriminator-поля для маршрутизации событий в коде.
Был обновлен следующий метод:
type и дополнительный дискриминатор eventtype и дополнительные литералы вроде event[] / {} и не теряются из-за omitemptyMarshalJSON, чтобы сохранять явные пустые контейнеры в JSONВесна 2026
pachca api <МЕТОД> <путь> --describe у полей запроса и ответа появились примеры значенийСписок тредов
Был добавлен новый метод:
С помощью этого метода вы можете получить доступные треды и собирать по ним сводки и дайджесты за период.
Get Many — список тредов с фильтром по времени последнего сообщения (Last Message At After / Last Message At Before) и курсорной пагинациейpachca threads list — список доступных тредов с фильтрами --last-message-at-after / --last-message-at-before и курсорной пагинациейСписок тредов (GET /threads) с фильтром по времени последнего сообщения и курсорной пагинациейГостевая роль и чаты при создании сотрудника, справка по API в CLI
В метод создания сотрудника добавлен параметр chat_ids — идентификаторы чатов, в которые сотрудник будет добавлен сразу при создании. Параметр role теперь принимает значение guest: для роли guest параметр chat_ids обязателен и должен содержать ровно один активный чат.
Был обновлен следующий метод:
В CLI добавлены команды для просмотра списка всех эндпоинтов и справки по каждому — не нужно знать эндпоинт заранее или искать его в документации. Данные генерируются из той же OpenAPI-спецификации, из которой собран сам CLI, поэтому всегда совпадают с актуальным API. Для AI-агентов это ключевое: не нужно загружать документацию в контекст — агент запрашивает у CLI нужный метод и сразу его вызывает.
Заодно документация CLI переработана и разбита на разделы с понятной прогрессией от терминала к агентам. Подробнее — Команды, Сценарии и AI агенты.
chat_ids (добавить сотрудника в чаты сразу при создании) и значение guest для role (для гостя chat_ids обязателен и содержит ровно один активный чат)pachca users create: параметр --chat-ids (добавить сотрудника в чаты сразу при создании) и поддержка --role guest (для гостя нужен --chat-ids ровно с одним активным чатом)pachca api ls (список всех эндпоинтов), pachca api <МЕТОД> <путь> --describe / --spec / --docs (параметры, тело, схема, пример) — данные из той же OpenAPI-спецификации, из которой собран CLIpachca api --data '{json}' — тело запроса инлайн JSON-строкой--plain — плоский TSV-вывод для скриптов (без заголовка, id первым)PACHCA_HOME — переопределение каталога конфига (CI, тесты, агенты)chat_ids и значение guest для role (для гостя chat_ids обязателен и содержит ровно один активный чат)Курсорная пагинация и параметр skip в unfurl-вебхуке
В объект meta.paginate всех методов с курсорной пагинацией добавлены три новых поля:
prev_page— курсор на предыдущую страницу (для polling новых записей «сверху» списка)has_next— есть ли ещё данные на следующей страницеhas_prev— есть ли ещё данные на предыдущей странице
Признак конца данных теперь — has_next: false, а не пустой data. Курсоры next_page и prev_page всегда присутствуют в ответе и никогда не равны null. Изменение обратно совместимо: интеграции, использующие только next_page, продолжат работать без изменений. Подробнее — на странице Пагинация.
Затронутые методы:
- GETСписок сотрудников
- GETСписок чатов
- GETСписок участников чата
- GETСписок сообщений чата
- GETСписок реакций
- GETСписок тегов сотрудников
- GETСписок сотрудников тега
- GETСписок напоминаний
- GETЖурнал аудита событий
- GETСписок прочитавших сообщение
- GETИстория событий
В вебхуке Разворачивание ссылок каждый объект массива links теперь содержит поле skip: boolean. Если значение true — автор сообщения скрыл превью для этой ссылки, и бот не должен её разворачивать. Это позволяет уважать выбор пользователя и не генерировать нежелательные превью.
link_shared payload каждый объект массива links теперь содержит skip: boolean. Если true — автор сообщения скрыл превью для этой ссылки, бот не должен её разворачиватьWebhookLink (payload вебхука link_shared) получила поле skip: boolean — индикатор того, что автор сообщения скрыл превью для конкретной ссылкиРасширение n8n опубликовано в официальной витрине
Расширение Пачки опубликовано в витрине интеграций n8n со статусом verified by n8n — партнёрская интеграция, проверенная командой n8n. Доступны Pachca (действия, 18 ресурсов) и Pachca Trigger (16 типов событий через вебхуки).
Подробнее — в обновлённом разделе Начало работы.
Поле inviter_id, nullable-уточнения и chat_id в вебхуках
В модель Сотрудник добавлено новое поле inviter_id — идентификатор того, кто пригласил сотрудника в компанию. Возвращает null, если сотрудник зарегистрировался самостоятельно или если пригласивший был удалён.
Уточнены типы полей модели User: поля last_name, email, phone_number, department, title, time_zone и last_activity_at теперь корректно объявлены как nullable. Поля email и phone_number возвращают null для ботов без права просмотра персональных данных.
В payload трёх исходящих вебхуков (reaction_new, reaction_delete, view_submit) добавлено поле chat_id — идентификатор чата, в котором произошло событие. Поле всегда присутствует в payload, в редких случаях может прийти как null. Это убирает необходимость в дополнительном запросе GETИнформация о сообщении для определения чата по событию. Подробнее о поведении chat_id для view_submit — в разделе Заполнение формы.
Были обновлены следующие методы:
reaction_new, reaction_delete, view_submit) добавлено поле chat_id — id чата, в котором произошло событие. Всегда присутствует, в редких случаях может быть null. Для view_submit отражает чат на момент открытия формы, а не сабмита.User: новое поле inviter_id (кто пригласил сотрудника); null для самостоятельной регистрации или удалённого пригласившегоUser: поля last_name, email, phone_number, department, title, time_zone, last_activity_at корректно объявлены как nullable. email и phone_number возвращают null для ботов без права просмотра персональных данных.users list/get/create/update, profile get) добавлено поле inviter_idlast_name, email, phone_number, department, title, time_zone, last_activity_at корректно объявлены как nullableUser: новое поле inviter_id — идентификатор сотрудника, который пригласил данного пользователяUser: поля last_name, email, phone_number, department, title, time_zone, last_activity_at корректно объявлены как nullablereaction_new, reaction_delete, view_submit: добавлено поле chat_id (id чата, в котором произошло событие; в редких случаях может быть null)attw-проверка в CI не пропускает регрессии.stub() теперь принимает объект-форму параметров (stub({ apiKey })) вместо отдельных аргументовДокументация n8n и обновление Trigger
Раздел n8n дополнен новыми страницами и обновлениями:
- Тестирование — новая страница: тестирование триггера и экшн-узлов, защита webhook-слота, локальная разработка через туннель
- Триггер — переработанная документация: ручной и автоматический режимы регистрации вебхука, диаграммы жизненного цикла, безопасность (подпись, IP-фильтр, защита от повторов)
- Устранение ошибок — новые разделы: 403 при активации триггера, ограничения токенов ботов в автоматическом режиме
fileType → file_type для обоих форматов блоковУпоминания пользователей по ID
При POSTОтправке сообщений и PUTРедактировании сообщений теперь можно упоминать пользователей по идентификатору: просто вставьте <@user_id> в текст сообщения (например, <@3876>) и это автоматически преобразуется это в @nickname. Это удобно для интеграций, когда идентификатор пользователя уже известен и не нужно дополнительно искать его никнейм.
<@user_id> в тексте сообщения автоматически преобразуется в @nicknameАватары и сортировка
Были добавлены новые методы для управления аватарами:
- PUTЗагрузка своего аватара
- DELETEУдаление своего аватара
- PUTЗагрузка аватара сотрудника
- DELETEУдаление аватара сотрудника
С помощью этих методов вы можете загружать и удалять аватары для своего профиля и для сотрудников вашей компании.
В методах GETСписок чатов и GETСписок сообщений чата добавлен новый формат параметров сортировки: sort (поле сортировки) и order (направление: asc или desc).
--order без --sort теперь корректно работаетchat_id можно передать первым аргументом: pachca messages list 12345Конструктор форм
На странице Формы появился интерактивный конструктор представлений. Добавляйте блоки из палитры, настраивайте все параметры через визуальный редактор и сразу видите результат — включая календарь, время, выпадающие списки, радиокнопки и чекбоксы.
Интерактивный playground сообщений и вебхуков
На страницах Кнопки в сообщениях и Входящие вебхуки появились интерактивные playground — редактируйте JSON слева и сразу видите результат справа. Превью сообщения отображает все поля: текст с markdown-разметкой, кнопки, файлы, превью ссылок, кастомные аватар и имя бота.
Ошибки оплаты, роли сотрудников, закрепление сообщений
Во все методы, требующие оплаченного тарифа, добавлен ответ 402 Payment Required.
В методах POSTНовый сотрудник и PUTРедактирование сотрудника уточнены допустимые значения поля role: admin, user и multi_guest. Значение guest недоступно для установки через API — оно присутствует только в ответах.
Поле link_preview в запросе POSTОтправить сообщение перенесено на верхний уровень тела запроса — отдельно от объекта message.
Метод POSTЗакрепление сообщения при попытке закрепить уже закреплённое сообщение возвращает 422 Unprocessable Entity.
Параметры start_time и end_time в методе GETЖурнал аудита событий стали необязательными — без них возвращаются все события.
Уточнён тип поля name в модели реакции: string | null вместо опционального.
Были обновлены следующие методы:
Редактирование скоупов, исправления в моделях
Скоупы персональных токенов теперь можно изменять после создания — в настройках токена. Раньше для изменения набора разрешений токен нужно было пересоздавать. Подробнее в разделе Авторизация.
Метод POSTЗакрепление сообщения теперь возвращает 204 No Content вместо 201 Created.
Поле thread в модели сообщения теперь содержит только id и chat_id. Полная модель треда (с message_id, message_chat_id, updated_at) возвращается в методах POSTСоздание треда и GETИнформация о треде.
Поле payload в модели ошибки валидации теперь имеет тип object | null вместо string | null и содержит структурированные данные — идентификатор кастомного свойства при ошибке поля или параметры авторизации.
На странице Авторизация добавлена таблица доступных скоупов с указанием ролей для каждого скоупа.
Были обновлены следующие методы:
auth refresh — кеширование скоупов больше не используетсяСправочник моделей данных
Появилась новая страница Модели — справочник всех моделей данных API. На одной странице собраны 14 моделей с таблицами свойств и ссылками на связанные методы: сотрудник, чат, тред, сообщение, реакция, напоминание, бот, тег и другие.
pachca upgrade — обновление CLI до последней версииpachca upload (подпись + загрузка автоматически)--direct-url для прямых запросов без авторизацииthread переименован в threadsНовые руководства и реструктуризация документации
Появились новые руководства с пошаговыми инструкциями и скриншотами:
- Боты — создание и настройка ботов
- Кнопки — интерактивные кнопки в сообщениях
- Входящие вебхуки — отправка сообщений через URL
- Разворачивание ссылок — unfurl-боты для предпросмотра ссылок
- n8n — интеграция с no-code платформой
Документация реструктурирована: Быстрый старт, Пагинация, Загрузка файлов, Запросы и ответы вынесены в отдельные страницы, раздел форм разбит на три страницы.
В вебхук Отправка ссылок добавлено поле user_id — идентификатор отправителя сообщения со ссылкой.
Сценарии
Появился новый раздел Сценарии — пошаговые инструкции для типичных задач с API. Каждый сценарий описывает, какие методы вызывать и в каком порядке, с учётом неочевидных ограничений.
Доступны в виде справочника с поиском, входят в Agent Skills для AI-агентов и встроены в CLI.
PACHCA_API_URL для кастомного base URL--no- префиксомdoctor — диагностика окруженияintrospect — метаинформация о командах для агентовapi — прямые HTTP-запросы с -f/-F, --input, --queryguide — поиск по сценариям использования APICLI для работы с API
Появился раздел документации CLI — все методы API доступны как команды в терминале.