Что делает
Затрагивает все операции чтения/записи Bitrix24 Диска без multipart: disk.storage.getlist, disk.folder.getchildren (постранично через actions.v2.callList.make), disk.folder.addsubfolder, disk.file.get. Включает пример actions.v2.batch.make, объединяющий список хранилищ и корневой папки в один round-trip.
Стек
Node.js 18+. Без внешних зависимостей.
Переменные окружения
export B24_HOOK='https://your.bitrix24.com/rest/1/secret'
Нужен scope вебхука: у входящего вебхука должен быть включён scope disk. Портал Bitrix24 → Ресурсы разработчика → Входящие вебхуки → изменить → отметьте Диск (disk). Без него все вызовы Disk API возвращают
insufficient_scope(HTTP 401).
Запуск
npx tsx 05-disk-files.ts
Исходник
skills/b24jssdk-recipes/examples/05-disk-files.ts.
Примечания
- Загрузка бинарника требует
disk.folder.uploadfileсmultipart/form-data. SDK может это через нижележащий транспортHttp, но это не «drop-in» вызовactions.v2.call.make— такой рецепт в списке предложений. - Методы Диска используют классические поля в верхнем регистре:
ID,NAME,PARENT_ID,ROOT_OBJECT_ID. v3 Disk API не существует. disk.folder.getchildrenпостраничный — всегда идите черезactions.v2.callList.make(илиactions.v2.fetchList.makeдля больших папок), а не через одиночныйactions.v2.call.make.