Русский
Переход на 2.0
Версия 2.0 требует Node.js 24+ и меняет сигнатуры REST, SCIM и серверного OAuth-клиента. Экспорты пакета сохраняются.
Аргументы методов
ID и небольшие наборы полей передаются отдельно. Большие тела и фильтры остаются объектами. Необязательный последний аргумент содержит настройки операции.
ts
const card = await client.cards.retrieveCard(123);
await client.cardComments.addComment(card.id, 'Комментарий');
await client.cardMembers.addMemberToCard(card.id, 456);
await client.cards.updateCard(card.id, {title: 'Новое название'});
const page = await client.cards.retrieveCardList({version: 2, limit: 50});
const controller = new AbortController();
await client.cards.retrieveCard(card.id, undefined, {
signal: controller.signal,
});Типы с суффиксом Params теперь являются кортежами, полученными из сигнатуры метода:
ts
import type {CardsRetrieveCardParams} from '@2chevskii/kaiten-client';
const args: CardsRetrieveCardParams = [123];
await client.cards.retrieveCard(...args);Актуальные сигнатуры всех операций приведены в REST и SCIM.
Файлы, SCIM и OAuth
ts
const uploaded = await client.restrictedAccessCardFiles.attachFileToCard(
'card-uuid',
new Blob(['report']),
{filename: 'report.txt'},
);
const file = await client.restrictedAccessCardFiles.getCardFile(
'card-uuid',
uploaded.id,
);
console.log(file.url);
await scim.users.updateUser(123, [
{op: 'replace', path: 'active', value: false},
]);
await oauth.getToken('addon-uuid', 123, 1);getCardFile, getCommentFile и getCustomPropertyFile выводят тип ответа по redirect. Поиск выводит форму ответа по обязательному version: 2; переменная с необязательным version даёт объединение массива и ответа с курсором.
Ответы и вебхуки
Вложенные объекты и массивы имеют соответствующие типы. Nullable-поля допускают null. properties использует динамические ID пользовательских полей, а changes в вебхуках содержит необязательные поля изменяемой сущности. Опечатки из старых примеров Kaiten сохранены как необязательные legacy-поля рядом с правильными именами.
Браузерный SDK имеет отдельные типы AddonCard и AddonCurrentUser; связанные сущности карточки загружаются через getCardProperties. window.Addon, callback-действия диалогов и отсутствие badges через null поддерживаются декларациями.
Повреждённый JSON и неожиданный пустой успешный ответ вызывают KaitenResponseError. Документированные операции без тела ответа возвращают undefined. HTTP-ошибки по-прежнему представлены KaitenHttpError.