Для разработчиков
☀️ Лето 2026
28 июля 2026

Уточнения в описании API

Подробнее описали поведение нескольких методов и полей. Работа API не менялась.

Были уточнены следующие методы:

Уточнены описания полей моделей:

  • У 32 полей описано, в каком случае приходит null. Например, last_activity_at пуст, пока сотрудник ни разу не заходил в Пачку.
  • display_avatar_url и display_name приходят только у сообщений от ботов.
  • name у реакции заполнено всегда.
  • last_name, department и title у незаполненного значения приходят как null либо как пустая строка.
  • first_name приходит как null, пока приглашённый сотрудник не завершил регистрацию, то есть пока invite_status равен sent.
  • value у дополнительного поля приходит как null, если поле не заполнено. Число передаётся строкой, дата — в формате ISO 8601.
n8nv2.0.16
Запись (POST/PATCH) больше не повторяется автоматически при 5xx
Bot: ресурс открывается на Get Many вместо Recreate own bot token
User: у операций со статусом и аватаркой вернулся выбор сотрудника вместо числового поля
UserUpdate Avatar и ChatDownload Export работают при выборе сущности из списка или по ссылке
Выбор сотрудника: список открывается сразу, без ввода текста
Пагинация и поиск чатов: курсор кодируется, доступны результаты со второй страницы и далее
Триггер: вебхук без webhook_timestamp отклоняется, если задан секрет подписи
CLIv2026.7.2
files direct-url: файл добавляется в форму последним
files direct-url не падает при успешной загрузке
Явный --profile не перебивается переменной PACHCA_TOKEN
Запись больше не повторяется автоматически при 503
chats download-export: имя файла из Content-Disposition не уводит запись за пределы указанной папки
-o csv: ячейки с =, +, -, @ экранируются, объекты и массивы выводятся как JSON
SDKv1.0.28
Поле details в журнале аудита (GET /audit_events) читается во всех языках
Ошибки API разбираются в типизированный ApiError: поле payload принимает вложенный объект
Python: блоки представлений (ViewBlockUnion) не теряют данные
Примеры из README компилируются
~
Union без общего поля-дискриминатора разбирается по составу полей. В Go у такого union появилось поле Raw с исходным JSON
~
first_name у сотрудника, value у дополнительного поля, display_avatar_url и display_name у сообщения стали опциональными
~
Reaction.name больше не nullable
~
У 32 полей описано, когда API возвращает null; исправлены примеры callback_id и private_metadata для форм
Generatorv1.1.10
+
Эмиттеры Go, C#, Swift, Kotlin и Python умеют union без дискриминатора — вариант выбирается по составу полей
Дискриминатор union определяется по всем членам сразу: поле принимается, только если литерал есть у каждого
Открытый additionalProperties даёт значение произвольного типа, а не строку. В Kotlin для него используется JsonElement