[{"data":1,"prerenderedAt":1179},["ShallowReactive",2],{"navigation":3,"-docs-getting-started-migration-v3":459,"-docs-getting-started-migration-v3-description":1168},[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":15,"badge":15,"body":462,"category":15,"description":62,"extension":1158,"links":1159,"meta":1164,"navigation":1165,"path":60,"restApiVersion":15,"seo":1166,"stem":61,"__hash__":1167},"docs\u002Fdocs\u002F1.getting-started\u002F3.migration\u002F2.v3.md","Миграция на v3 (удаление legacy REST-поверхности)",{"type":463,"value":464,"toc":1145},"minimark",[465,488,507,523,528,537,548,645,707,713,719,726,756,762,777,846,863,926,935,953,1010,1014,1028,1085,1090,1141],[466,467,468,469,480,481,487],"p",{},"Это руководство перечисляет всё, что помечено ",[470,471,472,476,477],"strong",{},[473,474,475],"code",{},"@deprecated"," в ",[473,478,479],{},"2.0.0"," и ",[470,482,483,484],{},"удаляется в ",[473,485,486],{},"3.0.0",", с канонической заменой для каждого символа.",[489,490,491],"warning",{},[466,492,493,494,496,497,499,500,503,504,506],{},"Символы ниже всё ещё поставляются в ",[473,495,479],{}," — они продолжают работать, но при каждом вызове выводят рантайм-предупреждение об устаревании. В ",[473,498,486],{}," они ",[470,501,502],{},"удалены",". Мигрируйте до перехода на ",[473,505,486],{},".",[508,509,510],"note",{},[466,511,512,513,516,517,522],{},"Пошаговые ",[473,514,515],{},"diff","-примеры для каждого метода — в ",[518,519,521],"a",{"href":520},"\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv1\u002F","руководстве v0 → v1"," в разделе «Deprecated». Эта страница — сжатый чеклист удалений.",[524,525,527],"h2",{"id":526},"what-is-removed-in-300","Что удаляется в 3.0.0",[529,530,532,533,536],"h3",{"id":531},"legacy-rest-shortcuts-on-abstractb24","Legacy REST-шорткаты на ",[473,534,535],{},"AbstractB24","",[466,538,539,540,543,544,547],{},"Эти шорткаты экземпляра игнорируют разделение ",[473,541,542],{},"restApi:v2"," \u002F ",[473,545,546],{},"restApi:v3"," и заменяются явной поверхностью действий:",[549,550,551,564],"table",{},[552,553,554],"thead",{},[555,556,557,561],"tr",{},[558,559,560],"th",{},"Удалено",[558,562,563],{},"Замена",[565,566,567,580,603,621,633],"tbody",{},[555,568,569,575],{},[570,571,572],"td",{},[473,573,574],{},"b24.callMethod(method, params, start)",[570,576,577],{},[473,578,579],{},"b24.actions.v{2,3}.call.make(options)",[555,581,582,587],{},[570,583,584],{},[473,585,586],{},"b24.callListMethod(method, params, progress, customKeyForResult)",[570,588,589,592,593],{},[473,590,591],{},"b24.actions.v{2,3}.callList.make(options)"," ",[594,595,596],"sup",{},[518,597,602],{"href":598,"ariaDescribedBy":599,"dataFootnoteRef":536,"id":601},"#user-content-fn-idkey",[600],"footnote-label","user-content-fnref-idkey","1",[555,604,605,610],{},[570,606,607],{},[473,608,609],{},"b24.fetchListMethod(method, params, idKey, customKeyForResult)",[570,611,612,592,615],{},[473,613,614],{},"b24.actions.v{2,3}.fetchList.make(options)",[594,616,617],{},[518,618,602],{"href":598,"ariaDescribedBy":619,"dataFootnoteRef":536,"id":620},[600],"user-content-fnref-idkey-2",[555,622,623,628],{},[570,624,625],{},[473,626,627],{},"b24.callBatch(calls, isHaltOnError, returnAjaxResult)",[570,629,630],{},[473,631,632],{},"b24.actions.v{2,3}.batch.make(options)",[555,634,635,640],{},[570,636,637],{},[473,638,639],{},"b24.callBatchByChunk(calls, isHaltOnError)",[570,641,642],{},[473,643,644],{},"b24.actions.v{2,3}.batchByChunk.make(options)",[646,647,650],"pre",{"className":648,"code":649,"language":515,"meta":536,"style":536},"language-diff shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","- await b24.callMethod('crm.deal.list', { filter: { '>id': 123 } }, 100)\n+ await b24.actions.v2.call.make({\n+   method: 'crm.deal.list',\n+   params: { filter: { '>id': 123 }, start: 100 },\n+   requestId: 'unique-request-id'\n+ })\n",[473,651,652,665,675,683,691,699],{"__ignoreMap":536},[653,654,657,661],"span",{"class":655,"line":656},"line",1,[653,658,660],{"class":659},"sMK4o","-",[653,662,664],{"class":663},"swJcz"," await b24.callMethod('crm.deal.list', { filter: { '>id': 123 } }, 100)\n",[653,666,668,671],{"class":655,"line":667},2,[653,669,670],{"class":659},"+",[653,672,674],{"class":673},"sfazB"," await b24.actions.v2.call.make({\n",[653,676,678,680],{"class":655,"line":677},3,[653,679,670],{"class":659},[653,681,682],{"class":673},"   method: 'crm.deal.list',\n",[653,684,686,688],{"class":655,"line":685},4,[653,687,670],{"class":659},[653,689,690],{"class":673},"   params: { filter: { '>id': 123 }, start: 100 },\n",[653,692,694,696],{"class":655,"line":693},5,[653,695,670],{"class":659},[653,697,698],{"class":673},"   requestId: 'unique-request-id'\n",[653,700,702,704],{"class":655,"line":701},6,[653,703,670],{"class":659},[653,705,706],{"class":673}," })\n",[529,708,710,536],{"id":709},"abstractb24batchsize",[473,711,712],{},"AbstractB24.batchSize",[714,715,716],"blockquote",{},[466,717,718],{},"Максимальная длина ответа батча.",[466,720,721,722,725],{},"Статическая константа удалена. Впишите значение ",[473,723,724],{},"50"," вручную, если полагались на неё.",[646,727,729],{"className":648,"code":728,"language":515,"meta":536,"style":536},"- if (size \u003C AbstractB24.batchSize) {\n+ if (size \u003C 50) {\n  \u002F\u002F some code ...\n}\n",[473,730,731,738,745,751],{"__ignoreMap":536},[653,732,733,735],{"class":655,"line":656},[653,734,660],{"class":659},[653,736,737],{"class":663}," if (size \u003C AbstractB24.batchSize) {\n",[653,739,740,742],{"class":655,"line":667},[653,741,670],{"class":659},[653,743,744],{"class":673}," if (size \u003C 50) {\n",[653,746,747],{"class":655,"line":677},[653,748,750],{"class":749},"sTEyZ","  \u002F\u002F some code ...\n",[653,752,753],{"class":655,"line":685},[653,754,755],{"class":749},"}\n",[529,757,759,760,536],{"id":758},"ajaxresult-paging-helpers","Хелперы пагинации ",[473,761,262],{},[466,763,764,765,592,767,543,770,773,774,776],{},"Они завязаны на поля конверта ",[473,766,542],{},[473,768,769],{},"next",[473,771,772],{},"total",", которые ",[473,775,546],{}," не возвращает:",[549,778,779,787],{},[552,780,781],{},[555,782,783,785],{},[558,784,560],{},[558,786,563],{},[565,788,789,799,809,818,827],{},[555,790,791,796],{},[570,792,793],{},[473,794,795],{},"result.isMore()",[570,797,798],{},"используйте хелперы списков — они полностью скрывают пагинацию",[555,800,801,806],{},[570,802,803],{},[473,804,805],{},"result.hasMore()",[570,807,808],{},"используйте хелперы списков",[555,810,811,816],{},[570,812,813],{},[473,814,815],{},"result.getNext(http)",[570,817,808],{},[555,819,820,825],{},[570,821,822],{},[473,823,824],{},"result.fetchNext(http)",[570,826,808],{},[555,828,829,834],{},[570,830,831],{},[473,832,833],{},"result.getTotal()",[570,835,836,838,839,841,842,845],{},[473,837,542],{},": используйте хелперы списков; в ",[473,840,546],{}," пока нет счётчика элементов (планируется действие ",[473,843,844],{},"aggregate",")",[466,847,848,849,855,856,862],{},"Замените ручную пагинацию на ",[518,850,852],{"href":851},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver2\u002F",[473,853,854],{},"callList.make"," (собрать всё) или ",[518,857,859],{"href":858},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver2\u002F",[473,860,861],{},"fetchList.make"," (асинхронный генератор):",[646,864,866],{"className":648,"code":865,"language":515,"meta":536,"style":536},"- \u002F\u002F ручная пагинация на устаревшей поверхности\n- const res = await b24.callMethod('crm.deal.list', {})\n- let list = res.getData().result\n- while (res.isMore()) { res = await res.getNext(http); list.push(...res.getData().result) }\n+ \u002F\u002F хелпер списка итерирует за вас — `chunk` это очередной массив элементов\n+ for await (const chunk of b24.actions.v2.fetchList.make({ method: 'crm.deal.list' })) {\n+   \u002F\u002F обрабатываем chunk\n+ }\n",[473,867,868,875,882,889,896,903,910,918],{"__ignoreMap":536},[653,869,870,872],{"class":655,"line":656},[653,871,660],{"class":659},[653,873,874],{"class":663}," \u002F\u002F ручная пагинация на устаревшей поверхности\n",[653,876,877,879],{"class":655,"line":667},[653,878,660],{"class":659},[653,880,881],{"class":663}," const res = await b24.callMethod('crm.deal.list', {})\n",[653,883,884,886],{"class":655,"line":677},[653,885,660],{"class":659},[653,887,888],{"class":663}," let list = res.getData().result\n",[653,890,891,893],{"class":655,"line":685},[653,892,660],{"class":659},[653,894,895],{"class":663}," while (res.isMore()) { res = await res.getNext(http); list.push(...res.getData().result) }\n",[653,897,898,900],{"class":655,"line":693},[653,899,670],{"class":659},[653,901,902],{"class":673}," \u002F\u002F хелпер списка итерирует за вас — `chunk` это очередной массив элементов\n",[653,904,905,907],{"class":655,"line":701},[653,906,670],{"class":659},[653,908,909],{"class":673}," for await (const chunk of b24.actions.v2.fetchList.make({ method: 'crm.deal.list' })) {\n",[653,911,913,915],{"class":655,"line":912},7,[653,914,670],{"class":659},[653,916,917],{"class":673},"   \u002F\u002F обрабатываем chunk\n",[653,919,921,923],{"class":655,"line":920},8,[653,922,670],{"class":659},[653,924,925],{"class":673}," }\n",[529,927,929,480,932,536],{"id":928},"loggerbrowser-and-loggertype",[473,930,931],{},"LoggerBrowser",[473,933,934],{},"LoggerType",[466,936,937,938,946,947,949,950,952],{},"Заменены универсальной системой ",[518,939,941,543,943],{"href":940},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogger\u002F",[473,942,246],{},[473,944,945],{},"LoggerFactory",". Enum ",[473,948,934],{}," удалён без замены — ",[473,951,945],{}," управляет уровнями сам, поэтому просто уберите импорт:",[646,954,956],{"className":648,"code":955,"language":515,"meta":536,"style":536},"- import { LoggerBrowser, LoggerType } from '@bitrix24\u002Fb24jssdk'\n+ import { LoggerFactory } from '@bitrix24\u002Fb24jssdk'\n\n- const $logger = LoggerBrowser.build('MyApp', import.meta.env?.DEV === true)\n+ const $logger = LoggerFactory.createForBrowser('MyApp', import.meta.env?.DEV === true)\n\n- $logger.info('response', dataList)\n+ $logger.info('response', { someInfo: dataList })\n",[473,957,958,965,972,978,985,992,996,1003],{"__ignoreMap":536},[653,959,960,962],{"class":655,"line":656},[653,961,660],{"class":659},[653,963,964],{"class":663}," import { LoggerBrowser, LoggerType } from '@bitrix24\u002Fb24jssdk'\n",[653,966,967,969],{"class":655,"line":667},[653,968,670],{"class":659},[653,970,971],{"class":673}," import { LoggerFactory } from '@bitrix24\u002Fb24jssdk'\n",[653,973,974],{"class":655,"line":677},[653,975,977],{"emptyLinePlaceholder":976},true,"\n",[653,979,980,982],{"class":655,"line":685},[653,981,660],{"class":659},[653,983,984],{"class":663}," const $logger = LoggerBrowser.build('MyApp', import.meta.env?.DEV === true)\n",[653,986,987,989],{"class":655,"line":693},[653,988,670],{"class":659},[653,990,991],{"class":673}," const $logger = LoggerFactory.createForBrowser('MyApp', import.meta.env?.DEV === true)\n",[653,993,994],{"class":655,"line":701},[653,995,977],{"emptyLinePlaceholder":976},[653,997,998,1000],{"class":655,"line":912},[653,999,660],{"class":659},[653,1001,1002],{"class":663}," $logger.info('response', dataList)\n",[653,1004,1005,1007],{"class":655,"line":920},[653,1006,670],{"class":659},[653,1008,1009],{"class":673}," $logger.info('response', { someInfo: dataList })\n",[524,1011,1013],{"id":1012},"how-to-find-every-call-site","Как найти все места вызова",[466,1015,1016,1017,1020,1021,1023,1024,1027],{},"Устаревшие символы выводят предупреждение ",[473,1018,1019],{},"JSSDK_CORE_DEPRECATED_METHOD"," в рантайме, а ",[473,1022,931],{}," логирует ",[473,1025,1026],{},"@deprecated: use Logger",". Быстрая статическая проверка:",[1029,1030,1033,1065],"tabs",{"className":1031},[1032],"mt-0",[1034,1035,1037],"tabs-item",{"label":1036},"Linux \u002F macOS (bash)",[646,1038,1042],{"className":1039,"code":1040,"language":1041,"meta":536,"style":536},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","grep -rnE 'callMethod|callListMethod|fetchListMethod|callBatch|callBatchByChunk|\\.isMore\\(|\\.hasMore\\(|\\.getNext\\(|\\.fetchNext\\(|\\.getTotal\\(|LoggerBrowser|LoggerType' src\n","bash",[473,1043,1044],{"__ignoreMap":536},[653,1045,1046,1050,1053,1056,1059,1062],{"class":655,"line":656},[653,1047,1049],{"class":1048},"sBMFI","grep",[653,1051,1052],{"class":673}," -rnE",[653,1054,1055],{"class":659}," '",[653,1057,1058],{"class":673},"callMethod|callListMethod|fetchListMethod|callBatch|callBatchByChunk|\\.isMore\\(|\\.hasMore\\(|\\.getNext\\(|\\.fetchNext\\(|\\.getTotal\\(|LoggerBrowser|LoggerType",[653,1060,1061],{"class":659},"'",[653,1063,1064],{"class":673}," src\n",[1034,1066,1068],{"label":1067},"Windows (PowerShell)",[646,1069,1073],{"className":1070,"code":1071,"language":1072,"meta":536,"style":536},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Get-ChildItem -Recurse src -Include *.ts,*.js |\n  Select-String -Pattern 'callMethod|callListMethod|fetchListMethod|callBatch|callBatchByChunk|\\.isMore\\(|\\.hasMore\\(|\\.getNext\\(|\\.fetchNext\\(|\\.getTotal\\(|LoggerBrowser|LoggerType'\n","powershell",[473,1074,1075,1080],{"__ignoreMap":536},[653,1076,1077],{"class":655,"line":656},[653,1078,1079],{},"Get-ChildItem -Recurse src -Include *.ts,*.js |\n",[653,1081,1082],{"class":655,"line":667},[653,1083,1084],{},"  Select-String -Pattern 'callMethod|callListMethod|fetchListMethod|callBatch|callBatchByChunk|\\.isMore\\(|\\.hasMore\\(|\\.getNext\\(|\\.fetchNext\\(|\\.getTotal\\(|LoggerBrowser|LoggerType'\n",[466,1086,1087,1088,506],{},"Как только это ничего не вернёт — вы готовы к ",[473,1089,486],{},[1091,1092,1095,1100],"section",{"className":1093,"dataFootnotes":536},[1094],"footnotes",[524,1096,1099],{"id":600,"className":1097},[1098],"sr-only","Footnotes",[1101,1102,1103],"ol",{},[1104,1105,1107,1108,1111,1112,1115,1116,1119,1120,543,1123,1125,1126,592,1133],"li",{"id":1106},"user-content-fn-idkey","Передавайте правильный ",[473,1109,1110],{},"idKey"," — ",[473,1113,1114],{},"'ID'"," для классических list-методов, ",[473,1117,1118],{},"'id'"," для ",[473,1121,1122],{},"crm.item.*",[473,1124,546],{},". Пропуск может привести к молча пустому результату. ",[518,1127,1132],{"href":1128,"ariaLabel":1129,"className":1130,"dataFootnoteBackref":536},"#user-content-fnref-idkey","Back to reference 1",[1131],"data-footnote-backref","↩",[518,1134,1132,1138],{"href":1135,"ariaLabel":1136,"className":1137,"dataFootnoteBackref":536},"#user-content-fnref-idkey-2","Back to reference 1-2",[1131],[594,1139,1140],{},"2",[1142,1143,1144],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":536,"searchDepth":667,"depth":667,"links":1146},[1147,1156,1157],{"id":526,"depth":667,"text":527,"children":1148},[1149,1151,1152,1154],{"id":531,"depth":677,"text":1150},"Legacy REST-шорткаты на AbstractB24",{"id":709,"depth":677,"text":712},{"id":758,"depth":677,"text":1153},"Хелперы пагинации AjaxResult",{"id":928,"depth":677,"text":1155},"LoggerBrowser и LoggerType",{"id":1012,"depth":667,"text":1013},{"id":600,"depth":667,"text":1099},"md",[1160],{"label":1161,"iconName":1162,"to":1163},"CHANGELOG","GitHubIcon","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002FCHANGELOG.md",{},{"title":59},{"title":461,"description":62},"f3RGLhWv-SfjaXzJ4MmUmottLxgmS2tPdAtzuMF3yoY",{"data":1169,"body":1170},{},{"type":1171,"children":1172},"root",[1173],{"type":1174,"tag":466,"props":1175,"children":1176},"element",{},[1177],{"type":1178,"value":62},"text",1783080215160]