[{"data":1,"prerenderedAt":3438},["ShallowReactive",2],{"navigation":3,"-docs-working-with-the-rest-api-batch-rest-api-ver3":459,"-docs-working-with-the-rest-api-batch-rest-api-ver3-description":3427},[4],{"title":5,"path":6,"stem":7,"children":8,"page":47},"Docs","\u002Fdocs","docs",[9,78,351],{"title":10,"path":11,"stem":12,"children":13,"restApiVersion":15,"category":15,"description":15,"badge":15},"Начало работы","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[14,17,48,63],{"title":10,"path":11,"stem":12,"restApiVersion":15,"category":15,"description":16,"badge":15},null,"Краткое руководство по работе с SDK для REST API Bitrix24",{"title":18,"path":19,"stem":20,"children":21,"page":47},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",[22,27,32,37,42],{"title":23,"path":24,"stem":25,"restApiVersion":15,"category":15,"description":26,"badge":15},"Vue","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fvue","docs\u002F1.getting-started\u002F2.installation\u002F1.vue","Руководство по установке Bitrix24 JS SDK в приложениях Vue.",{"title":28,"path":29,"stem":30,"restApiVersion":15,"category":15,"description":31,"badge":15},"Nuxt","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt","docs\u002F1.getting-started\u002F2.installation\u002F2.nuxt","Руководство по установке Bitrix24 JS SDK в приложениях Nuxt.",{"title":33,"path":34,"stem":35,"restApiVersion":15,"category":15,"description":36,"badge":15},"React","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Freact","docs\u002F1.getting-started\u002F2.installation\u002F3.react","Руководство по установке Bitrix24 JS SDK в приложениях React.",{"title":38,"path":39,"stem":40,"restApiVersion":15,"category":15,"description":41,"badge":15},"Node.js","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnodejs","docs\u002F1.getting-started\u002F2.installation\u002F4.nodejs","Руководство по установке Bitrix24 JS SDK в приложениях Node.js.",{"title":43,"path":44,"stem":45,"restApiVersion":15,"category":15,"description":46,"badge":15},"UMD","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fumd","docs\u002F1.getting-started\u002F2.installation\u002F5.umd","Руководство по использованию UMD-версии Bitrix24 JS SDK в ваших приложениях.",false,{"title":49,"restApiVersion":15,"category":15,"description":15,"badge":15,"shadow":47,"path":50,"stem":51,"children":52,"page":47},"Migration","\u002Fdocs\u002Fgetting-started\u002Fmigration","docs\u002F1.getting-started\u002F3.migration",[53,58],{"title":54,"path":55,"stem":56,"restApiVersion":15,"category":15,"description":57,"badge":15},"v0 → v1","\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv1","docs\u002F1.getting-started\u002F3.migration\u002F1.v1","Подробное руководство по миграции приложения с Bitrix24 JS SDK v0 на Bitrix24 JS SDK v1.",{"title":59,"path":60,"stem":61,"restApiVersion":15,"category":15,"description":62,"badge":15},"v2 → v3","\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv3","docs\u002F1.getting-started\u002F3.migration\u002F2.v3","Как уйти с устаревшей REST-поверхности, которая удаляется в Bitrix24 JS SDK 3.0.0.",{"title":64,"restApiVersion":15,"category":15,"description":15,"badge":15,"path":65,"stem":66,"children":67,"page":47},"AI-инструменты","\u002Fdocs\u002Fgetting-started\u002Fai","docs\u002F1.getting-started\u002F7.ai",[68,73],{"title":69,"path":70,"stem":71,"restApiVersion":15,"category":15,"description":72,"badge":15},"Навыки","\u002Fdocs\u002Fgetting-started\u002Fai\u002Fskills","docs\u002F1.getting-started\u002F7.ai\u002F1.skills","Узкоспециализированные skill-файлы для AI-агентов разработчика, работающих с @bitrix24\u002Fb24jssdk.",{"title":74,"path":75,"stem":76,"restApiVersion":15,"category":15,"description":77,"badge":15},"LLMs.txt","\u002Fdocs\u002Fgetting-started\u002Fai\u002Fllms-txt","docs\u002F1.getting-started\u002F7.ai\u002F2.llms-txt","Как сделать, чтобы AI-инструменты вроде Cursor, Windsurf, GitHub Copilot, ChatGPT и Claude понимали методы, инструменты и лучшие практики Bitrix24 JS SDK.",{"title":79,"path":80,"stem":81,"children":82,"restApiVersion":15,"category":15,"description":15,"badge":15},"Работа с REST API","\u002Fdocs\u002Fworking-with-the-rest-api","docs\u002F2.working-with-the-rest-api\u002F0.index",[83,86,93,98,103,107,112,116,121,126,130,135,140,145,150,155,160,165,170,175,179,184,189,194,200,205,210,215,220,225,230,235,240,245,251,256,261,267,272,277,282,287,293,299,305,310,315,320,326,331,336,341,346],{"title":84,"path":80,"stem":81,"restApiVersion":15,"category":15,"description":85,"badge":15},"Введение","Обзор возможностей SDK для работы с REST API Bitrix24",{"title":87,"path":88,"stem":89,"restApiVersion":90,"category":91,"description":92,"badge":15},"Call","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F1.call-rest-api-ver2","rest-api-ver2","actions","Метод для вызовов REST API Bitrix24 версии 2.",{"title":87,"path":94,"stem":95,"restApiVersion":96,"category":91,"description":97,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F1.call-rest-api-ver3","rest-api-ver3","Метод для вызовов REST API Bitrix24 версии 3.",{"title":99,"path":100,"stem":101,"restApiVersion":90,"category":91,"description":102,"badge":15},"CallList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F2.call-list-rest-api-ver2","Метод для быстрого получения всех данных из list-методов REST API Bitrix24 версии 2.",{"title":99,"path":104,"stem":105,"restApiVersion":96,"category":91,"description":106,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F2.call-list-rest-api-ver3","Метод для быстрого получения всех данных из list-методов REST API Bitrix24 версии 3.",{"title":108,"path":109,"stem":110,"restApiVersion":90,"category":91,"description":111,"badge":15},"FetchList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F2.fetch-list-rest-api-ver2","Возвращает AsyncGenerator, позволяющий обрабатывать данные из list-методов REST API Bitrix24 версии 2 по мере поступления, не загружая весь массив в память сразу. Особенно полезно при работе с очень большими объёмами данных.",{"title":108,"path":113,"stem":114,"restApiVersion":96,"category":91,"description":115,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F2.fetch-list-rest-api-ver3","Возвращает AsyncGenerator, позволяющий обрабатывать данные из list-методов REST API Bitrix24 версии 3 по мере поступления, не загружая весь массив в память сразу. Особенно полезно при работе с очень большими объёмами данных.",{"title":117,"path":118,"stem":119,"restApiVersion":15,"category":117,"description":120,"badge":15},"B24Hook","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhook","docs\u002F2.working-with-the-rest-api\u002F20.hook","Серверная точка входа для работы с REST API Bitrix24 через входящий вебхук (постоянный токен).",{"title":122,"path":123,"stem":124,"restApiVersion":90,"category":91,"description":125,"badge":15},"Batch","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F3.batch-rest-api-ver2","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 2. Позволяет выполнить до 50 команд в одном API-вызове.",{"title":122,"path":127,"stem":128,"restApiVersion":96,"category":91,"description":129,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F3.batch-rest-api-ver3","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 3. Позволяет выполнить до 50 команд в одном API-вызове.",{"title":84,"path":131,"stem":132,"restApiVersion":15,"category":133,"description":134,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe","docs\u002F2.working-with-the-rest-api\u002F30.frame","B24Frame","Предназначен для управления приложениями Bitrix24, работающими внутри placement-iframe. Наследуется от AbstractB24 и предоставляет менеджеры для аутентификации, обмена сообщениями с родительским окном, слайдеров, диалогов, placement и опций.",{"title":136,"path":137,"stem":138,"restApiVersion":15,"category":133,"description":139,"badge":15},"Инициализация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-initialize-b24-frame","docs\u002F2.working-with-the-rest-api\u002F30.frame-initialize-b24-frame","Функция предназначена для инициализации B24Frame",{"title":141,"path":142,"stem":143,"restApiVersion":15,"category":133,"description":144,"badge":15},"Авторизация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-auth","docs\u002F2.working-with-the-rest-api\u002F31.frame-auth","Предназначен для управления аутентификацией в приложениях Bitrix24. Обрабатывает данные аутентификации, полученные от родительского окна, и предоставляет методы для их обновления и получения.",{"title":146,"path":147,"stem":148,"restApiVersion":15,"category":133,"description":149,"badge":15},"Диалог","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-dialog","docs\u002F2.working-with-the-rest-api\u002F31.frame-dialog","Оборачивает системные диалоги BX24 (выбор пользователя, выбор прав доступа, выбор CRM-сущности), чтобы их можно было открывать изнутри iframe приложения Bitrix24.",{"title":151,"path":152,"stem":153,"restApiVersion":15,"category":133,"description":154,"badge":15},"Опции","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-options","docs\u002F2.working-with-the-rest-api\u002F31.frame-options","Используется для управления настройками приложения и пользователя в приложении Bitrix24. Позволяет инициализировать данные, получать и устанавливать опции через сообщения родительскому окну.",{"title":156,"path":157,"stem":158,"restApiVersion":15,"category":133,"description":159,"badge":15},"Родительское окно","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-parent","docs\u002F2.working-with-the-rest-api\u002F31.frame-parent","Предоставляет методы для управления родительским окном приложения в Bitrix24, включая изменение размера окна, управление прокруткой, инициацию звонков и открытие мессенджера.",{"title":161,"path":162,"stem":163,"restApiVersion":15,"category":133,"description":164,"badge":15},"Placement","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-placement","docs\u002F2.working-with-the-rest-api\u002F31.frame-placement","Используется для управления placement виджетов в приложении Bitrix24.",{"title":166,"path":167,"stem":168,"restApiVersion":15,"category":133,"description":169,"badge":15},"Слайдер","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-slider","docs\u002F2.working-with-the-rest-api\u002F31.frame-slider","Предоставляет методы для работы со слайдерами в приложении Bitrix24. Позволяет открывать и закрывать слайдеры, а также управлять их содержимым.",{"title":171,"path":172,"stem":173,"restApiVersion":90,"category":91,"description":174,"badge":15},"BatchByChunk","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-by-chunk-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F4.batch-by-chunk-rest-api-ver2","Метод для выполнения пакетных запросов с автоматическим разбиением на чанки для любого числа команд. Автоматически делит большие наборы команд на батчи по 50 и выполняет их последовательно. Используйте только массивы кортежей или массивы объектов.",{"title":171,"path":176,"stem":177,"restApiVersion":96,"category":91,"description":178,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-by-chunk-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F4.batch-by-chunk-rest-api-ver3","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 3 с автоматическим разбиением на чанки для любого числа команд. Автоматически делит большие наборы команд на батчи по 50 и выполняет их последовательно. Используйте только массивы кортежей или массивы объектов.",{"title":180,"path":181,"stem":182,"restApiVersion":15,"category":180,"description":183,"badge":15},"B24OAuth","\u002Fdocs\u002Fworking-with-the-rest-api\u002Foauth","docs\u002F2.working-with-the-rest-api\u002F40.oauth","Серверная точка входа для работы с REST API Bitrix24 по access token OAuth 2.0 (с автоматическим обновлением).",{"title":185,"path":186,"stem":187,"restApiVersion":15,"category":15,"description":188,"badge":15},"Выбор метода","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fchoosing-the-right-method","docs\u002F2.working-with-the-rest-api\u002F5.choosing-the-right-method","Руководство по выбору между Call, CallList, FetchList, Batch и BatchByChunk в REST API v2 и v3.",{"title":190,"path":191,"stem":192,"restApiVersion":15,"category":15,"description":193,"badge":15},"Фильтрация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffiltering","docs\u002F2.working-with-the-rest-api\u002F5.filtering","Справочник по построению параметров фильтра в Bitrix24 REST API v2 (префиксные операторы) и v3 (массив троек), включая формат дат и правило отбрасывания order.",{"title":195,"path":196,"stem":197,"restApiVersion":15,"category":198,"description":199,"badge":15},"B24HelperManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper","docs\u002F2.working-with-the-rest-api\u002F50.helper","Helper","Агрегирующий менеджер, который загружает данные профиля, приложения, оплаты, лицензии, валют и опций одним батч-запросом REST, а также подключает Pull-клиент.",{"title":201,"path":202,"stem":203,"restApiVersion":15,"category":198,"description":204,"badge":15},"useB24Helper","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-use-b24-helper","docs\u002F2.working-with-the-rest-api\u002F51.helper-use-b24-helper","Основанный на замыкании composable, который владеет единственным экземпляром B24HelperManager и предоставляет хелперы жизненного цикла (init \u002F destroy \u002F связка с Pull-клиентом).",{"title":206,"path":207,"stem":208,"restApiVersion":15,"category":198,"description":209,"badge":15},"ProfileManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-profile-manager","docs\u002F2.working-with-the-rest-api\u002F52.helper-profile-manager","Разобранный ответ REST-метода `profile`: id, имя, фамилия, пол, фото, часовой пояс, флаг администратора.",{"title":211,"path":212,"stem":213,"restApiVersion":15,"category":198,"description":214,"badge":15},"AppManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-app-manager","docs\u002F2.working-with-the-rest-api\u002F53.helper-app-manager","Разобранный ответ REST-метода `app.info`: id приложения, код, версия, статус, флаг установки.",{"title":216,"path":217,"stem":218,"restApiVersion":15,"category":198,"description":219,"badge":15},"PaymentManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-payment-manager","docs\u002F2.working-with-the-rest-api\u002F54.helper-payment-manager","Статус оплаты приложения Bitrix24 — извлекается из `app.info`.",{"title":221,"path":222,"stem":223,"restApiVersion":15,"category":198,"description":224,"badge":15},"LicenseManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-license-manager","docs\u002F2.working-with-the-rest-api\u002F55.helper-license-manager","Информация о лицензии Bitrix24 из `app.info` — и автоматическая перенастройка менеджера ограничений под соответствующий тарифный план.",{"title":226,"path":227,"stem":228,"restApiVersion":15,"category":198,"description":229,"badge":15},"CurrencyManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-currency-manager","docs\u002F2.working-with-the-rest-api\u002F56.helper-currency-manager","Каталог валют, кэшируемый в памяти — базовая валюта, форматтеры для каждой валюты и форматтер числа в строку.",{"title":231,"path":232,"stem":233,"restApiVersion":15,"category":198,"description":234,"badge":15},"OptionsManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-options-manager","docs\u002F2.working-with-the-rest-api\u002F57.helper-options-manager","Типизированный доступ к `app.option.get` \u002F `user.option.get`, плюс save(), который батчит `*.option.set` с необязательным Pull-уведомлением.",{"title":236,"path":237,"stem":238,"restApiVersion":15,"category":15,"description":239,"badge":15},"Ошибки","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ferrors","docs\u002F2.working-with-the-rest-api\u002F6.errors","Справочник кодов SdkError и AjaxError, выбрасываемых SDK, плюс коды ошибок REST Bitrix24, которые через них проявляются.",{"title":241,"path":242,"stem":243,"restApiVersion":15,"category":241,"description":244,"badge":15},"Pull","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fpull","docs\u002F2.working-with-the-rest-api\u002F60.pull","Поток сообщений в реальном времени от Bitrix24 к вашему приложению — WebSocket как основной канал, long-polling как запасной. Только для фрейма.",{"title":246,"path":247,"stem":248,"restApiVersion":15,"category":249,"description":250,"badge":15},"Logger","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogger","docs\u002F2.working-with-the-rest-api\u002F66.logger","logger","Логгер, вдохновлённый PHP Monolog, предоставляет структурированную систему логирования с поддержкой каналов, обработчиков, процессоров и форматтеров. Реализация следует принципам PSR-3 и паттерну цепочки ответственности.",{"title":252,"path":253,"stem":254,"restApiVersion":15,"category":249,"description":255,"badge":15},"Telegram","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogger-telegram","docs\u002F2.working-with-the-rest-api\u002F66.logger-telegram","Отправка логов в Telegram",{"title":257,"path":258,"stem":259,"restApiVersion":15,"category":15,"description":260,"badge":15},"Обнаружение v3-методов","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fdiscovering-v3-methods","docs\u002F2.working-with-the-rest-api\u002F7.discovering-v3-methods","Используйте rest.documentation.openapi, чтобы получить собственный машиночитаемый список всех доступных методов REST API v3 портала — источник истины, на который SDK опирается вместо захардкоженного allowlist. Особенно полезно для AI-агентов и кодогенерации.",{"title":262,"path":263,"stem":264,"restApiVersion":15,"category":265,"description":266,"badge":15},"AjaxResult","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-ajax-result","docs\u002F2.working-with-the-rest-api\u002F70.core-ajax-result","Core","Специализированный Result, возвращаемый каждым REST-хелпером. Предоставляет `isMore() \u002F getNext() \u002F getTotal() \u002F getStatus()` для постраничных ответов и неизменяемые данные.",{"title":268,"path":269,"stem":270,"restApiVersion":15,"category":265,"description":271,"badge":15},"Http","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-http","docs\u002F2.working-with-the-rest-api\u002F70.core-http","Низкоуровневый интерфейс транспорта, возвращаемый `b24.getHttpClient(version)`. Прямой доступ к axios-клиентам, параметрам ограничений, статистике и сбросу.",{"title":273,"path":274,"stem":275,"restApiVersion":15,"category":265,"description":276,"badge":15},"B24LangList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-lang-list","docs\u002F2.working-with-the-rest-api\u002F70.core-lang-list","Enum языков интерфейса облачного Bitrix24 плюс карта локалей BCP-47.",{"title":278,"path":279,"stem":280,"restApiVersion":15,"category":265,"description":281,"badge":15},"RequestIdGenerator","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-request-id-generator","docs\u002F2.working-with-the-rest-api\u002F70.core-request-id-generator","Реализация `IRequestIdGenerator` по умолчанию. Генерирует request id в формате UUID v7 и предоставляет имена HTTP-заголовка \u002F query-параметра, используемые SDK.",{"title":283,"path":284,"stem":285,"restApiVersion":15,"category":265,"description":286,"badge":15},"Result","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-result","docs\u002F2.working-with-the-rest-api\u002F70.core-result","Обобщённый результат операции с флагом успеха, данными и картой ошибок. Аналог \\\\Bitrix\\\\Main\\\\Result из Bitrix Framework.",{"title":288,"path":289,"stem":290,"restApiVersion":15,"category":291,"description":292,"badge":15},"Лимитеры","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flimiters","docs\u002F2.working-with-the-rest-api\u002F77.limiters","limiters","Система ограничений предоставляет комплексный механизм управления частотой запросов, временем выполнения операций и адаптивными задержками.",{"title":294,"path":295,"stem":296,"restApiVersion":15,"category":297,"description":298,"badge":15},"Логирование и редактирование","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogging","docs\u002F2.working-with-the-rest-api\u002F78.logging","logging","Что SDK редактирует автоматически до того, как информация о запросе попадёт в логгер или AjaxError, что он не редактирует, и как подключить кастомный логгер через setLogger(...) без повторного появления утечек учётных данных.",{"title":300,"path":301,"stem":302,"restApiVersion":15,"category":303,"description":304,"badge":15},"Browser","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-browser","docs\u002F2.working-with-the-rest-api\u002F80.tools-browser","tools","Дешёвый детектор user-agent \u002F платформы \u002F возможностей. Полезен для runtime-ветвлений во фронтенд-коде.",{"title":306,"path":307,"stem":308,"restApiVersion":15,"category":303,"description":309,"badge":15},"Text","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-text","docs\u002F2.working-with-the-rest-api\u002F80.tools-text","Утилиты для текста и дат — UUID v4 \u002F v7, кодирование \u002F декодирование HTML-сущностей, преобразования типов, хелперы регистра, `toDateTime` \u002F `toB24Format` на Luxon, форматирование чисел и конструктор query-строки.",{"title":311,"path":312,"stem":313,"restApiVersion":15,"category":303,"description":314,"badge":15},"Type","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-type","docs\u002F2.working-with-the-rest-api\u002F80.tools-type","Runtime type guards — строки, числа, обычные объекты, массивы, DOM-узлы, Blob, FormData, формы JSON-RPC сообщений.",{"title":316,"path":317,"stem":318,"restApiVersion":15,"category":303,"description":319,"badge":15},"useFormatter","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-use-formatters","docs\u002F2.working-with-the-rest-api\u002F80.tools-use-formatters","Composable, возвращающий общие экземпляры `FormatterNumbers` и `FormatterIban`, преднастроенные спецификациями стран.",{"title":321,"path":322,"stem":323,"restApiVersion":15,"category":324,"description":325,"badge":15},"IResult","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftypes-iresult","docs\u002F2.working-with-the-rest-api\u002F90.types-iresult","Types","Обобщённый интерфейс результата операции. Реализуется `Result\u003CT>` и (транзитивно) `AjaxResult\u003CT>`.",{"title":327,"path":328,"stem":329,"restApiVersion":15,"category":324,"description":330,"badge":15},"TypeB24","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftypes-type-b24","docs\u002F2.working-with-the-rest-api\u002F90.types-type-b24","Публичный контракт, реализуемый каждым классом-точкой входа (B24Frame, B24Hook, B24OAuth). Единый источник истины для поверхности SDK.",{"title":332,"path":333,"stem":334,"restApiVersion":15,"category":265,"description":335,"badge":15},"Телеметрия","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftelemetry","docs\u002F2.working-with-the-rest-api\u002F95.telemetry","Query-параметры request id, версии SDK и типа SDK, добавляемые к каждому REST-вызову Bitrix24.",{"title":337,"path":338,"stem":339,"restApiVersion":15,"category":265,"description":340,"badge":15},"Коды ошибок","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ferror-codes","docs\u002F2.working-with-the-rest-api\u002F96.error-codes","Каталог кодов ошибок, которые распознаёт SDK — разделённых на «hard» (выбрасываются) и «soft» (возвращаются как AjaxError внутри AjaxResult).",{"title":342,"path":343,"stem":344,"restApiVersion":15,"category":303,"description":345,"badge":15},"HealthCheck","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-health-check","docs\u002F2.working-with-the-rest-api\u002Ftools-health-check","Метод для проверки доступности REST API Bitrix24. Выполняет простой запрос к REST API для проверки работоспособности сервиса.",{"title":347,"path":348,"stem":349,"restApiVersion":15,"category":303,"description":350,"badge":15},"Ping","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-ping","docs\u002F2.working-with-the-rest-api\u002Ftools-ping","Метод для измерения скорости ответа REST API Bitrix24. Выполняет тестовый запрос и возвращает время ответа в миллисекундах.",{"title":352,"path":353,"stem":354,"children":355,"restApiVersion":15,"category":15,"description":15,"badge":15},"Примеры","\u002Fdocs\u002Fexamples","docs\u002F99.examples\u002F0.index",[356,358,364,369,374,379,384,389,394,399,404,409,414,419,424,429,434,439,444,449,454],{"title":84,"path":353,"stem":354,"restApiVersion":15,"category":15,"description":357,"badge":15},"Рецепты, сочетающие SDK с реалистичными сценариями — аналитика CRM, массовые рассылки, AI-ассистенты, установка по OAuth и не только. Каждый рецепт — отдельный файл, удобный для копирования.",{"title":359,"path":360,"stem":361,"restApiVersion":15,"category":362,"description":363,"badge":15},"Аналитика CRM","\u002Fdocs\u002Fexamples\u002Fcrm-analytics","docs\u002F99.examples\u002F1.crm-analytics","examples","Стримит все сделки через actions.v2.fetchList.make, группирует по стадиям, печатает отчёт по воронке (количество, конверсия %, средний чек, win rate).",{"title":365,"path":366,"stem":367,"restApiVersion":15,"category":362,"description":368,"badge":15},"Сделки → CSV","\u002Fdocs\u002Fexamples\u002Fdashboard-deals-csv","docs\u002F99.examples\u002F1.dashboard-deals-csv","Стримит каждую сделку CRM, подходящую под фильтр по дате, в CSV-файл через вебхук и FetchListV2.",{"title":370,"path":371,"stem":372,"restApiVersion":15,"category":15,"description":373,"badge":15},"Список сущностей","\u002Fdocs\u002Fexamples\u002Fentity-list","docs\u002F99.examples\u002F10.entity-list","Рендерит постраничный список сущностей Bitrix24 с компонентами B24UI и SDK-действием callList.",{"title":375,"path":376,"stem":377,"restApiVersion":15,"category":362,"description":378,"badge":15},"Обработка ошибок","\u002Fdocs\u002Fexamples\u002Ferror-handling","docs\u002F99.examples\u002F10.error-handling","Демонстрирует четыре слоя ошибок (SdkError \u002F AjaxError \u002F сетевые \u002F soft) и настройки hardErrorCodes \u002F softErrorCodes \u002F retryOnNetworkError у менеджера ограничений.",{"title":380,"path":381,"stem":382,"restApiVersion":15,"category":362,"description":383,"badge":15},"Регистрация событий","\u002Fdocs\u002Fexamples\u002Fevent-registration","docs\u002F99.examples\u002F11.event-registration","CLI-инструмент — список, привязка и отвязка исходящих событий вебхуков Bitrix24 через event.get \u002F event.bind \u002F event.unbind. В паре с рецептом обработчика вебхуков.",{"title":385,"path":386,"stem":387,"restApiVersion":15,"category":362,"description":388,"badge":15},"Установка OAuth","\u002Fdocs\u002Fexamples\u002Foauth-install","docs\u002F99.examples\u002F12.oauth-install","Express-сервер, который обрабатывает события ONAPPINSTALL \u002F ONAPPUPDATE \u002F ONAPPUNINSTALL для маркетплейс-приложения Bitrix24, сохраняет токены по порталам и создаёт клиент B24OAuth по требованию с callback обновления, подключённым к хранилищу.",{"title":390,"path":391,"stem":392,"restApiVersion":15,"category":362,"description":393,"badge":15},"Скелет frame-приложения","\u002Fdocs\u002Fexamples\u002Fframe-app-skeleton","docs\u002F99.examples\u002F2.frame-app-skeleton","Минимально жизнеспособное iframe-приложение Bitrix24: рукопожатие init, установка заголовка, сохранение состояния приложения, открытие слайдера, чистое закрытие.",{"title":395,"path":396,"stem":397,"restApiVersion":15,"category":362,"description":398,"badge":15},"Массовые рассылки","\u002Fdocs\u002Fexamples\u002Fmass-messaging","docs\u002F99.examples\u002F2.mass-messaging","Фильтрует контакты в CRM, персонализирует шаблон, отправляет IM-уведомления ответственным менеджерам.",{"title":400,"path":401,"stem":402,"restApiVersion":15,"category":15,"description":403,"badge":15},"Мастер установки","\u002Fdocs\u002Fexamples\u002Fapp-installation-wizard","docs\u002F99.examples\u002F20.app-installation-wizard","Многошаговый процесс установки, который создаёт пользовательские поля, регистрирует placement-ы, финализирует установку и празднует конфетти.",{"title":405,"path":406,"stem":407,"restApiVersion":15,"category":362,"description":408,"badge":15},"Автоматизация задач","\u002Fdocs\u002Fexamples\u002Ftask-automation","docs\u002F99.examples\u002F3.task-automation","Опрашивает стадии сделок каждые 60 с. При отслеживаемом переходе создаёт задачу с описанием, дедлайном и приоритетом.",{"title":410,"path":411,"stem":412,"restApiVersion":15,"category":362,"description":413,"badge":15},"Вебхук CLI","\u002Fdocs\u002Fexamples\u002Fwebhook-cli-node","docs\u002F99.examples\u002F3.webhook-cli-node","Node-скрипт на 30 строк, который аутентифицируется на портале Bitrix24 через входящий вебхук и печатает вызывающего пользователя — полезно как первое, что вы запускаете после создания вебхука.",{"title":415,"path":416,"stem":417,"restApiVersion":15,"category":15,"description":418,"badge":15},"Экспорт Node + Hook","\u002Fdocs\u002Fexamples\u002Fnode-hook-company-export","docs\u002F99.examples\u002F30.node-hook-company-export","Экспорт компаний Bitrix24 в CSV-файл из чистого Node.js-скрипта через B24Hook.",{"title":420,"path":421,"stem":422,"restApiVersion":15,"category":362,"description":423,"badge":15},"Массовое обновление","\u002Fdocs\u002Fexamples\u002Fbulk-update-deals","docs\u002F99.examples\u002F4.bulk-update-deals","Переносит тысячи сделок CRM на новую стадию через BatchByChunkV2 — автоматическое разбиение на чанки, обработка частичных ошибок и одна строка прогресса.",{"title":425,"path":426,"stem":427,"restApiVersion":15,"category":362,"description":428,"badge":15},"Синхронизация ERP","\u002Fdocs\u002Fexamples\u002Ferp-sync","docs\u002F99.examples\u002F4.erp-sync","Двусторонняя синхронизация контактов между Bitrix24 и внешней ERP. Сопоставление по ИНН (основное) или email (запасное). Cron каждый час.",{"title":430,"path":431,"stem":432,"restApiVersion":15,"category":362,"description":433,"badge":15},"Файлы Диска","\u002Fdocs\u002Fexamples\u002Fdisk-files","docs\u002F99.examples\u002F5.disk-files","Список хранилищ и содержимого папок, создание подпапок, просмотр файлов. Загрузка файлов (multipart) намеренно вне области.",{"title":435,"path":436,"stem":437,"restApiVersion":15,"category":362,"description":438,"badge":15},"Подписка на Pull","\u002Fdocs\u002Fexamples\u002Fpull-subscribe-frame","docs\u002F99.examples\u002F5.pull-subscribe-frame","Открыть живой канал из frame-приложения Bitrix24 и реагировать на push-события через useB24Helper + Pull-клиент.",{"title":440,"path":441,"stem":442,"restApiVersion":15,"category":362,"description":443,"badge":15},"Telegram-бот","\u002Fdocs\u002Fexamples\u002Ftelegram-bot","docs\u002F99.examples\u002F6.telegram-bot","Опрашивает новые сделки CRM каждые две минуты; уведомляет Telegram-чат HTML-карточкой.",{"title":445,"path":446,"stem":447,"restApiVersion":15,"category":362,"description":448,"badge":15},"Обработчик вебхуков","\u002Fdocs\u002Fexamples\u002Fwebhook-handler","docs\u002F99.examples\u002F7.webhook-handler","Express-сервер, который принимает исходящие события Bitrix24, подгружает детали через REST, маршрутизирует по имени события. Всегда возвращает 200.",{"title":450,"path":451,"stem":452,"restApiVersion":15,"category":362,"description":453,"badge":15},"AI-ассистент","\u002Fdocs\u002Fexamples\u002Fai-assistant","docs\u002F99.examples\u002F8.ai-assistant","Загружает сделку и её дела, спрашивает у GPT-4o лучшее следующее действие, создаёт задачу, привязанную к сделке, с приоритетом и дедлайном.",{"title":455,"path":456,"stem":457,"restApiVersion":15,"category":362,"description":458,"badge":15},"Веб-поиск + LLM","\u002Fdocs\u002Fexamples\u002Fweb-search-llm","docs\u002F99.examples\u002F9.web-search-llm","Двухшаговый RAG: запрос к любому провайдеру веб-поиска, прогон результата через ваш LLM с цитатами [N], публикация ответа комментарием в таймлайн CRM на сделке.",{"id":460,"title":461,"audited":462,"badge":15,"body":463,"category":91,"description":129,"extension":3407,"links":3408,"meta":3423,"navigation":3424,"path":127,"restApiVersion":96,"seo":3425,"stem":128,"__hash__":3426},"docs\u002Fdocs\u002F2.working-with-the-rest-api\u002F3.batch-rest-api-ver3.md","BatchV3.make","2026-07-01",{"type":464,"value":465,"toc":3387},"minimark",[466,471,497,745,749,808,813,820,910,917,924,927,986,993,996,1071,1078,1156,1163,1253,1257,1279,1282,1298,1302,1325,1345,1349,1359,1393,1404,1433,1686,1746,1749,1759,1766,1769,2069,2071,2075,2078,3321,3325,3383],[467,468,470],"h2",{"id":469},"overview","Обзор",[472,473,474,475,496],"p",{},"Используйте ",[476,477,481,486,490,493],"code",{"className":478,"language":479,"style":480},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts-type","",[482,483,485],"span",{"class":484},"sBMFI","BatchV3",[482,487,489],{"class":488},"sMK4o",".",[482,491,492],{"class":484},"make",[482,494,495],{"class":488},"()"," для выполнения до 50 команд REST API в одном запросе. Это особенно полезно, когда нужно получить или обновить большие объёмы данных, минимизируя сетевые запросы и соблюдая ограничения REST API.",[498,499,503],"pre",{"className":500,"code":501,"language":502,"meta":480,"style":480},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Базовое использование\nimport { EnumCrmEntityTypeId } from '@bitrix24\u002Fb24jssdk'\n\nconst response = await $b24.actions.v3.batch.make({\n  calls: [\n    ['tasks.task.get', { id: 1 }],\n    ['tasks.task.get', { id: 2 }]\n  ],\n  options: {\n    isHaltOnError: true,\n    returnAjaxResult: true,\n    requestId: 'unique-request-id'\n  }\n})\n","ts",[476,504,505,513,543,550,594,607,643,670,678,689,703,715,730,736],{"__ignoreMap":480},[482,506,509],{"class":507,"line":508},"line",1,[482,510,512],{"class":511},"sHwdD","\u002F\u002F Базовое использование\n",[482,514,516,520,523,527,530,533,536,540],{"class":507,"line":515},2,[482,517,519],{"class":518},"s7zQu","import",[482,521,522],{"class":488}," {",[482,524,526],{"class":525},"sTEyZ"," EnumCrmEntityTypeId",[482,528,529],{"class":488}," }",[482,531,532],{"class":518}," from",[482,534,535],{"class":488}," '",[482,537,539],{"class":538},"sfazB","@bitrix24\u002Fb24jssdk",[482,541,542],{"class":488},"'\n",[482,544,546],{"class":507,"line":545},3,[482,547,549],{"emptyLinePlaceholder":548},true,"\n",[482,551,553,557,560,563,566,569,571,573,575,578,580,583,585,588,591],{"class":507,"line":552},4,[482,554,556],{"class":555},"spNyl","const",[482,558,559],{"class":525}," response ",[482,561,562],{"class":488},"=",[482,564,565],{"class":518}," await",[482,567,568],{"class":525}," $b24",[482,570,489],{"class":488},[482,572,91],{"class":525},[482,574,489],{"class":488},[482,576,577],{"class":525},"v3",[482,579,489],{"class":488},[482,581,582],{"class":525},"batch",[482,584,489],{"class":488},[482,586,492],{"class":587},"s2Zo4",[482,589,590],{"class":525},"(",[482,592,593],{"class":488},"{\n",[482,595,597,601,604],{"class":507,"line":596},5,[482,598,600],{"class":599},"swJcz","  calls",[482,602,603],{"class":488},":",[482,605,606],{"class":525}," [\n",[482,608,610,613,616,619,621,624,626,629,631,635,637,640],{"class":507,"line":609},6,[482,611,612],{"class":525},"    [",[482,614,615],{"class":488},"'",[482,617,618],{"class":538},"tasks.task.get",[482,620,615],{"class":488},[482,622,623],{"class":488},",",[482,625,522],{"class":488},[482,627,628],{"class":599}," id",[482,630,603],{"class":488},[482,632,634],{"class":633},"sbssI"," 1",[482,636,529],{"class":488},[482,638,639],{"class":525},"]",[482,641,642],{"class":488},",\n",[482,644,646,648,650,652,654,656,658,660,662,665,667],{"class":507,"line":645},7,[482,647,612],{"class":525},[482,649,615],{"class":488},[482,651,618],{"class":538},[482,653,615],{"class":488},[482,655,623],{"class":488},[482,657,522],{"class":488},[482,659,628],{"class":599},[482,661,603],{"class":488},[482,663,664],{"class":633}," 2",[482,666,529],{"class":488},[482,668,669],{"class":525},"]\n",[482,671,673,676],{"class":507,"line":672},8,[482,674,675],{"class":525},"  ]",[482,677,642],{"class":488},[482,679,681,684,686],{"class":507,"line":680},9,[482,682,683],{"class":599},"  options",[482,685,603],{"class":488},[482,687,688],{"class":488}," {\n",[482,690,692,695,697,701],{"class":507,"line":691},10,[482,693,694],{"class":599},"    isHaltOnError",[482,696,603],{"class":488},[482,698,700],{"class":699},"sfNiH"," true",[482,702,642],{"class":488},[482,704,706,709,711,713],{"class":507,"line":705},11,[482,707,708],{"class":599},"    returnAjaxResult",[482,710,603],{"class":488},[482,712,700],{"class":699},[482,714,642],{"class":488},[482,716,718,721,723,725,728],{"class":507,"line":717},12,[482,719,720],{"class":599},"    requestId",[482,722,603],{"class":488},[482,724,535],{"class":488},[482,726,727],{"class":538},"unique-request-id",[482,729,542],{"class":488},[482,731,733],{"class":507,"line":732},13,[482,734,735],{"class":488},"  }\n",[482,737,739,742],{"class":507,"line":738},14,[482,740,741],{"class":488},"}",[482,743,744],{"class":525},")\n",[467,746,748],{"id":747},"method-signature","Сигнатура метода",[498,750,752],{"className":478,"code":751,"language":479,"meta":480,"style":480},"make\u003CT = unknown>(\n  options: ActionBatchV3\n): Promise\u003CCallBatchResult\u003CT>>\n",[476,753,754,776,786],{"__ignoreMap":480},[482,755,756,758,761,764,767,770,773],{"class":507,"line":508},[482,757,492],{"class":484},[482,759,760],{"class":488},"\u003C",[482,762,763],{"class":484},"T",[482,765,766],{"class":525}," = ",[482,768,769],{"class":484},"unknown",[482,771,772],{"class":488},">",[482,774,775],{"class":525},"(\n",[482,777,778,781,783],{"class":507,"line":515},[482,779,683],{"class":780},"sHdIc",[482,782,603],{"class":488},[482,784,785],{"class":484}," ActionBatchV3\n",[482,787,788,791,793,796,798,801,803,805],{"class":507,"line":545},[482,789,790],{"class":525},")",[482,792,603],{"class":488},[482,794,795],{"class":484}," Promise",[482,797,760],{"class":488},[482,799,800],{"class":484},"CallBatchResult",[482,802,760],{"class":488},[482,804,763],{"class":484},[482,806,807],{"class":488},">>\n",[809,810,812],"h3",{"id":811},"parameters","Параметры",[472,814,815,816,819],{},"Объект ",[476,817,818],{},"options"," содержит следующие свойства:",[821,822,823,842],"table",{},[824,825,826],"thead",{},[827,828,829,833,836,839],"tr",{},[830,831,832],"th",{},"Параметр",[830,834,835],{},"Тип",[830,837,838],{},"Обязательный",[830,840,841],{},"Описание",[843,844,845,885],"tbody",{},[827,846,847,856,874,877],{},[848,849,850],"td",{},[851,852,853],"strong",{},[476,854,855],{},"calls",[848,857,858],{},[476,859,860,863,866,869,871],{"className":478,"language":479,"style":480},[482,861,862],{"class":484},"BatchCommandsArrayUniversal",[482,864,865],{"class":488}," |",[482,867,868],{"class":484}," BatchCommandsObjectUniversal",[482,870,865],{"class":488},[482,872,873],{"class":484}," BatchNamedCommandsUniversal",[848,875,876],{},"Да",[848,878,879,880,489],{},"Команды для выполнения в батче. Поддерживает несколько ",[881,882,884],"a",{"href":883},"#command-formats-optionscalls","форматов",[827,886,887,893,900,903],{},[848,888,889],{},[851,890,891],{},[476,892,818],{},[848,894,895],{},[476,896,897],{"className":478,"language":479,"style":480},[482,898,899],{"class":484},"IB24BatchOptions",[848,901,902],{},"Нет",[848,904,905,909],{},[881,906,908],{"href":907},"#batch-request-options-optionsoptions","Дополнительные опции"," для выполнения пакетного запроса.",[809,911,913,914,790],{"id":912},"command-formats-optionscalls","Форматы команд (",[476,915,916],{},"options.calls",[918,919,921,922,790],"h4",{"id":920},"_1-массив-кортежей-batchcommandsarrayuniversal","1. Массив кортежей (",[476,923,862],{},[472,925,926],{},"\u002F\u002F @check-ignore: partial snippet — calls array literal, not a valid statement",[498,928,930],{"className":500,"code":929,"language":502,"meta":480,"style":480},"calls: [\n  ['method1', params1],\n  ['method2', params2],\n  \u002F\u002F ...\n]\n",[476,931,932,940,959,977,982],{"__ignoreMap":480},[482,933,934,936,938],{"class":507,"line":508},[482,935,855],{"class":484},[482,937,603],{"class":488},[482,939,606],{"class":525},[482,941,942,945,947,950,952,954,957],{"class":507,"line":515},[482,943,944],{"class":525},"  [",[482,946,615],{"class":488},[482,948,949],{"class":538},"method1",[482,951,615],{"class":488},[482,953,623],{"class":488},[482,955,956],{"class":525}," params1]",[482,958,642],{"class":488},[482,960,961,963,965,968,970,972,975],{"class":507,"line":545},[482,962,944],{"class":525},[482,964,615],{"class":488},[482,966,967],{"class":538},"method2",[482,969,615],{"class":488},[482,971,623],{"class":488},[482,973,974],{"class":525}," params2]",[482,976,642],{"class":488},[482,978,979],{"class":507,"line":552},[482,980,981],{"class":511},"  \u002F\u002F ...\n",[482,983,984],{"class":507,"line":596},[482,985,669],{"class":525},[918,987,989,990,790],{"id":988},"_2-массив-объектов-batchcommandsobjectuniversal","2. Массив объектов (",[476,991,992],{},"BatchCommandsObjectUniversal",[472,994,995],{},"\u002F\u002F @check-ignore: partial snippet — object array literal, not a valid statement",[498,997,999],{"className":500,"code":998,"language":502,"meta":480,"style":480},"calls: [\n  { method: 'method1', params: params1 },\n  { method: 'method2', params: params2 },\n  \u002F\u002F ...\n]\n",[476,1000,1001,1009,1038,1063,1067],{"__ignoreMap":480},[482,1002,1003,1005,1007],{"class":507,"line":508},[482,1004,855],{"class":484},[482,1006,603],{"class":488},[482,1008,606],{"class":525},[482,1010,1011,1014,1017,1019,1021,1023,1025,1027,1030,1032,1035],{"class":507,"line":515},[482,1012,1013],{"class":488},"  {",[482,1015,1016],{"class":599}," method",[482,1018,603],{"class":488},[482,1020,535],{"class":488},[482,1022,949],{"class":538},[482,1024,615],{"class":488},[482,1026,623],{"class":488},[482,1028,1029],{"class":599}," params",[482,1031,603],{"class":488},[482,1033,1034],{"class":525}," params1 ",[482,1036,1037],{"class":488},"},\n",[482,1039,1040,1042,1044,1046,1048,1050,1052,1054,1056,1058,1061],{"class":507,"line":545},[482,1041,1013],{"class":488},[482,1043,1016],{"class":599},[482,1045,603],{"class":488},[482,1047,535],{"class":488},[482,1049,967],{"class":538},[482,1051,615],{"class":488},[482,1053,623],{"class":488},[482,1055,1029],{"class":599},[482,1057,603],{"class":488},[482,1059,1060],{"class":525}," params2 ",[482,1062,1037],{"class":488},[482,1064,1065],{"class":507,"line":552},[482,1066,981],{"class":511},[482,1068,1069],{"class":507,"line":596},[482,1070,669],{"class":525},[918,1072,1074,1075,790],{"id":1073},"_3-объект-с-именованными-командами-batchnamedcommandsuniversal","3. Объект с именованными командами (",[476,1076,1077],{},"BatchNamedCommandsUniversal",[498,1079,1081],{"className":478,"code":1080,"language":479,"meta":480,"style":480},"calls: {\n  command1: { method: 'method1', params: params1 },\n  command2: ['method2', params2],\n  \u002F\u002F ...\n}\n",[476,1082,1083,1091,1122,1147,1151],{"__ignoreMap":480},[482,1084,1085,1087,1089],{"class":507,"line":508},[482,1086,855],{"class":484},[482,1088,603],{"class":488},[482,1090,688],{"class":488},[482,1092,1093,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1119],{"class":507,"line":515},[482,1094,1095],{"class":599},"  command1",[482,1097,603],{"class":488},[482,1099,522],{"class":488},[482,1101,1016],{"class":599},[482,1103,603],{"class":488},[482,1105,535],{"class":488},[482,1107,949],{"class":538},[482,1109,615],{"class":488},[482,1111,623],{"class":488},[482,1113,1029],{"class":599},[482,1115,603],{"class":488},[482,1117,1118],{"class":484}," params1",[482,1120,1121],{"class":488}," },\n",[482,1123,1124,1127,1129,1132,1134,1136,1138,1140,1143,1145],{"class":507,"line":545},[482,1125,1126],{"class":599},"  command2",[482,1128,603],{"class":488},[482,1130,1131],{"class":525}," [",[482,1133,615],{"class":488},[482,1135,967],{"class":538},[482,1137,615],{"class":488},[482,1139,623],{"class":488},[482,1141,1142],{"class":484}," params2",[482,1144,639],{"class":525},[482,1146,642],{"class":488},[482,1148,1149],{"class":507,"line":552},[482,1150,981],{"class":511},[482,1152,1153],{"class":507,"line":596},[482,1154,1155],{"class":488},"}\n",[809,1157,1159,1160,790],{"id":1158},"batch-request-options-optionsoptions","Опции пакетного запроса (",[476,1161,1162],{},"options.options",[821,1164,1165,1179],{},[824,1166,1167],{},[827,1168,1169,1172,1174,1177],{},[830,1170,1171],{},"Опция",[830,1173,835],{},[830,1175,1176],{},"По умолчанию",[830,1178,841],{},[843,1180,1181,1205,1231],{},[827,1182,1183,1190,1197,1202],{},[848,1184,1185],{},[851,1186,1187],{},[476,1188,1189],{},"isHaltOnError",[848,1191,1192],{},[476,1193,1194],{"className":478,"language":479,"style":480},[482,1195,1196],{"class":484},"boolean",[848,1198,1199],{},[476,1200,1201],{},"true",[848,1203,1204],{},"Останавливать ли выполнение при первой ошибке.",[827,1206,1207,1214,1220,1225],{},[848,1208,1209],{},[851,1210,1211],{},[476,1212,1213],{},"returnAjaxResult",[848,1215,1216],{},[476,1217,1218],{"className":478,"language":479,"style":480},[482,1219,1196],{"class":484},[848,1221,1222],{},[476,1223,1224],{},"false",[848,1226,1227,1228,1230],{},"Возвращать ли объект ",[476,1229,262],{}," вместо данных.",[827,1232,1233,1240,1247,1250],{},[848,1234,1235],{},[851,1236,1237],{},[476,1238,1239],{},"requestId",[848,1241,1242],{},[476,1243,1244],{"className":478,"language":479,"style":480},[482,1245,1246],{"class":484},"string",[848,1248,1249],{},"—",[848,1251,1252],{},"Уникальный идентификатор запроса для отслеживания. Используется для дедупликации запросов и отладки.",[809,1254,1256],{"id":1255},"return-value","Возвращаемое значение",[472,1258,1259,1275,1276,489],{},[476,1260,1261,1264,1266,1268,1270,1272],{"className":478,"language":479,"style":480},[482,1262,1263],{"class":484},"Promise",[482,1265,760],{"class":488},[482,1267,800],{"class":484},[482,1269,760],{"class":488},[482,1271,763],{"class":484},[482,1273,1274],{"class":488},">>"," — promise, разрешающийся в объект ",[476,1277,1278],{},"CallBatchResult\u003CT>",[472,1280,1281],{},"Структура результата зависит от формата входных данных:",[1283,1284,1285,1292],"ul",{},[1286,1287,1288,1291],"li",{},[851,1289,1290],{},"Для массива команд",": массив результатов в том же порядке.",[1286,1293,1294,1297],{},[851,1295,1296],{},"Для именованных команд",": объект с ключами, соответствующими именам команд.",[467,1299,1301],{"id":1300},"result-item-data","Данные элемента результата",[472,1303,1304,1305,1308,1309,1312,1313,1315,1316,489],{},"Каждый ",[476,1306,1307],{},"result"," отдельной команды возвращается ровно так, как его отдал REST API,\nвключая ",[476,1310,1311],{},"null",", когда вызываемый метод действительно не возвращает данных.\nПри типизации generic для методов, которые могут вернуть ",[476,1314,1311],{},", объявляйте его как\n",[476,1317,1318,1320,1322],{"className":478,"language":479,"style":480},[482,1319,763],{"class":484},[482,1321,865],{"class":488},[482,1323,1324],{"class":484}," null",[1326,1327,1328],"note",{},[472,1329,1330,1331,1333,1334,1337,1338,1344],{},"До v1.1.1 результат ",[476,1332,1311],{}," приводился к ",[476,1335,1336],{},"{}",", что ломало nullable-type-guards на\nстороне вызова (см. ",[881,1339,1343],{"href":1340,"rel":1341},"https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fissues\u002F23",[1342],"nofollow","issue #23",").",[467,1346,1348],{"id":1347},"limitations","Ограничения",[472,1350,1351,1352,1355,1356,603],{},"Батч ",[476,1353,1354],{},"restApi:v3"," — ",[851,1357,1358],{},"всё или ничего",[1283,1360,1361,1372,1385],{},[1286,1362,1363,1364,1367,1368,1371],{},"Ошибки отдельных команд не возвращаются. Если любая команда в батче упадёт, весь батч провалится, и\n",[476,1365,1366],{},"response.getErrorMessages()"," верхнего уровня будет содержать ошибку(и); ",[476,1369,1370],{},"getData()"," вернёт\nпустую map.",[1286,1373,1374,1377,1378,1380,1381,1384],{},[476,1375,1376],{},"time"," на каждом ",[476,1379,262],{}," — это время уровня батча, не отдельной команды.\nОграничитель частоты ",[851,1382,1383],{},"не"," относит длительность батча к отдельным методам.",[1286,1386,1387,1388,489],{},"Если в успешном v3-ответе отсутствует запись результата для какой-то команды (что указывает\nна некорректный ответ API), SDK бросает\n",[476,1389,1390],{"className":478,"language":479,"style":480},[482,1391,1392],{"class":484},"JSSDK_INTERACTION_BATCH_STRATEGY_V3_EMPTY_COMMAND_RESPONSE",[467,1394,1396,1397,1400,1401,790],{"id":1395},"passing-data-between-commands-ref-refarray","Передача данных между командами (",[476,1398,1399],{},"$ref"," \u002F ",[476,1402,1403],{},"$refArray",[472,1405,1406,1407,1410,1411,1414,1415,1417,1418,1420,1421,1424,1425,1428,1429,1432],{},"Батч v3 может подать вывод одной команды во ",[476,1408,1409],{},"params"," последующей. Дайте команде-источнику алиас ",[476,1412,1413],{},"as",", затем сошлитесь на него маркером ",[476,1416,1399],{}," (одно значение) или ",[476,1419,1403],{}," (поле, собранное по ",[476,1422,1423],{},"items[]"," источника). ",[851,1426,1427],{},"Подстановку выполняет сервер"," — SDK лишь пробрасывает маркер. Используйте хелпер ",[476,1430,1431],{},"BatchRefV3"," для сборки маркеров (он валидирует путь на стороне клиента):",[498,1434,1436],{"className":500,"code":1435,"language":502,"meta":480,"style":480},"import { BatchRefV3 as R } from '@bitrix24\u002Fb24jssdk'\n\nconst response = await $b24.actions.v3.batch.make({\n  calls: [\n    { method: 'tasks.task.list', as: 'tasks', params: { select: ['id'] } },\n    {\n      method: 'tasks.task.list',\n      \u002F\u002F сервер разворачивает это в `['id', 'in', [\u003Cid, собранные из tasks.items>]]`\n      params: { select: ['id', 'title'], filter: [['id', 'in', R.refArray('tasks.id')]] }\n    }\n  ]\n})\n",[476,1437,1438,1463,1467,1499,1507,1565,1570,1585,1590,1670,1675,1680],{"__ignoreMap":480},[482,1439,1440,1442,1444,1447,1450,1453,1455,1457,1459,1461],{"class":507,"line":508},[482,1441,519],{"class":518},[482,1443,522],{"class":488},[482,1445,1446],{"class":525}," BatchRefV3",[482,1448,1449],{"class":518}," as",[482,1451,1452],{"class":525}," R",[482,1454,529],{"class":488},[482,1456,532],{"class":518},[482,1458,535],{"class":488},[482,1460,539],{"class":538},[482,1462,542],{"class":488},[482,1464,1465],{"class":507,"line":515},[482,1466,549],{"emptyLinePlaceholder":548},[482,1468,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487,1489,1491,1493,1495,1497],{"class":507,"line":545},[482,1470,556],{"class":555},[482,1472,559],{"class":525},[482,1474,562],{"class":488},[482,1476,565],{"class":518},[482,1478,568],{"class":525},[482,1480,489],{"class":488},[482,1482,91],{"class":525},[482,1484,489],{"class":488},[482,1486,577],{"class":525},[482,1488,489],{"class":488},[482,1490,582],{"class":525},[482,1492,489],{"class":488},[482,1494,492],{"class":587},[482,1496,590],{"class":525},[482,1498,593],{"class":488},[482,1500,1501,1503,1505],{"class":507,"line":552},[482,1502,600],{"class":599},[482,1504,603],{"class":488},[482,1506,606],{"class":525},[482,1508,1509,1512,1514,1516,1518,1521,1523,1525,1527,1529,1531,1534,1536,1538,1540,1542,1544,1547,1549,1551,1553,1556,1558,1561,1563],{"class":507,"line":596},[482,1510,1511],{"class":488},"    {",[482,1513,1016],{"class":599},[482,1515,603],{"class":488},[482,1517,535],{"class":488},[482,1519,1520],{"class":538},"tasks.task.list",[482,1522,615],{"class":488},[482,1524,623],{"class":488},[482,1526,1449],{"class":599},[482,1528,603],{"class":488},[482,1530,535],{"class":488},[482,1532,1533],{"class":538},"tasks",[482,1535,615],{"class":488},[482,1537,623],{"class":488},[482,1539,1029],{"class":599},[482,1541,603],{"class":488},[482,1543,522],{"class":488},[482,1545,1546],{"class":599}," select",[482,1548,603],{"class":488},[482,1550,1131],{"class":525},[482,1552,615],{"class":488},[482,1554,1555],{"class":538},"id",[482,1557,615],{"class":488},[482,1559,1560],{"class":525},"] ",[482,1562,741],{"class":488},[482,1564,1121],{"class":488},[482,1566,1567],{"class":507,"line":609},[482,1568,1569],{"class":488},"    {\n",[482,1571,1572,1575,1577,1579,1581,1583],{"class":507,"line":645},[482,1573,1574],{"class":599},"      method",[482,1576,603],{"class":488},[482,1578,535],{"class":488},[482,1580,1520],{"class":538},[482,1582,615],{"class":488},[482,1584,642],{"class":488},[482,1586,1587],{"class":507,"line":672},[482,1588,1589],{"class":511},"      \u002F\u002F сервер разворачивает это в `['id', 'in', [\u003Cid, собранные из tasks.items>]]`\n",[482,1591,1592,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1618,1620,1622,1624,1627,1629,1632,1634,1636,1638,1640,1642,1645,1647,1649,1651,1653,1656,1658,1660,1663,1665,1668],{"class":507,"line":680},[482,1593,1594],{"class":599},"      params",[482,1596,603],{"class":488},[482,1598,522],{"class":488},[482,1600,1546],{"class":599},[482,1602,603],{"class":488},[482,1604,1131],{"class":525},[482,1606,615],{"class":488},[482,1608,1555],{"class":538},[482,1610,615],{"class":488},[482,1612,623],{"class":488},[482,1614,535],{"class":488},[482,1616,1617],{"class":538},"title",[482,1619,615],{"class":488},[482,1621,639],{"class":525},[482,1623,623],{"class":488},[482,1625,1626],{"class":599}," filter",[482,1628,603],{"class":488},[482,1630,1631],{"class":525}," [[",[482,1633,615],{"class":488},[482,1635,1555],{"class":538},[482,1637,615],{"class":488},[482,1639,623],{"class":488},[482,1641,535],{"class":488},[482,1643,1644],{"class":538},"in",[482,1646,615],{"class":488},[482,1648,623],{"class":488},[482,1650,1452],{"class":525},[482,1652,489],{"class":488},[482,1654,1655],{"class":587},"refArray",[482,1657,590],{"class":525},[482,1659,615],{"class":488},[482,1661,1662],{"class":538},"tasks.id",[482,1664,615],{"class":488},[482,1666,1667],{"class":525},")]] ",[482,1669,1155],{"class":488},[482,1671,1672],{"class":507,"line":691},[482,1673,1674],{"class":488},"    }\n",[482,1676,1677],{"class":507,"line":705},[482,1678,1679],{"class":525},"  ]\n",[482,1681,1682,1684],{"class":507,"line":717},[482,1683,741],{"class":488},[482,1685,744],{"class":525},[1283,1687,1688,1714,1730,1736],{},[1286,1689,1690,1693,1694,1697,1698,1701,1702,1705,1706,1709,1710,1713],{},[476,1691,1692],{},"R.ref('alias.path.to.field')"," → ",[476,1695,1696],{},"{ $ref: '…' }"," — одно значение. В контекст попадают только ",[476,1699,1700],{},"item","\n(get) и ",[476,1703,1704],{},"items"," (list\u002Ftail); ",[476,1707,1708],{},"add"," → id \u002F ",[476,1711,1712],{},"update"," → bool — нет.",[1286,1715,1716,1693,1719,1722,1723,1726,1727,1729],{},[476,1717,1718],{},"R.refArray('alias.field')",[476,1720,1721],{},"{ $refArray: '…' }"," — собирает ",[476,1724,1725],{},"field"," по ",[476,1728,1423],{},"\nалиаса. Путь должен содержать точку.",[1286,1731,1732,1733,489],{},"Некорректный путь или неразрешённая ссылка проваливают батч с\n",[476,1734,1735],{},"BITRIX_REST_V3_EXCEPTION_INVALIDSELECTEXCEPTION",[1286,1737,1738,1741,1742,1745],{},[851,1739,1740],{},"Только v3."," Эти маркеры не подставляются в v2-батче\n(",[476,1743,1744],{},"actions.v2.batch.make",") — там они становятся литеральными значениями фильтра и\nмолча дают неверный\u002Fпустой результат.",[467,1747,375],{"id":1748},"error-handling",[472,1750,1751,1752,1758],{},"SDK больше не проверяет методы батча по клиентскому списку v3: каждая команда отправляется на v3-batch-endpoint, и сервер валидирует каждую. Команда, называющая не-v3-метод, возвращается как серверная ошибка для этой команды (и, по семантике v3-батча, ошибка прерывает батч). Используйте ",[881,1753,1755],{"href":1754},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-rest-api-ver2\u002F",[476,1756,1757],{},"BatchV2.make()",", если батч содержит legacy-методы, или разделите смешанные батчи по версиям API.",[472,1760,1761,1762,1765],{},"Для успешных запросов всегда проверяйте ",[476,1763,1764],{},"isSuccess"," и обрабатывайте ошибки:",[472,1767,1768],{},"\u002F\u002F @check-ignore: top-level return in error-handling illustration",[498,1770,1772],{"className":500,"code":1771,"language":502,"meta":480,"style":480},"const response = await $b24.actions.v3.batch.make({\n  calls: [\n    { method: 'tasks.task.get', params: { id: 1 } },\n    { method: 'tasks.task.get', params: { id: 2 } }\n  ],\n  options: {\n    isHaltOnError: true,\n    returnAjaxResult: true,\n    requestId: 'unique-request-id'\n  }\n})\n\nif (!response.isSuccess) {\n  \u002F\u002F Обработка ошибки\n  console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))\n  return\n}\n\n\u002F\u002F Работа с успешным результатом\nconst data = response.getData()\n",[476,1773,1774,1806,1814,1846,1879,1885,1893,1903,1913,1925,1929,1935,1939,1960,1965,2026,2032,2037,2042,2048],{"__ignoreMap":480},[482,1775,1776,1778,1780,1782,1784,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804],{"class":507,"line":508},[482,1777,556],{"class":555},[482,1779,559],{"class":525},[482,1781,562],{"class":488},[482,1783,565],{"class":518},[482,1785,568],{"class":525},[482,1787,489],{"class":488},[482,1789,91],{"class":525},[482,1791,489],{"class":488},[482,1793,577],{"class":525},[482,1795,489],{"class":488},[482,1797,582],{"class":525},[482,1799,489],{"class":488},[482,1801,492],{"class":587},[482,1803,590],{"class":525},[482,1805,593],{"class":488},[482,1807,1808,1810,1812],{"class":507,"line":515},[482,1809,600],{"class":599},[482,1811,603],{"class":488},[482,1813,606],{"class":525},[482,1815,1816,1818,1820,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844],{"class":507,"line":545},[482,1817,1511],{"class":488},[482,1819,1016],{"class":599},[482,1821,603],{"class":488},[482,1823,535],{"class":488},[482,1825,618],{"class":538},[482,1827,615],{"class":488},[482,1829,623],{"class":488},[482,1831,1029],{"class":599},[482,1833,603],{"class":488},[482,1835,522],{"class":488},[482,1837,628],{"class":599},[482,1839,603],{"class":488},[482,1841,634],{"class":633},[482,1843,529],{"class":488},[482,1845,1121],{"class":488},[482,1847,1848,1850,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876],{"class":507,"line":552},[482,1849,1511],{"class":488},[482,1851,1016],{"class":599},[482,1853,603],{"class":488},[482,1855,535],{"class":488},[482,1857,618],{"class":538},[482,1859,615],{"class":488},[482,1861,623],{"class":488},[482,1863,1029],{"class":599},[482,1865,603],{"class":488},[482,1867,522],{"class":488},[482,1869,628],{"class":599},[482,1871,603],{"class":488},[482,1873,664],{"class":633},[482,1875,529],{"class":488},[482,1877,1878],{"class":488}," }\n",[482,1880,1881,1883],{"class":507,"line":596},[482,1882,675],{"class":525},[482,1884,642],{"class":488},[482,1886,1887,1889,1891],{"class":507,"line":609},[482,1888,683],{"class":599},[482,1890,603],{"class":488},[482,1892,688],{"class":488},[482,1894,1895,1897,1899,1901],{"class":507,"line":645},[482,1896,694],{"class":599},[482,1898,603],{"class":488},[482,1900,700],{"class":699},[482,1902,642],{"class":488},[482,1904,1905,1907,1909,1911],{"class":507,"line":672},[482,1906,708],{"class":599},[482,1908,603],{"class":488},[482,1910,700],{"class":699},[482,1912,642],{"class":488},[482,1914,1915,1917,1919,1921,1923],{"class":507,"line":680},[482,1916,720],{"class":599},[482,1918,603],{"class":488},[482,1920,535],{"class":488},[482,1922,727],{"class":538},[482,1924,542],{"class":488},[482,1926,1927],{"class":507,"line":691},[482,1928,735],{"class":488},[482,1930,1931,1933],{"class":507,"line":705},[482,1932,741],{"class":488},[482,1934,744],{"class":525},[482,1936,1937],{"class":507,"line":717},[482,1938,549],{"emptyLinePlaceholder":548},[482,1940,1941,1944,1947,1950,1953,1955,1958],{"class":507,"line":732},[482,1942,1943],{"class":518},"if",[482,1945,1946],{"class":525}," (",[482,1948,1949],{"class":488},"!",[482,1951,1952],{"class":525},"response",[482,1954,489],{"class":488},[482,1956,1957],{"class":525},"isSuccess) ",[482,1959,593],{"class":488},[482,1961,1962],{"class":507,"line":738},[482,1963,1964],{"class":511},"  \u002F\u002F Обработка ошибки\n",[482,1966,1968,1971,1973,1976,1978,1981,1984,1986,1989,1992,1995,1997,1999,2002,2004,2006,2009,2011,2013,2016,2018,2020,2023],{"class":507,"line":1967},15,[482,1969,1970],{"class":525},"  console",[482,1972,489],{"class":488},[482,1974,1975],{"class":587},"error",[482,1977,590],{"class":599},[482,1979,1980],{"class":488},"new",[482,1982,1983],{"class":587}," Error",[482,1985,590],{"class":599},[482,1987,1988],{"class":488},"`",[482,1990,1991],{"class":538},"Error: ",[482,1993,1994],{"class":488},"${",[482,1996,1952],{"class":525},[482,1998,489],{"class":488},[482,2000,2001],{"class":587},"getErrorMessages",[482,2003,495],{"class":525},[482,2005,489],{"class":488},[482,2007,2008],{"class":587},"join",[482,2010,590],{"class":525},[482,2012,615],{"class":488},[482,2014,2015],{"class":538},"; ",[482,2017,615],{"class":488},[482,2019,790],{"class":525},[482,2021,2022],{"class":488},"}`",[482,2024,2025],{"class":599},"))\n",[482,2027,2029],{"class":507,"line":2028},16,[482,2030,2031],{"class":518},"  return\n",[482,2033,2035],{"class":507,"line":2034},17,[482,2036,1155],{"class":488},[482,2038,2040],{"class":507,"line":2039},18,[482,2041,549],{"emptyLinePlaceholder":548},[482,2043,2045],{"class":507,"line":2044},19,[482,2046,2047],{"class":511},"\u002F\u002F Работа с успешным результатом\n",[482,2049,2051,2053,2056,2058,2061,2063,2066],{"class":507,"line":2050},20,[482,2052,556],{"class":555},[482,2054,2055],{"class":525}," data ",[482,2057,562],{"class":488},[482,2059,2060],{"class":525}," response",[482,2062,489],{"class":488},[482,2064,2065],{"class":587},"getData",[482,2067,2068],{"class":525},"()\n",[467,2070,352],{"id":362},[809,2072,2074],{"id":2073},"getting-some-tasks","Получение нескольких задач",[472,2076,2077],{},"\u002F\u002F @check-ignore: full example — processResult callback and BatchCommands tuple inference not in scope",[498,2079,2082],{"className":500,"code":2080,"filename":2081,"language":502,"meta":480,"style":480},"import type { AjaxResult, Result } from '@bitrix24\u002Fb24jssdk'\nimport { AjaxError, B24Hook, LoggerFactory, SdkError } from '@bitrix24\u002Fb24jssdk'\n\ntype TaskItem = {\n  id: number\n  title: string\n}\n\nconst devMode = !!(typeof import.meta !== 'undefined' && (import.meta.dev || import.meta.env?.DEV))\nconst $logger = LoggerFactory.createForBrowser('Example:batchTasks', devMode)\nconst $b24 = B24Hook.fromWebhookUrl('https:\u002F\u002Fyour_domain.bitrix24.com\u002Frest\u002F1\u002Fwebhook_code\u002F')\n\nasync function getMultipleItems(itemIds: number[], requestId: string): Promise\u003CTaskItem[]> {\n  if (itemIds.length \u003C 1 || itemIds.length > 50) {\n    throw new SdkError({\n      code: 'MY_APP_GET_PROBLEM',\n      description: `The number of elements must be between 1 and 50`,\n      status: 404\n    })\n  }\n\n  const calls = itemIds.map(id => [\n    'tasks.task.get',\n    {\n      id,\n      select: ['id', 'title']\n    }\n  ])\n\n  const response = await $b24.actions.v3.batch.make\u003C{ item: TaskItem }>({\n    calls,\n    options: {\n      isHaltOnError: true,\n      returnAjaxResult: true,\n      requestId\n    }\n  })\n\n  if (!response.isSuccess) {\n    throw new Error(`Problem: ${response.getErrorMessages().join('; ')}`)\n  }\n\n  const resultData = (response as Result\u003CAjaxResult\u003C{ item: TaskItem }>[]>).getData() ?? []\n  const results: TaskItem[] = []\n  resultData.forEach((resultRow) => {\n    if (resultRow.isSuccess) {\n      const item = resultRow.getData()?.result.item\n      if (item) {\n        results.push(item)\n      }\n    }\n  })\n\n  return results\n}\n\n\u002F\u002F Использование\nconst requestId = 'batch\u002Ftasks.task.get'\ntry {\n  const itemIds = [1, 2, 3]\n  const items = await getMultipleItems(itemIds, requestId)\n  \n  $logger.info(`Retrieved ${items.length} items`, {\n    expected: itemIds.length,\n    retrieved: items.length,\n    items: items.map(c => ({ id: c.id, title: c.title }))\n  })\n} catch (error) {\n  if (error instanceof AjaxError) {\n    $logger.critical(error.message, { requestId, code: error.code })\n  } else {\n    $logger.alert('Problem', { requestId, error })\n  }\n}\n","BatchTasks.ts",[476,2083,2084,2111,2145,2149,2162,2172,2182,2186,2190,2262,2292,2319,2323,2373,2413,2427,2443,2460,2470,2477,2481,2486,2513,2525,2530,2538,2564,2569,2575,2580,2626,2634,2644,2656,2668,2674,2679,2687,2692,2711,2755,2760,2765,2816,2835,2859,2877,2905,2919,2936,2942,2947,2954,2959,2968,2973,2978,2984,3001,3009,3034,3058,3064,3100,3116,3132,3186,3193,3206,3224,3268,3278,3311,3316],{"__ignoreMap":480},[482,2085,2086,2088,2091,2093,2096,2098,2101,2103,2105,2107,2109],{"class":507,"line":508},[482,2087,519],{"class":518},[482,2089,2090],{"class":518}," type",[482,2092,522],{"class":488},[482,2094,2095],{"class":525}," AjaxResult",[482,2097,623],{"class":488},[482,2099,2100],{"class":525}," Result",[482,2102,529],{"class":488},[482,2104,532],{"class":518},[482,2106,535],{"class":488},[482,2108,539],{"class":538},[482,2110,542],{"class":488},[482,2112,2113,2115,2117,2120,2122,2125,2127,2130,2132,2135,2137,2139,2141,2143],{"class":507,"line":515},[482,2114,519],{"class":518},[482,2116,522],{"class":488},[482,2118,2119],{"class":525}," AjaxError",[482,2121,623],{"class":488},[482,2123,2124],{"class":525}," B24Hook",[482,2126,623],{"class":488},[482,2128,2129],{"class":525}," LoggerFactory",[482,2131,623],{"class":488},[482,2133,2134],{"class":525}," SdkError",[482,2136,529],{"class":488},[482,2138,532],{"class":518},[482,2140,535],{"class":488},[482,2142,539],{"class":538},[482,2144,542],{"class":488},[482,2146,2147],{"class":507,"line":545},[482,2148,549],{"emptyLinePlaceholder":548},[482,2150,2151,2154,2157,2160],{"class":507,"line":552},[482,2152,2153],{"class":555},"type",[482,2155,2156],{"class":484}," TaskItem",[482,2158,2159],{"class":488}," =",[482,2161,688],{"class":488},[482,2163,2164,2167,2169],{"class":507,"line":596},[482,2165,2166],{"class":599},"  id",[482,2168,603],{"class":488},[482,2170,2171],{"class":484}," number\n",[482,2173,2174,2177,2179],{"class":507,"line":609},[482,2175,2176],{"class":599},"  title",[482,2178,603],{"class":488},[482,2180,2181],{"class":484}," string\n",[482,2183,2184],{"class":507,"line":645},[482,2185,1155],{"class":488},[482,2187,2188],{"class":507,"line":672},[482,2189,549],{"emptyLinePlaceholder":548},[482,2191,2192,2194,2197,2199,2202,2204,2207,2210,2212,2215,2218,2220,2223,2225,2228,2230,2232,2234,2237,2239,2242,2245,2247,2249,2251,2253,2256,2259],{"class":507,"line":680},[482,2193,556],{"class":555},[482,2195,2196],{"class":525}," devMode ",[482,2198,562],{"class":488},[482,2200,2201],{"class":488}," !!",[482,2203,590],{"class":525},[482,2205,2206],{"class":488},"typeof",[482,2208,2209],{"class":518}," import",[482,2211,489],{"class":488},[482,2213,2214],{"class":525},"meta ",[482,2216,2217],{"class":488},"!==",[482,2219,535],{"class":488},[482,2221,2222],{"class":538},"undefined",[482,2224,615],{"class":488},[482,2226,2227],{"class":488}," &&",[482,2229,1946],{"class":525},[482,2231,519],{"class":518},[482,2233,489],{"class":488},[482,2235,2236],{"class":525},"meta",[482,2238,489],{"class":488},[482,2240,2241],{"class":525},"dev ",[482,2243,2244],{"class":488},"||",[482,2246,2209],{"class":518},[482,2248,489],{"class":488},[482,2250,2236],{"class":525},[482,2252,489],{"class":488},[482,2254,2255],{"class":525},"env",[482,2257,2258],{"class":488},"?.",[482,2260,2261],{"class":525},"DEV))\n",[482,2263,2264,2266,2269,2271,2273,2275,2278,2280,2282,2285,2287,2289],{"class":507,"line":691},[482,2265,556],{"class":555},[482,2267,2268],{"class":525}," $logger ",[482,2270,562],{"class":488},[482,2272,2129],{"class":525},[482,2274,489],{"class":488},[482,2276,2277],{"class":587},"createForBrowser",[482,2279,590],{"class":525},[482,2281,615],{"class":488},[482,2283,2284],{"class":538},"Example:batchTasks",[482,2286,615],{"class":488},[482,2288,623],{"class":488},[482,2290,2291],{"class":525}," devMode)\n",[482,2293,2294,2296,2299,2301,2303,2305,2308,2310,2312,2315,2317],{"class":507,"line":705},[482,2295,556],{"class":555},[482,2297,2298],{"class":525}," $b24 ",[482,2300,562],{"class":488},[482,2302,2124],{"class":525},[482,2304,489],{"class":488},[482,2306,2307],{"class":587},"fromWebhookUrl",[482,2309,590],{"class":525},[482,2311,615],{"class":488},[482,2313,2314],{"class":538},"https:\u002F\u002Fyour_domain.bitrix24.com\u002Frest\u002F1\u002Fwebhook_code\u002F",[482,2316,615],{"class":488},[482,2318,744],{"class":525},[482,2320,2321],{"class":507,"line":717},[482,2322,549],{"emptyLinePlaceholder":548},[482,2324,2325,2328,2331,2334,2336,2339,2341,2344,2347,2349,2352,2354,2357,2360,2362,2364,2367,2369,2371],{"class":507,"line":732},[482,2326,2327],{"class":555},"async",[482,2329,2330],{"class":555}," function",[482,2332,2333],{"class":587}," getMultipleItems",[482,2335,590],{"class":488},[482,2337,2338],{"class":780},"itemIds",[482,2340,603],{"class":488},[482,2342,2343],{"class":484}," number",[482,2345,2346],{"class":525},"[]",[482,2348,623],{"class":488},[482,2350,2351],{"class":780}," requestId",[482,2353,603],{"class":488},[482,2355,2356],{"class":484}," string",[482,2358,2359],{"class":488},"):",[482,2361,795],{"class":484},[482,2363,760],{"class":488},[482,2365,2366],{"class":484},"TaskItem",[482,2368,2346],{"class":525},[482,2370,772],{"class":488},[482,2372,688],{"class":488},[482,2374,2375,2378,2380,2382,2384,2387,2390,2392,2395,2398,2400,2402,2405,2408,2411],{"class":507,"line":738},[482,2376,2377],{"class":518},"  if",[482,2379,1946],{"class":599},[482,2381,2338],{"class":525},[482,2383,489],{"class":488},[482,2385,2386],{"class":525},"length",[482,2388,2389],{"class":488}," \u003C",[482,2391,634],{"class":633},[482,2393,2394],{"class":488}," ||",[482,2396,2397],{"class":525}," itemIds",[482,2399,489],{"class":488},[482,2401,2386],{"class":525},[482,2403,2404],{"class":488}," >",[482,2406,2407],{"class":633}," 50",[482,2409,2410],{"class":599},") ",[482,2412,593],{"class":488},[482,2414,2415,2418,2421,2423,2425],{"class":507,"line":1967},[482,2416,2417],{"class":518},"    throw",[482,2419,2420],{"class":488}," new",[482,2422,2134],{"class":587},[482,2424,590],{"class":599},[482,2426,593],{"class":488},[482,2428,2429,2432,2434,2436,2439,2441],{"class":507,"line":2028},[482,2430,2431],{"class":599},"      code",[482,2433,603],{"class":488},[482,2435,535],{"class":488},[482,2437,2438],{"class":538},"MY_APP_GET_PROBLEM",[482,2440,615],{"class":488},[482,2442,642],{"class":488},[482,2444,2445,2448,2450,2453,2456,2458],{"class":507,"line":2034},[482,2446,2447],{"class":599},"      description",[482,2449,603],{"class":488},[482,2451,2452],{"class":488}," `",[482,2454,2455],{"class":538},"The number of elements must be between 1 and 50",[482,2457,1988],{"class":488},[482,2459,642],{"class":488},[482,2461,2462,2465,2467],{"class":507,"line":2039},[482,2463,2464],{"class":599},"      status",[482,2466,603],{"class":488},[482,2468,2469],{"class":633}," 404\n",[482,2471,2472,2475],{"class":507,"line":2044},[482,2473,2474],{"class":488},"    }",[482,2476,744],{"class":599},[482,2478,2479],{"class":507,"line":2050},[482,2480,735],{"class":488},[482,2482,2484],{"class":507,"line":2483},21,[482,2485,549],{"emptyLinePlaceholder":548},[482,2487,2489,2492,2495,2497,2499,2501,2504,2506,2508,2511],{"class":507,"line":2488},22,[482,2490,2491],{"class":555},"  const",[482,2493,2494],{"class":525}," calls",[482,2496,2159],{"class":488},[482,2498,2397],{"class":525},[482,2500,489],{"class":488},[482,2502,2503],{"class":587},"map",[482,2505,590],{"class":599},[482,2507,1555],{"class":780},[482,2509,2510],{"class":555}," =>",[482,2512,606],{"class":599},[482,2514,2516,2519,2521,2523],{"class":507,"line":2515},23,[482,2517,2518],{"class":488},"    '",[482,2520,618],{"class":538},[482,2522,615],{"class":488},[482,2524,642],{"class":488},[482,2526,2528],{"class":507,"line":2527},24,[482,2529,1569],{"class":488},[482,2531,2533,2536],{"class":507,"line":2532},25,[482,2534,2535],{"class":525},"      id",[482,2537,642],{"class":488},[482,2539,2541,2544,2546,2548,2550,2552,2554,2556,2558,2560,2562],{"class":507,"line":2540},26,[482,2542,2543],{"class":599},"      select",[482,2545,603],{"class":488},[482,2547,1131],{"class":599},[482,2549,615],{"class":488},[482,2551,1555],{"class":538},[482,2553,615],{"class":488},[482,2555,623],{"class":488},[482,2557,535],{"class":488},[482,2559,1617],{"class":538},[482,2561,615],{"class":488},[482,2563,669],{"class":599},[482,2565,2567],{"class":507,"line":2566},27,[482,2568,1674],{"class":488},[482,2570,2572],{"class":507,"line":2571},28,[482,2573,2574],{"class":599},"  ])\n",[482,2576,2578],{"class":507,"line":2577},29,[482,2579,549],{"emptyLinePlaceholder":548},[482,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2607,2609,2612,2615,2617,2619,2622,2624],{"class":507,"line":2582},30,[482,2584,2491],{"class":555},[482,2586,2060],{"class":525},[482,2588,2159],{"class":488},[482,2590,565],{"class":518},[482,2592,568],{"class":525},[482,2594,489],{"class":488},[482,2596,91],{"class":525},[482,2598,489],{"class":488},[482,2600,577],{"class":525},[482,2602,489],{"class":488},[482,2604,582],{"class":525},[482,2606,489],{"class":488},[482,2608,492],{"class":587},[482,2610,2611],{"class":488},"\u003C{",[482,2613,2614],{"class":599}," item",[482,2616,603],{"class":488},[482,2618,2156],{"class":484},[482,2620,2621],{"class":488}," }>",[482,2623,590],{"class":599},[482,2625,593],{"class":488},[482,2627,2629,2632],{"class":507,"line":2628},31,[482,2630,2631],{"class":525},"    calls",[482,2633,642],{"class":488},[482,2635,2637,2640,2642],{"class":507,"line":2636},32,[482,2638,2639],{"class":599},"    options",[482,2641,603],{"class":488},[482,2643,688],{"class":488},[482,2645,2647,2650,2652,2654],{"class":507,"line":2646},33,[482,2648,2649],{"class":599},"      isHaltOnError",[482,2651,603],{"class":488},[482,2653,700],{"class":699},[482,2655,642],{"class":488},[482,2657,2659,2662,2664,2666],{"class":507,"line":2658},34,[482,2660,2661],{"class":599},"      returnAjaxResult",[482,2663,603],{"class":488},[482,2665,700],{"class":699},[482,2667,642],{"class":488},[482,2669,2671],{"class":507,"line":2670},35,[482,2672,2673],{"class":525},"      requestId\n",[482,2675,2677],{"class":507,"line":2676},36,[482,2678,1674],{"class":488},[482,2680,2682,2685],{"class":507,"line":2681},37,[482,2683,2684],{"class":488},"  }",[482,2686,744],{"class":599},[482,2688,2690],{"class":507,"line":2689},38,[482,2691,549],{"emptyLinePlaceholder":548},[482,2693,2695,2697,2699,2701,2703,2705,2707,2709],{"class":507,"line":2694},39,[482,2696,2377],{"class":518},[482,2698,1946],{"class":599},[482,2700,1949],{"class":488},[482,2702,1952],{"class":525},[482,2704,489],{"class":488},[482,2706,1764],{"class":525},[482,2708,2410],{"class":599},[482,2710,593],{"class":488},[482,2712,2714,2716,2718,2720,2722,2724,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753],{"class":507,"line":2713},40,[482,2715,2417],{"class":518},[482,2717,2420],{"class":488},[482,2719,1983],{"class":587},[482,2721,590],{"class":599},[482,2723,1988],{"class":488},[482,2725,2726],{"class":538},"Problem: ",[482,2728,1994],{"class":488},[482,2730,1952],{"class":525},[482,2732,489],{"class":488},[482,2734,2001],{"class":587},[482,2736,495],{"class":525},[482,2738,489],{"class":488},[482,2740,2008],{"class":587},[482,2742,590],{"class":525},[482,2744,615],{"class":488},[482,2746,2015],{"class":538},[482,2748,615],{"class":488},[482,2750,790],{"class":525},[482,2752,2022],{"class":488},[482,2754,744],{"class":599},[482,2756,2758],{"class":507,"line":2757},41,[482,2759,735],{"class":488},[482,2761,2763],{"class":507,"line":2762},42,[482,2764,549],{"emptyLinePlaceholder":548},[482,2766,2768,2770,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2810,2813],{"class":507,"line":2767},43,[482,2769,2491],{"class":555},[482,2771,2772],{"class":525}," resultData",[482,2774,2159],{"class":488},[482,2776,1946],{"class":599},[482,2778,1952],{"class":525},[482,2780,1449],{"class":518},[482,2782,2100],{"class":484},[482,2784,760],{"class":488},[482,2786,262],{"class":484},[482,2788,2611],{"class":488},[482,2790,2614],{"class":599},[482,2792,603],{"class":488},[482,2794,2156],{"class":484},[482,2796,2621],{"class":488},[482,2798,2346],{"class":599},[482,2800,772],{"class":488},[482,2802,790],{"class":599},[482,2804,489],{"class":488},[482,2806,2065],{"class":587},[482,2808,2809],{"class":599},"() ",[482,2811,2812],{"class":488},"??",[482,2814,2815],{"class":599}," []\n",[482,2817,2819,2821,2824,2826,2828,2831,2833],{"class":507,"line":2818},44,[482,2820,2491],{"class":555},[482,2822,2823],{"class":525}," results",[482,2825,603],{"class":488},[482,2827,2156],{"class":484},[482,2829,2830],{"class":599},"[] ",[482,2832,562],{"class":488},[482,2834,2815],{"class":599},[482,2836,2838,2841,2843,2846,2848,2850,2853,2855,2857],{"class":507,"line":2837},45,[482,2839,2840],{"class":525},"  resultData",[482,2842,489],{"class":488},[482,2844,2845],{"class":587},"forEach",[482,2847,590],{"class":599},[482,2849,590],{"class":488},[482,2851,2852],{"class":780},"resultRow",[482,2854,790],{"class":488},[482,2856,2510],{"class":555},[482,2858,688],{"class":488},[482,2860,2862,2865,2867,2869,2871,2873,2875],{"class":507,"line":2861},46,[482,2863,2864],{"class":518},"    if",[482,2866,1946],{"class":599},[482,2868,2852],{"class":525},[482,2870,489],{"class":488},[482,2872,1764],{"class":525},[482,2874,2410],{"class":599},[482,2876,593],{"class":488},[482,2878,2880,2883,2885,2887,2890,2892,2894,2896,2898,2900,2902],{"class":507,"line":2879},47,[482,2881,2882],{"class":555},"      const",[482,2884,2614],{"class":525},[482,2886,2159],{"class":488},[482,2888,2889],{"class":525}," resultRow",[482,2891,489],{"class":488},[482,2893,2065],{"class":587},[482,2895,495],{"class":599},[482,2897,2258],{"class":488},[482,2899,1307],{"class":525},[482,2901,489],{"class":488},[482,2903,2904],{"class":525},"item\n",[482,2906,2908,2911,2913,2915,2917],{"class":507,"line":2907},48,[482,2909,2910],{"class":518},"      if",[482,2912,1946],{"class":599},[482,2914,1700],{"class":525},[482,2916,2410],{"class":599},[482,2918,593],{"class":488},[482,2920,2922,2925,2927,2930,2932,2934],{"class":507,"line":2921},49,[482,2923,2924],{"class":525},"        results",[482,2926,489],{"class":488},[482,2928,2929],{"class":587},"push",[482,2931,590],{"class":599},[482,2933,1700],{"class":525},[482,2935,744],{"class":599},[482,2937,2939],{"class":507,"line":2938},50,[482,2940,2941],{"class":488},"      }\n",[482,2943,2945],{"class":507,"line":2944},51,[482,2946,1674],{"class":488},[482,2948,2950,2952],{"class":507,"line":2949},52,[482,2951,2684],{"class":488},[482,2953,744],{"class":599},[482,2955,2957],{"class":507,"line":2956},53,[482,2958,549],{"emptyLinePlaceholder":548},[482,2960,2962,2965],{"class":507,"line":2961},54,[482,2963,2964],{"class":518},"  return",[482,2966,2967],{"class":525}," results\n",[482,2969,2971],{"class":507,"line":2970},55,[482,2972,1155],{"class":488},[482,2974,2976],{"class":507,"line":2975},56,[482,2977,549],{"emptyLinePlaceholder":548},[482,2979,2981],{"class":507,"line":2980},57,[482,2982,2983],{"class":511},"\u002F\u002F Использование\n",[482,2985,2987,2989,2992,2994,2996,2999],{"class":507,"line":2986},58,[482,2988,556],{"class":555},[482,2990,2991],{"class":525}," requestId ",[482,2993,562],{"class":488},[482,2995,535],{"class":488},[482,2997,2998],{"class":538},"batch\u002Ftasks.task.get",[482,3000,542],{"class":488},[482,3002,3004,3007],{"class":507,"line":3003},59,[482,3005,3006],{"class":518},"try",[482,3008,688],{"class":488},[482,3010,3012,3014,3016,3018,3020,3023,3025,3027,3029,3032],{"class":507,"line":3011},60,[482,3013,2491],{"class":555},[482,3015,2397],{"class":525},[482,3017,2159],{"class":488},[482,3019,1131],{"class":599},[482,3021,3022],{"class":633},"1",[482,3024,623],{"class":488},[482,3026,664],{"class":633},[482,3028,623],{"class":488},[482,3030,3031],{"class":633}," 3",[482,3033,669],{"class":599},[482,3035,3037,3039,3042,3044,3046,3048,3050,3052,3054,3056],{"class":507,"line":3036},61,[482,3038,2491],{"class":555},[482,3040,3041],{"class":525}," items",[482,3043,2159],{"class":488},[482,3045,565],{"class":518},[482,3047,2333],{"class":587},[482,3049,590],{"class":599},[482,3051,2338],{"class":525},[482,3053,623],{"class":488},[482,3055,2351],{"class":525},[482,3057,744],{"class":599},[482,3059,3061],{"class":507,"line":3060},62,[482,3062,3063],{"class":599},"  \n",[482,3065,3067,3070,3072,3075,3077,3079,3082,3084,3086,3088,3090,3092,3094,3096,3098],{"class":507,"line":3066},63,[482,3068,3069],{"class":525},"  $logger",[482,3071,489],{"class":488},[482,3073,3074],{"class":587},"info",[482,3076,590],{"class":599},[482,3078,1988],{"class":488},[482,3080,3081],{"class":538},"Retrieved ",[482,3083,1994],{"class":488},[482,3085,1704],{"class":525},[482,3087,489],{"class":488},[482,3089,2386],{"class":525},[482,3091,741],{"class":488},[482,3093,3041],{"class":538},[482,3095,1988],{"class":488},[482,3097,623],{"class":488},[482,3099,688],{"class":488},[482,3101,3103,3106,3108,3110,3112,3114],{"class":507,"line":3102},64,[482,3104,3105],{"class":599},"    expected",[482,3107,603],{"class":488},[482,3109,2397],{"class":525},[482,3111,489],{"class":488},[482,3113,2386],{"class":525},[482,3115,642],{"class":488},[482,3117,3119,3122,3124,3126,3128,3130],{"class":507,"line":3118},65,[482,3120,3121],{"class":599},"    retrieved",[482,3123,603],{"class":488},[482,3125,3041],{"class":525},[482,3127,489],{"class":488},[482,3129,2386],{"class":525},[482,3131,642],{"class":488},[482,3133,3135,3138,3140,3142,3144,3146,3148,3151,3153,3155,3158,3160,3162,3165,3167,3169,3171,3174,3176,3178,3180,3182,3184],{"class":507,"line":3134},66,[482,3136,3137],{"class":599},"    items",[482,3139,603],{"class":488},[482,3141,3041],{"class":525},[482,3143,489],{"class":488},[482,3145,2503],{"class":587},[482,3147,590],{"class":599},[482,3149,3150],{"class":780},"c",[482,3152,2510],{"class":555},[482,3154,1946],{"class":599},[482,3156,3157],{"class":488},"{",[482,3159,628],{"class":599},[482,3161,603],{"class":488},[482,3163,3164],{"class":525}," c",[482,3166,489],{"class":488},[482,3168,1555],{"class":525},[482,3170,623],{"class":488},[482,3172,3173],{"class":599}," title",[482,3175,603],{"class":488},[482,3177,3164],{"class":525},[482,3179,489],{"class":488},[482,3181,1617],{"class":525},[482,3183,529],{"class":488},[482,3185,2025],{"class":599},[482,3187,3189,3191],{"class":507,"line":3188},67,[482,3190,2684],{"class":488},[482,3192,744],{"class":599},[482,3194,3196,3198,3201,3204],{"class":507,"line":3195},68,[482,3197,741],{"class":488},[482,3199,3200],{"class":518}," catch",[482,3202,3203],{"class":525}," (error) ",[482,3205,593],{"class":488},[482,3207,3209,3211,3213,3215,3218,3220,3222],{"class":507,"line":3208},69,[482,3210,2377],{"class":518},[482,3212,1946],{"class":599},[482,3214,1975],{"class":525},[482,3216,3217],{"class":488}," instanceof",[482,3219,2119],{"class":484},[482,3221,2410],{"class":599},[482,3223,593],{"class":488},[482,3225,3227,3230,3232,3235,3237,3239,3241,3244,3246,3248,3250,3252,3255,3257,3260,3262,3264,3266],{"class":507,"line":3226},70,[482,3228,3229],{"class":525},"    $logger",[482,3231,489],{"class":488},[482,3233,3234],{"class":587},"critical",[482,3236,590],{"class":599},[482,3238,1975],{"class":525},[482,3240,489],{"class":488},[482,3242,3243],{"class":525},"message",[482,3245,623],{"class":488},[482,3247,522],{"class":488},[482,3249,2351],{"class":525},[482,3251,623],{"class":488},[482,3253,3254],{"class":599}," code",[482,3256,603],{"class":488},[482,3258,3259],{"class":525}," error",[482,3261,489],{"class":488},[482,3263,476],{"class":525},[482,3265,529],{"class":488},[482,3267,744],{"class":599},[482,3269,3271,3273,3276],{"class":507,"line":3270},71,[482,3272,2684],{"class":488},[482,3274,3275],{"class":518}," else",[482,3277,688],{"class":488},[482,3279,3281,3283,3285,3288,3290,3292,3295,3297,3299,3301,3303,3305,3307,3309],{"class":507,"line":3280},72,[482,3282,3229],{"class":525},[482,3284,489],{"class":488},[482,3286,3287],{"class":587},"alert",[482,3289,590],{"class":599},[482,3291,615],{"class":488},[482,3293,3294],{"class":538},"Problem",[482,3296,615],{"class":488},[482,3298,623],{"class":488},[482,3300,522],{"class":488},[482,3302,2351],{"class":525},[482,3304,623],{"class":488},[482,3306,3259],{"class":525},[482,3308,529],{"class":488},[482,3310,744],{"class":599},[482,3312,3314],{"class":507,"line":3313},73,[482,3315,735],{"class":488},[482,3317,3319],{"class":507,"line":3318},74,[482,3320,1155],{"class":488},[467,3322,3324],{"id":3323},"alternatives-and-recommendations","Альтернативы и рекомендации",[1283,3326,3327,3339,3350,3361,3372],{},[1286,3328,3329,3332,3333,3338],{},[851,3330,3331],{},"Для последовательных запросов",": используйте ",[881,3334,3336],{"href":3335},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver3\u002F",[476,3337,87],{}," для одиночных вызовов.",[1286,3340,3341,3332,3344,3349],{},[851,3342,3343],{},"Для работы со списками",[881,3345,3347],{"href":3346},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver3\u002F",[476,3348,99],{}," для получения больших объёмов данных.",[1286,3351,3352,3332,3355,3360],{},[851,3353,3354],{},"Для поэтапной обработки",[881,3356,3358],{"href":3357},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver3\u002F",[476,3359,108],{}," для обработки данных по мере поступления.",[1286,3362,3363,3332,3366,3371],{},[851,3364,3365],{},"Для запуска большего числа команд (более 50)",[881,3367,3369],{"href":3368},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-by-chunk-rest-api-ver3\u002F",[476,3370,171],{},", который автоматически разбивает команды на чанки по 50.",[1286,3373,3374,3377,3378,489],{},[851,3375,3376],{},"На стороне клиента (браузер):"," используйте встроенный объект ",[881,3379,3381],{"href":3380},"\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fvue\u002F#init",[476,3382,133],{},[3384,3385,3386],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":480,"searchDepth":515,"depth":515,"links":3388},[3389,3390,3398,3399,3400,3402,3403,3406],{"id":469,"depth":515,"text":470},{"id":747,"depth":515,"text":748,"children":3391},[3392,3393,3395,3397],{"id":811,"depth":545,"text":812},{"id":912,"depth":545,"text":3394},"Форматы команд (options.calls)",{"id":1158,"depth":545,"text":3396},"Опции пакетного запроса (options.options)",{"id":1255,"depth":545,"text":1256},{"id":1300,"depth":515,"text":1301},{"id":1347,"depth":515,"text":1348},{"id":1395,"depth":515,"text":3401},"Передача данных между командами ($ref \u002F $refArray)",{"id":1748,"depth":515,"text":375},{"id":362,"depth":515,"text":352,"children":3404},[3405],{"id":2073,"depth":545,"text":2074},{"id":3323,"depth":515,"text":3324},"md",[3409,3412,3414,3417,3420],{"label":485,"iconName":3410,"to":3411},"GitHubIcon","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fcore\u002Factions\u002Fv3\u002Fbatch.ts",{"label":262,"iconName":3410,"to":3413},"https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fcore\u002Fhttp\u002Fajax-result.ts",{"label":3415,"iconName":3410,"to":3416},"AjaxError","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fcore\u002Fhttp\u002Fajax-error.ts",{"label":3418,"iconName":3410,"to":3419},"SdkError","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fcore\u002Fsdk-error.ts",{"label":3421,"iconName":3410,"to":3422},"Skill — b24jssdk-rest","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fskills\u002Fb24jssdk-rest\u002FSKILL.md",{},{"title":122},{"title":461,"description":129},"gUhX82JRWVUdDiQPPZBvYUifGEzKx0VRaQqnUd542LE",{"data":3428,"body":3429},{},{"type":3430,"children":3431},"root",[3432],{"type":3433,"tag":472,"props":3434,"children":3435},"element",{},[3436],{"type":3437,"value":129},"text",1783080226169]