[{"data":1,"prerenderedAt":3054},["ShallowReactive",2],{"navigation":3,"-docs-working-with-the-rest-api":459,"-docs-working-with-the-rest-api-description":3043},[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":85,"extension":3035,"links":3036,"meta":3039,"navigation":3040,"path":80,"restApiVersion":15,"seo":3041,"stem":81,"__hash__":3042},"docs\u002Fdocs\u002F2.working-with-the-rest-api\u002F0.index.md","Введение в работу с REST API Bitrix24",{"type":463,"value":464,"toc":3003},"minimark",[465,472,477,480,490,494,497,502,589,593,596,608,879,889,1165,1169,1173,1212,1216,1232,1236,1246,1256,1497,1505,1510,1803,1815,1819,1829,2200,2204,2208,2365,2401,2405,2409,2441,2445,2468,2472,2488,2492,2495,2502,2890,2894,2916,2920,2923,2947,2951,2979,2983,2999],[466,467,468],"warning",{},[469,470,471],"p",{},"Эта страница ещё обновляется. Некоторые данные могут отсутствовать — мы их вскоре дополним.",[473,474,476],"h2",{"id":475},"overview","Обзор",[469,478,479],{},"SDK для работы с REST API Bitrix24 предоставляет набор инструментов для взаимодействия с API Bitrix24 из JavaScript\u002FTypeScript-приложений.",[481,482,483],"rest-api-version-only",{},[484,485,487],"template",{"v-slot:rest-api-ver2":486},"",[469,488,489],{},"Библиотека поддерживает как REST API версии 2 (процесс устаревания начат, но всё ещё широко используется), так и новую версию 3 (процесс внедрения начат).",[473,491,493],{"id":492},"sdk-architecture","Архитектура SDK",[469,495,496],{},"SDK построен на трёх основных классах, которые наследуются от общего базового класса и предоставляют единый интерфейс для работы с REST API:",[498,499,501],"h3",{"id":500},"three-classes-for-different-usage-scenarios","Три класса для разных сценариев использования",[503,504,505,524],"table",{},[506,507,508],"thead",{},[509,510,511,515,518,521],"tr",{},[512,513,514],"th",{},"Класс",[512,516,517],{},"Назначение",[512,519,520],{},"Где использовать",[512,522,523],{},"Особенности",[525,526,527,550,571],"tbody",{},[509,528,529,541,544,547],{},[530,531,532],"td",{},[533,534,537],"code",{"className":535,"language":536,"style":486},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts-type",[538,539,133],"span",{"class":540},"sBMFI",[530,542,543],{},"Работа из приложений, встроенных в интерфейс Bitrix24",[530,545,546],{},"На стороне клиента (браузер)",[530,548,549],{},"Автоматически доступен в iframe Bitrix24-приложения, использует токен текущего пользователя",[509,551,552,558,561,564],{},[530,553,554],{},[533,555,556],{"className":535,"language":536,"style":486},[538,557,117],{"class":540},[530,559,560],{},"Работа из автономных серверных приложений через вебхук",[530,562,563],{},"На стороне сервера",[530,565,566,567],{},"Использует постоянный токен вебхука, ",[568,569,570],"strong",{},"нельзя использовать в браузере",[509,572,573,579,582,584],{},[530,574,575],{},[533,576,577],{"className":535,"language":536,"style":486},[538,578,180],{"class":540},[530,580,581],{},"Работа из автономных серверных приложений через OAuth 2.0",[530,583,563],{},[530,585,586,587],{},"Использует OAuth-токен с возможностью обновления, ",[568,588,570],{},[498,590,592],{"id":591},"common-interface","Общий интерфейс",[469,594,595],{},"Все три класса наследуются от общего базового класса и предоставляют одинаковый набор методов:",[469,597,598,599,607],{},"Все три класса реализуют интерфейс ",[600,601,605],"a",{"href":602,"rel":603},"https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Ftypes\u002Fb24.ts",[604],"nofollow",[533,606,327],{},", который определяет единый набор операций:",[609,610,612],"pre",{"className":535,"code":611,"language":536,"meta":486,"style":486},"type TypeB24 = {\n  readonly isInit: boolean\n  init(): Promise\u003Cvoid>\n  destroy(): void\n\n  getLogger(): LoggerInterface\n  setLogger(logger: LoggerInterface): void\n\n  get auth(): AuthActions\n\n  \u002F\u002F REST API (v2 \u002F v3) — call, callList, fetchList, batch, batchByChunk\n  get actions(): ActionsManager\n\n  \u002F\u002F Helper utilities (healthCheck, ping)\n  get tools(): ToolsManager\n\n  setRestrictionManagerParams(params: RestrictionParams): Promise\u003Cvoid>\n\n  getTargetOrigin(): string\n  getTargetOriginWithPath(): Map\u003CApiVersion, string>\n\n  getHttpClient(version: ApiVersion): TypeHttp\n  setHttpClient(version: ApiVersion, client: TypeHttp): void\n}\n",[533,613,614,631,648,664,675,682,691,702,707,719,724,731,741,746,752,762,767,780,785,794,815,820,844,873],{"__ignoreMap":486},[538,615,618,621,624,628],{"class":616,"line":617},"line",1,[538,619,620],{"class":540},"type",[538,622,623],{"class":540}," TypeB24",[538,625,627],{"class":626},"sMK4o"," =",[538,629,630],{"class":626}," {\n",[538,632,634,638,642,645],{"class":616,"line":633},2,[538,635,637],{"class":636},"sTEyZ","  readonly ",[538,639,641],{"class":640},"swJcz","isInit",[538,643,644],{"class":626},":",[538,646,647],{"class":636}," boolean\n",[538,649,651,655,658,661],{"class":616,"line":650},3,[538,652,654],{"class":653},"s2Zo4","  init",[538,656,657],{"class":636},"(): ",[538,659,660],{"class":540},"Promise",[538,662,663],{"class":626},"\u003Cvoid>\n",[538,665,667,670,672],{"class":616,"line":666},4,[538,668,669],{"class":653},"  destroy",[538,671,657],{"class":636},[538,673,674],{"class":626},"void\n",[538,676,678],{"class":616,"line":677},5,[538,679,681],{"emptyLinePlaceholder":680},true,"\n",[538,683,685,688],{"class":616,"line":684},6,[538,686,687],{"class":653},"  getLogger",[538,689,690],{"class":636},"(): LoggerInterface\n",[538,692,694,697,700],{"class":616,"line":693},7,[538,695,696],{"class":653},"  setLogger",[538,698,699],{"class":636},"(logger: LoggerInterface): ",[538,701,674],{"class":626},[538,703,705],{"class":616,"line":704},8,[538,706,681],{"emptyLinePlaceholder":680},[538,708,710,713,716],{"class":616,"line":709},9,[538,711,712],{"class":636},"  get ",[538,714,715],{"class":653},"auth",[538,717,718],{"class":636},"(): AuthActions\n",[538,720,722],{"class":616,"line":721},10,[538,723,681],{"emptyLinePlaceholder":680},[538,725,727],{"class":616,"line":726},11,[538,728,730],{"class":729},"sHwdD","  \u002F\u002F REST API (v2 \u002F v3) — call, callList, fetchList, batch, batchByChunk\n",[538,732,734,736,738],{"class":616,"line":733},12,[538,735,712],{"class":636},[538,737,91],{"class":653},[538,739,740],{"class":636},"(): ActionsManager\n",[538,742,744],{"class":616,"line":743},13,[538,745,681],{"emptyLinePlaceholder":680},[538,747,749],{"class":616,"line":748},14,[538,750,751],{"class":729},"  \u002F\u002F Helper utilities (healthCheck, ping)\n",[538,753,755,757,759],{"class":616,"line":754},15,[538,756,712],{"class":636},[538,758,303],{"class":653},[538,760,761],{"class":636},"(): ToolsManager\n",[538,763,765],{"class":616,"line":764},16,[538,766,681],{"emptyLinePlaceholder":680},[538,768,770,773,776,778],{"class":616,"line":769},17,[538,771,772],{"class":653},"  setRestrictionManagerParams",[538,774,775],{"class":636},"(params: RestrictionParams): ",[538,777,660],{"class":540},[538,779,663],{"class":626},[538,781,783],{"class":616,"line":782},18,[538,784,681],{"emptyLinePlaceholder":680},[538,786,788,791],{"class":616,"line":787},19,[538,789,790],{"class":653},"  getTargetOrigin",[538,792,793],{"class":636},"(): string\n",[538,795,797,800,803,806,809,812],{"class":616,"line":796},20,[538,798,799],{"class":653},"  getTargetOriginWithPath",[538,801,802],{"class":636},"(): Map",[538,804,805],{"class":626},"\u003C",[538,807,808],{"class":636},"ApiVersion",[538,810,811],{"class":626},",",[538,813,814],{"class":636}," string>\n",[538,816,818],{"class":616,"line":817},21,[538,819,681],{"emptyLinePlaceholder":680},[538,821,823,826,829,833,835,838,841],{"class":616,"line":822},22,[538,824,825],{"class":640},"  getHttpClient",[538,827,828],{"class":626},"(",[538,830,832],{"class":831},"sHdIc","version",[538,834,644],{"class":626},[538,836,837],{"class":540}," ApiVersion",[538,839,840],{"class":626},"):",[538,842,843],{"class":540}," TypeHttp\n",[538,845,847,850,852,854,856,858,860,863,865,868,870],{"class":616,"line":846},23,[538,848,849],{"class":640},"  setHttpClient",[538,851,828],{"class":626},[538,853,832],{"class":831},[538,855,644],{"class":626},[538,857,837],{"class":540},[538,859,811],{"class":626},[538,861,862],{"class":831}," client",[538,864,644],{"class":626},[538,866,867],{"class":540}," TypeHttp",[538,869,840],{"class":626},[538,871,872],{"class":540}," void\n",[538,874,876],{"class":616,"line":875},24,[538,877,878],{"class":626},"}\n",[469,880,881,882,885,886,644],{},"REST-методы доступны через ",[533,883,884],{},"actions.v2.*"," и ",[533,887,888],{},"actions.v3.*",[609,890,892],{"className":535,"code":891,"language":536,"meta":486,"style":486},"\u002F\u002F $b24 — экземпляр B24Frame | B24Hook | B24OAuth\n\nawait $b24.actions.v2.call.make(options)         \u002F\u002F Promise\u003CAjaxResult>\nawait $b24.actions.v2.callList.make(options)     \u002F\u002F Promise\u003CResult\u003CT[]>>\n$b24.actions.v2.fetchList.make(options)          \u002F\u002F AsyncGenerator\u003CT[]>\nawait $b24.actions.v2.batch.make(options)        \u002F\u002F Promise\u003CCallBatchResult>\nawait $b24.actions.v2.batchByChunk.make(options) \u002F\u002F Promise\u003CResult\u003CT[]>>\n\n\u002F\u002F v3 симметрична\nawait $b24.actions.v3.call.make(options)\n\u002F\u002F ...\n\nawait $b24.tools.healthCheck.make({ requestId })  \u002F\u002F Promise\u003Cboolean>\nawait $b24.tools.ping.make({ requestId })         \u002F\u002F Promise\u003Cnumber>\n",[533,893,894,899,903,938,967,995,1024,1052,1056,1061,1087,1092,1096,1132],{"__ignoreMap":486},[538,895,896],{"class":616,"line":617},[538,897,898],{"class":729},"\u002F\u002F $b24 — экземпляр B24Frame | B24Hook | B24OAuth\n",[538,900,901],{"class":616,"line":633},[538,902,681],{"emptyLinePlaceholder":680},[538,904,905,909,912,915,917,919,922,924,927,929,932,935],{"class":616,"line":650},[538,906,908],{"class":907},"s7zQu","await",[538,910,911],{"class":636}," $b24",[538,913,914],{"class":626},".",[538,916,91],{"class":636},[538,918,914],{"class":626},[538,920,921],{"class":636},"v2",[538,923,914],{"class":626},[538,925,926],{"class":636},"call",[538,928,914],{"class":626},[538,930,931],{"class":653},"make",[538,933,934],{"class":636},"(options)         ",[538,936,937],{"class":729},"\u002F\u002F Promise\u003CAjaxResult>\n",[538,939,940,942,944,946,948,950,952,954,957,959,961,964],{"class":616,"line":666},[538,941,908],{"class":907},[538,943,911],{"class":636},[538,945,914],{"class":626},[538,947,91],{"class":636},[538,949,914],{"class":626},[538,951,921],{"class":636},[538,953,914],{"class":626},[538,955,956],{"class":636},"callList",[538,958,914],{"class":626},[538,960,931],{"class":653},[538,962,963],{"class":636},"(options)     ",[538,965,966],{"class":729},"\u002F\u002F Promise\u003CResult\u003CT[]>>\n",[538,968,969,972,974,976,978,980,982,985,987,989,992],{"class":616,"line":677},[538,970,971],{"class":636},"$b24",[538,973,914],{"class":626},[538,975,91],{"class":636},[538,977,914],{"class":626},[538,979,921],{"class":636},[538,981,914],{"class":626},[538,983,984],{"class":636},"fetchList",[538,986,914],{"class":626},[538,988,931],{"class":653},[538,990,991],{"class":636},"(options)          ",[538,993,994],{"class":729},"\u002F\u002F AsyncGenerator\u003CT[]>\n",[538,996,997,999,1001,1003,1005,1007,1009,1011,1014,1016,1018,1021],{"class":616,"line":684},[538,998,908],{"class":907},[538,1000,911],{"class":636},[538,1002,914],{"class":626},[538,1004,91],{"class":636},[538,1006,914],{"class":626},[538,1008,921],{"class":636},[538,1010,914],{"class":626},[538,1012,1013],{"class":636},"batch",[538,1015,914],{"class":626},[538,1017,931],{"class":653},[538,1019,1020],{"class":636},"(options)        ",[538,1022,1023],{"class":729},"\u002F\u002F Promise\u003CCallBatchResult>\n",[538,1025,1026,1028,1030,1032,1034,1036,1038,1040,1043,1045,1047,1050],{"class":616,"line":693},[538,1027,908],{"class":907},[538,1029,911],{"class":636},[538,1031,914],{"class":626},[538,1033,91],{"class":636},[538,1035,914],{"class":626},[538,1037,921],{"class":636},[538,1039,914],{"class":626},[538,1041,1042],{"class":636},"batchByChunk",[538,1044,914],{"class":626},[538,1046,931],{"class":653},[538,1048,1049],{"class":636},"(options) ",[538,1051,966],{"class":729},[538,1053,1054],{"class":616,"line":704},[538,1055,681],{"emptyLinePlaceholder":680},[538,1057,1058],{"class":616,"line":709},[538,1059,1060],{"class":729},"\u002F\u002F v3 симметрична\n",[538,1062,1063,1065,1067,1069,1071,1073,1076,1078,1080,1082,1084],{"class":616,"line":721},[538,1064,908],{"class":907},[538,1066,911],{"class":636},[538,1068,914],{"class":626},[538,1070,91],{"class":636},[538,1072,914],{"class":626},[538,1074,1075],{"class":636},"v3",[538,1077,914],{"class":626},[538,1079,926],{"class":636},[538,1081,914],{"class":626},[538,1083,931],{"class":653},[538,1085,1086],{"class":636},"(options)\n",[538,1088,1089],{"class":616,"line":726},[538,1090,1091],{"class":729},"\u002F\u002F ...\n",[538,1093,1094],{"class":616,"line":733},[538,1095,681],{"emptyLinePlaceholder":680},[538,1097,1098,1100,1102,1104,1106,1108,1111,1113,1115,1117,1120,1123,1126,1129],{"class":616,"line":743},[538,1099,908],{"class":907},[538,1101,911],{"class":636},[538,1103,914],{"class":626},[538,1105,303],{"class":636},[538,1107,914],{"class":626},[538,1109,1110],{"class":636},"healthCheck",[538,1112,914],{"class":626},[538,1114,931],{"class":653},[538,1116,828],{"class":636},[538,1118,1119],{"class":626},"{",[538,1121,1122],{"class":636}," requestId ",[538,1124,1125],{"class":626},"}",[538,1127,1128],{"class":636},")  ",[538,1130,1131],{"class":729},"\u002F\u002F Promise\u003Cboolean>\n",[538,1133,1134,1136,1138,1140,1142,1144,1147,1149,1151,1153,1155,1157,1159,1162],{"class":616,"line":748},[538,1135,908],{"class":907},[538,1137,911],{"class":636},[538,1139,914],{"class":626},[538,1141,303],{"class":636},[538,1143,914],{"class":626},[538,1145,1146],{"class":636},"ping",[538,1148,914],{"class":626},[538,1150,931],{"class":653},[538,1152,828],{"class":636},[538,1154,1119],{"class":626},[538,1156,1122],{"class":636},[538,1158,1125],{"class":626},[538,1160,1161],{"class":636},")         ",[538,1163,1164],{"class":729},"\u002F\u002F Promise\u003Cnumber>\n",[473,1166,1168],{"id":1167},"key-features","Ключевые возможности",[498,1170,1172],{"id":1171},"main-api-methods","Основные методы API",[1174,1175,1176,1184,1191,1198,1205],"ul",{},[1177,1178,1179,1183],"li",{},[568,1180,1181],{},[533,1182,87],{}," — базовый метод для вызова любых REST API-методов",[1177,1185,1186,1190],{},[568,1187,1188],{},[533,1189,99],{}," — автоматическое получение всех данных из list-методов с пагинацией",[1177,1192,1193,1197],{},[568,1194,1195],{},[533,1196,108],{}," — поэтапная обработка больших объёмов данных через AsyncGenerator",[1177,1199,1200,1204],{},[568,1201,1202],{},[533,1203,122],{}," — выполнение до 50 команд в одном запросе",[1177,1206,1207,1211],{},[568,1208,1209],{},[533,1210,171],{}," — автоматическое разбиение больших наборов команд на батчи",[498,1213,1215],{"id":1214},"helper-tools","Вспомогательные инструменты",[1174,1217,1218,1225],{},[1177,1219,1220,1224],{},[568,1221,1222],{},[533,1223,342],{}," — проверка доступности REST API",[1177,1226,1227,1231],{},[568,1228,1229],{},[533,1230,347],{}," — измерение времени отклика API",[473,1233,1235],{"id":1234},"choosing-the-right-class","Выбор подходящего класса",[498,1237,1239,1240,486],{"id":1238},"for-client-applications-browser-badge","Для клиентских приложений (браузер) ",[1241,1242],"badge",{"className":1243,"label":1245},[1244],"align-text-top","client-side",[469,1247,1248,1249,1251,1252,644],{},"Используйте ",[533,1250,133],{}," — он доступен в ",[600,1253,1255],{"href":1254},"\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fvue\u002F#init","iframe Bitrix24-приложений",[481,1257,1258,1391],{},[484,1259,1260],{"v-slot:rest-api-ver2":486},[609,1261,1265],{"className":1262,"code":1263,"language":1264,"meta":486,"style":486},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F В приложении, встроенном в Bitrix24\nasync () => {\n  $b24 = await initializeB24Frame()\n  const response = await $b24.actions.v2.call.make({\n    method: 'crm.contact.get',\n    params: { id: 123 }\n  })\n}\n","ts",[533,1266,1267,1272,1286,1302,1337,1357,1379,1387],{"__ignoreMap":486},[538,1268,1269],{"class":616,"line":617},[538,1270,1271],{"class":729},"\u002F\u002F В приложении, встроенном в Bitrix24\n",[538,1273,1274,1278,1281,1284],{"class":616,"line":633},[538,1275,1277],{"class":1276},"spNyl","async",[538,1279,1280],{"class":626}," ()",[538,1282,1283],{"class":1276}," =>",[538,1285,630],{"class":626},[538,1287,1288,1291,1293,1296,1299],{"class":616,"line":650},[538,1289,1290],{"class":636},"  $b24",[538,1292,627],{"class":626},[538,1294,1295],{"class":907}," await",[538,1297,1298],{"class":653}," initializeB24Frame",[538,1300,1301],{"class":640},"()\n",[538,1303,1304,1307,1310,1312,1314,1316,1318,1320,1322,1324,1326,1328,1330,1332,1334],{"class":616,"line":666},[538,1305,1306],{"class":1276},"  const",[538,1308,1309],{"class":636}," response",[538,1311,627],{"class":626},[538,1313,1295],{"class":907},[538,1315,911],{"class":636},[538,1317,914],{"class":626},[538,1319,91],{"class":636},[538,1321,914],{"class":626},[538,1323,921],{"class":636},[538,1325,914],{"class":626},[538,1327,926],{"class":636},[538,1329,914],{"class":626},[538,1331,931],{"class":653},[538,1333,828],{"class":640},[538,1335,1336],{"class":626},"{\n",[538,1338,1339,1342,1344,1347,1351,1354],{"class":616,"line":677},[538,1340,1341],{"class":640},"    method",[538,1343,644],{"class":626},[538,1345,1346],{"class":626}," '",[538,1348,1350],{"class":1349},"sfazB","crm.contact.get",[538,1352,1353],{"class":626},"'",[538,1355,1356],{"class":626},",\n",[538,1358,1359,1362,1364,1367,1370,1372,1376],{"class":616,"line":684},[538,1360,1361],{"class":640},"    params",[538,1363,644],{"class":626},[538,1365,1366],{"class":626}," {",[538,1368,1369],{"class":640}," id",[538,1371,644],{"class":626},[538,1373,1375],{"class":1374},"sbssI"," 123",[538,1377,1378],{"class":626}," }\n",[538,1380,1381,1384],{"class":616,"line":693},[538,1382,1383],{"class":626},"  }",[538,1385,1386],{"class":640},")\n",[538,1388,1389],{"class":616,"line":704},[538,1390,878],{"class":626},[484,1392,1393],{"v-slot:rest-api-ver3":486},[609,1394,1396],{"className":1262,"code":1395,"language":1264,"meta":486,"style":486},"\u002F\u002F В приложении, встроенном в Bitrix24\nasync () => {\n  $b24 = await initializeB24Frame()\n  const response = await $b24.actions.v3.call.make({\n    method: 'tasks.task.get',\n    params: { id: 123 }\n  })\n}\n",[533,1397,1398,1402,1412,1424,1456,1471,1487,1493],{"__ignoreMap":486},[538,1399,1400],{"class":616,"line":617},[538,1401,1271],{"class":729},[538,1403,1404,1406,1408,1410],{"class":616,"line":633},[538,1405,1277],{"class":1276},[538,1407,1280],{"class":626},[538,1409,1283],{"class":1276},[538,1411,630],{"class":626},[538,1413,1414,1416,1418,1420,1422],{"class":616,"line":650},[538,1415,1290],{"class":636},[538,1417,627],{"class":626},[538,1419,1295],{"class":907},[538,1421,1298],{"class":653},[538,1423,1301],{"class":640},[538,1425,1426,1428,1430,1432,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454],{"class":616,"line":666},[538,1427,1306],{"class":1276},[538,1429,1309],{"class":636},[538,1431,627],{"class":626},[538,1433,1295],{"class":907},[538,1435,911],{"class":636},[538,1437,914],{"class":626},[538,1439,91],{"class":636},[538,1441,914],{"class":626},[538,1443,1075],{"class":636},[538,1445,914],{"class":626},[538,1447,926],{"class":636},[538,1449,914],{"class":626},[538,1451,931],{"class":653},[538,1453,828],{"class":640},[538,1455,1336],{"class":626},[538,1457,1458,1460,1462,1464,1467,1469],{"class":616,"line":677},[538,1459,1341],{"class":640},[538,1461,644],{"class":626},[538,1463,1346],{"class":626},[538,1465,1466],{"class":1349},"tasks.task.get",[538,1468,1353],{"class":626},[538,1470,1356],{"class":626},[538,1472,1473,1475,1477,1479,1481,1483,1485],{"class":616,"line":684},[538,1474,1361],{"class":640},[538,1476,644],{"class":626},[538,1478,1366],{"class":626},[538,1480,1369],{"class":640},[538,1482,644],{"class":626},[538,1484,1375],{"class":1374},[538,1486,1378],{"class":626},[538,1488,1489,1491],{"class":616,"line":693},[538,1490,1383],{"class":626},[538,1492,1386],{"class":640},[538,1494,1495],{"class":616,"line":704},[538,1496,878],{"class":626},[498,1498,1500,1501,486],{"id":1499},"for-server-applications-with-permanent-access-badge","Для серверных приложений с постоянным доступом ",[1241,1502],{"className":1503,"label":1504},[1244],"server-side",[469,1506,1248,1507,1509],{},[533,1508,117],{}," с вебхуком:",[481,1511,1512,1666],{},[484,1513,1514],{"v-slot:rest-api-ver2":486},[609,1515,1517],{"className":1262,"code":1516,"language":1264,"meta":486,"style":486},"import { B24Hook } from '@bitrix24\u002Fb24jssdk'\n\nconst $b24 = B24Hook.fromWebhookUrl('https:\u002F\u002Fyour_domain.bitrix24.com\u002Frest\u002F1\u002Fwebhook_code\u002F')\n\nconst response = await $b24.actions.v2.call.make({\n  method: 'crm.contact.get',\n  params: { id: 123 },\n  requestId: 'server-request'\n})\n",[533,1518,1519,1543,1547,1576,1580,1613,1628,1646,1660],{"__ignoreMap":486},[538,1520,1521,1524,1526,1529,1532,1535,1537,1540],{"class":616,"line":617},[538,1522,1523],{"class":907},"import",[538,1525,1366],{"class":626},[538,1527,1528],{"class":636}," B24Hook",[538,1530,1531],{"class":626}," }",[538,1533,1534],{"class":907}," from",[538,1536,1346],{"class":626},[538,1538,1539],{"class":1349},"@bitrix24\u002Fb24jssdk",[538,1541,1542],{"class":626},"'\n",[538,1544,1545],{"class":616,"line":633},[538,1546,681],{"emptyLinePlaceholder":680},[538,1548,1549,1552,1555,1558,1560,1562,1565,1567,1569,1572,1574],{"class":616,"line":650},[538,1550,1551],{"class":1276},"const",[538,1553,1554],{"class":636}," $b24 ",[538,1556,1557],{"class":626},"=",[538,1559,1528],{"class":636},[538,1561,914],{"class":626},[538,1563,1564],{"class":653},"fromWebhookUrl",[538,1566,828],{"class":636},[538,1568,1353],{"class":626},[538,1570,1571],{"class":1349},"https:\u002F\u002Fyour_domain.bitrix24.com\u002Frest\u002F1\u002Fwebhook_code\u002F",[538,1573,1353],{"class":626},[538,1575,1386],{"class":636},[538,1577,1578],{"class":616,"line":666},[538,1579,681],{"emptyLinePlaceholder":680},[538,1581,1582,1584,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611],{"class":616,"line":677},[538,1583,1551],{"class":1276},[538,1585,1586],{"class":636}," response ",[538,1588,1557],{"class":626},[538,1590,1295],{"class":907},[538,1592,911],{"class":636},[538,1594,914],{"class":626},[538,1596,91],{"class":636},[538,1598,914],{"class":626},[538,1600,921],{"class":636},[538,1602,914],{"class":626},[538,1604,926],{"class":636},[538,1606,914],{"class":626},[538,1608,931],{"class":653},[538,1610,828],{"class":636},[538,1612,1336],{"class":626},[538,1614,1615,1618,1620,1622,1624,1626],{"class":616,"line":684},[538,1616,1617],{"class":640},"  method",[538,1619,644],{"class":626},[538,1621,1346],{"class":626},[538,1623,1350],{"class":1349},[538,1625,1353],{"class":626},[538,1627,1356],{"class":626},[538,1629,1630,1633,1635,1637,1639,1641,1643],{"class":616,"line":693},[538,1631,1632],{"class":640},"  params",[538,1634,644],{"class":626},[538,1636,1366],{"class":626},[538,1638,1369],{"class":640},[538,1640,644],{"class":626},[538,1642,1375],{"class":1374},[538,1644,1645],{"class":626}," },\n",[538,1647,1648,1651,1653,1655,1658],{"class":616,"line":704},[538,1649,1650],{"class":640},"  requestId",[538,1652,644],{"class":626},[538,1654,1346],{"class":626},[538,1656,1657],{"class":1349},"server-request",[538,1659,1542],{"class":626},[538,1661,1662,1664],{"class":616,"line":709},[538,1663,1125],{"class":626},[538,1665,1386],{"class":636},[484,1667,1668],{"v-slot:rest-api-ver3":486},[609,1669,1671],{"className":1262,"code":1670,"language":1264,"meta":486,"style":486},"import { B24Hook } from '@bitrix24\u002Fb24jssdk'\n\nconst $b24 = B24Hook.fromWebhookUrl('https:\u002F\u002Fyour_domain.bitrix24.com\u002Frest\u002F1\u002Fwebhook_code\u002F')\n\nconst response = await $b24.actions.v3.call.make({\n  method: 'tasks.task.get',\n  params: { id: 123 },\n  requestId: 'server-request'\n})\n",[533,1672,1673,1691,1695,1719,1723,1755,1769,1785,1797],{"__ignoreMap":486},[538,1674,1675,1677,1679,1681,1683,1685,1687,1689],{"class":616,"line":617},[538,1676,1523],{"class":907},[538,1678,1366],{"class":626},[538,1680,1528],{"class":636},[538,1682,1531],{"class":626},[538,1684,1534],{"class":907},[538,1686,1346],{"class":626},[538,1688,1539],{"class":1349},[538,1690,1542],{"class":626},[538,1692,1693],{"class":616,"line":633},[538,1694,681],{"emptyLinePlaceholder":680},[538,1696,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717],{"class":616,"line":650},[538,1698,1551],{"class":1276},[538,1700,1554],{"class":636},[538,1702,1557],{"class":626},[538,1704,1528],{"class":636},[538,1706,914],{"class":626},[538,1708,1564],{"class":653},[538,1710,828],{"class":636},[538,1712,1353],{"class":626},[538,1714,1571],{"class":1349},[538,1716,1353],{"class":626},[538,1718,1386],{"class":636},[538,1720,1721],{"class":616,"line":666},[538,1722,681],{"emptyLinePlaceholder":680},[538,1724,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753],{"class":616,"line":677},[538,1726,1551],{"class":1276},[538,1728,1586],{"class":636},[538,1730,1557],{"class":626},[538,1732,1295],{"class":907},[538,1734,911],{"class":636},[538,1736,914],{"class":626},[538,1738,91],{"class":636},[538,1740,914],{"class":626},[538,1742,1075],{"class":636},[538,1744,914],{"class":626},[538,1746,926],{"class":636},[538,1748,914],{"class":626},[538,1750,931],{"class":653},[538,1752,828],{"class":636},[538,1754,1336],{"class":626},[538,1756,1757,1759,1761,1763,1765,1767],{"class":616,"line":684},[538,1758,1617],{"class":640},[538,1760,644],{"class":626},[538,1762,1346],{"class":626},[538,1764,1466],{"class":1349},[538,1766,1353],{"class":626},[538,1768,1356],{"class":626},[538,1770,1771,1773,1775,1777,1779,1781,1783],{"class":616,"line":693},[538,1772,1632],{"class":640},[538,1774,644],{"class":626},[538,1776,1366],{"class":626},[538,1778,1369],{"class":640},[538,1780,644],{"class":626},[538,1782,1375],{"class":1374},[538,1784,1645],{"class":626},[538,1786,1787,1789,1791,1793,1795],{"class":616,"line":704},[538,1788,1650],{"class":640},[538,1790,644],{"class":626},[538,1792,1346],{"class":626},[538,1794,1657],{"class":1349},[538,1796,1542],{"class":626},[538,1798,1799,1801],{"class":616,"line":709},[538,1800,1125],{"class":626},[538,1802,1386],{"class":636},[498,1804,1806,1807,1810,1811,486],{"id":1805},"for-server-applications-with-oauth-authentication-badge-badge","Для серверных приложений с OAuth-аутентификацией ",[1241,1808],{"className":1809,"label":1504},[1244]," ",[1241,1812],{"className":1813,"label":1814},[1244],"authentication",[469,1816,1248,1817,644],{},[533,1818,180],{},[1820,1821,1822],"note",{},[469,1823,1824,1825,1828],{},"См. ",[600,1826,180],{"href":1827},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Foauth\u002F"," для полной сигнатуры конструктора и потока обновления токена.",[481,1830,1831,2026],{},[484,1832,1833,1836],{"v-slot:rest-api-ver2":486},[469,1834,1835],{},"\u002F\u002F @check-ignore: placeholder params for illustration — real B24OAuthParams required at runtime",[609,1837,1839],{"className":1262,"code":1838,"language":1264,"meta":486,"style":486},"import { B24OAuth, EnumAppStatus } from '@bitrix24\u002Fb24jssdk'\n\nconst $b24 = new B24OAuth(\n  { \u002F* B24OAuthParams: applicationToken, userId, memberId, accessToken,\n       refreshToken, expires, expiresIn, scope, domain, clientEndpoint,\n       serverEndpoint, status (EnumAppStatus.*) *\u002F },\n  { clientId: 'your_client_id', clientSecret: 'your_client_secret' }\n)\n\nconst response = await $b24.actions.v2.call.make({\n  method: 'crm.contact.get',\n  params: { id: 123 },\n  requestId: 'oauth-request'\n})\n",[533,1840,1841,1865,1869,1885,1893,1898,1905,1937,1941,1945,1977,1991,2007,2020],{"__ignoreMap":486},[538,1842,1843,1845,1847,1850,1852,1855,1857,1859,1861,1863],{"class":616,"line":617},[538,1844,1523],{"class":907},[538,1846,1366],{"class":626},[538,1848,1849],{"class":636}," B24OAuth",[538,1851,811],{"class":626},[538,1853,1854],{"class":636}," EnumAppStatus",[538,1856,1531],{"class":626},[538,1858,1534],{"class":907},[538,1860,1346],{"class":626},[538,1862,1539],{"class":1349},[538,1864,1542],{"class":626},[538,1866,1867],{"class":616,"line":633},[538,1868,681],{"emptyLinePlaceholder":680},[538,1870,1871,1873,1875,1877,1880,1882],{"class":616,"line":650},[538,1872,1551],{"class":1276},[538,1874,1554],{"class":636},[538,1876,1557],{"class":626},[538,1878,1879],{"class":626}," new",[538,1881,1849],{"class":653},[538,1883,1884],{"class":636},"(\n",[538,1886,1887,1890],{"class":616,"line":666},[538,1888,1889],{"class":626},"  {",[538,1891,1892],{"class":729}," \u002F* B24OAuthParams: applicationToken, userId, memberId, accessToken,\n",[538,1894,1895],{"class":616,"line":677},[538,1896,1897],{"class":729},"       refreshToken, expires, expiresIn, scope, domain, clientEndpoint,\n",[538,1899,1900,1903],{"class":616,"line":684},[538,1901,1902],{"class":729},"       serverEndpoint, status (EnumAppStatus.*) *\u002F",[538,1904,1645],{"class":626},[538,1906,1907,1909,1912,1914,1916,1919,1921,1923,1926,1928,1930,1933,1935],{"class":616,"line":693},[538,1908,1889],{"class":626},[538,1910,1911],{"class":640}," clientId",[538,1913,644],{"class":626},[538,1915,1346],{"class":626},[538,1917,1918],{"class":1349},"your_client_id",[538,1920,1353],{"class":626},[538,1922,811],{"class":626},[538,1924,1925],{"class":640}," clientSecret",[538,1927,644],{"class":626},[538,1929,1346],{"class":626},[538,1931,1932],{"class":1349},"your_client_secret",[538,1934,1353],{"class":626},[538,1936,1378],{"class":626},[538,1938,1939],{"class":616,"line":704},[538,1940,1386],{"class":636},[538,1942,1943],{"class":616,"line":709},[538,1944,681],{"emptyLinePlaceholder":680},[538,1946,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975],{"class":616,"line":721},[538,1948,1551],{"class":1276},[538,1950,1586],{"class":636},[538,1952,1557],{"class":626},[538,1954,1295],{"class":907},[538,1956,911],{"class":636},[538,1958,914],{"class":626},[538,1960,91],{"class":636},[538,1962,914],{"class":626},[538,1964,921],{"class":636},[538,1966,914],{"class":626},[538,1968,926],{"class":636},[538,1970,914],{"class":626},[538,1972,931],{"class":653},[538,1974,828],{"class":636},[538,1976,1336],{"class":626},[538,1978,1979,1981,1983,1985,1987,1989],{"class":616,"line":726},[538,1980,1617],{"class":640},[538,1982,644],{"class":626},[538,1984,1346],{"class":626},[538,1986,1350],{"class":1349},[538,1988,1353],{"class":626},[538,1990,1356],{"class":626},[538,1992,1993,1995,1997,1999,2001,2003,2005],{"class":616,"line":733},[538,1994,1632],{"class":640},[538,1996,644],{"class":626},[538,1998,1366],{"class":626},[538,2000,1369],{"class":640},[538,2002,644],{"class":626},[538,2004,1375],{"class":1374},[538,2006,1645],{"class":626},[538,2008,2009,2011,2013,2015,2018],{"class":616,"line":743},[538,2010,1650],{"class":640},[538,2012,644],{"class":626},[538,2014,1346],{"class":626},[538,2016,2017],{"class":1349},"oauth-request",[538,2019,1542],{"class":626},[538,2021,2022,2024],{"class":616,"line":748},[538,2023,1125],{"class":626},[538,2025,1386],{"class":636},[484,2027,2028,2030],{"v-slot:rest-api-ver3":486},[469,2029,1835],{},[609,2031,2033],{"className":1262,"code":2032,"language":1264,"meta":486,"style":486},"import { B24OAuth, EnumAppStatus } from '@bitrix24\u002Fb24jssdk'\n\nconst $b24 = new B24OAuth(\n  { \u002F* B24OAuthParams: см. \u002Fdocs\u002Fworking-with-the-rest-api\u002Foauth\u002F *\u002F },\n  { clientId: 'your_client_id', clientSecret: 'your_client_secret' }\n)\n\nconst response = await $b24.actions.v3.call.make({\n  method: 'tasks.task.get',\n  params: { id: 123 },\n  requestId: 'oauth-request'\n})\n",[533,2034,2035,2057,2061,2075,2084,2112,2116,2120,2152,2166,2182,2194],{"__ignoreMap":486},[538,2036,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055],{"class":616,"line":617},[538,2038,1523],{"class":907},[538,2040,1366],{"class":626},[538,2042,1849],{"class":636},[538,2044,811],{"class":626},[538,2046,1854],{"class":636},[538,2048,1531],{"class":626},[538,2050,1534],{"class":907},[538,2052,1346],{"class":626},[538,2054,1539],{"class":1349},[538,2056,1542],{"class":626},[538,2058,2059],{"class":616,"line":633},[538,2060,681],{"emptyLinePlaceholder":680},[538,2062,2063,2065,2067,2069,2071,2073],{"class":616,"line":650},[538,2064,1551],{"class":1276},[538,2066,1554],{"class":636},[538,2068,1557],{"class":626},[538,2070,1879],{"class":626},[538,2072,1849],{"class":653},[538,2074,1884],{"class":636},[538,2076,2077,2079,2082],{"class":616,"line":666},[538,2078,1889],{"class":626},[538,2080,2081],{"class":729}," \u002F* B24OAuthParams: см. \u002Fdocs\u002Fworking-with-the-rest-api\u002Foauth\u002F *\u002F",[538,2083,1645],{"class":626},[538,2085,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110],{"class":616,"line":677},[538,2087,1889],{"class":626},[538,2089,1911],{"class":640},[538,2091,644],{"class":626},[538,2093,1346],{"class":626},[538,2095,1918],{"class":1349},[538,2097,1353],{"class":626},[538,2099,811],{"class":626},[538,2101,1925],{"class":640},[538,2103,644],{"class":626},[538,2105,1346],{"class":626},[538,2107,1932],{"class":1349},[538,2109,1353],{"class":626},[538,2111,1378],{"class":626},[538,2113,2114],{"class":616,"line":684},[538,2115,1386],{"class":636},[538,2117,2118],{"class":616,"line":693},[538,2119,681],{"emptyLinePlaceholder":680},[538,2121,2122,2124,2126,2128,2130,2132,2134,2136,2138,2140,2142,2144,2146,2148,2150],{"class":616,"line":704},[538,2123,1551],{"class":1276},[538,2125,1586],{"class":636},[538,2127,1557],{"class":626},[538,2129,1295],{"class":907},[538,2131,911],{"class":636},[538,2133,914],{"class":626},[538,2135,91],{"class":636},[538,2137,914],{"class":626},[538,2139,1075],{"class":636},[538,2141,914],{"class":626},[538,2143,926],{"class":636},[538,2145,914],{"class":626},[538,2147,931],{"class":653},[538,2149,828],{"class":636},[538,2151,1336],{"class":626},[538,2153,2154,2156,2158,2160,2162,2164],{"class":616,"line":709},[538,2155,1617],{"class":640},[538,2157,644],{"class":626},[538,2159,1346],{"class":626},[538,2161,1466],{"class":1349},[538,2163,1353],{"class":626},[538,2165,1356],{"class":626},[538,2167,2168,2170,2172,2174,2176,2178,2180],{"class":616,"line":721},[538,2169,1632],{"class":640},[538,2171,644],{"class":626},[538,2173,1366],{"class":626},[538,2175,1369],{"class":640},[538,2177,644],{"class":626},[538,2179,1375],{"class":1374},[538,2181,1645],{"class":626},[538,2183,2184,2186,2188,2190,2192],{"class":616,"line":726},[538,2185,1650],{"class":640},[538,2187,644],{"class":626},[538,2189,1346],{"class":626},[538,2191,2017],{"class":1349},[538,2193,1542],{"class":626},[538,2195,2196,2198],{"class":616,"line":733},[538,2197,1125],{"class":626},[538,2199,1386],{"class":636},[473,2201,2203],{"id":2202},"common-methods-available-in-all-classes","Общие методы (доступны во всех классах)",[498,2205,2207],{"id":2206},"method-architecture","Архитектура методов",[503,2209,2210,2229],{},[506,2211,2212],{},[509,2213,2214,2217,2220,2223,2226],{},[512,2215,2216],{},"Метод",[512,2218,2219],{},"Возвращаемое значение",[512,2221,2222],{},"Память",[512,2224,2225],{},"Использование",[512,2227,2228],{},"Подходит для",[525,2230,2231,2261,2301,2335],{},[509,2232,2233,2239,2252,2255,2258],{},[530,2234,2235],{},[533,2236,2237],{"className":535,"language":536,"style":486},[538,2238,87],{"class":540},[530,2240,2241],{},[533,2242,2243,2245,2247,2249],{"className":535,"language":536,"style":486},[538,2244,660],{"class":540},[538,2246,805],{"class":626},[538,2248,262],{"class":540},[538,2250,2251],{"class":626},">",[530,2253,2254],{},"Минимум",[530,2256,2257],{},"Одиночные вызовы",[530,2259,2260],{},"Получение отдельных элементов, вызов методов без пагинации",[509,2262,2263,2269,2290,2293,2298],{},[530,2264,2265],{},[533,2266,2267],{"className":535,"language":536,"style":486},[538,2268,99],{"class":540},[530,2270,2271],{},[533,2272,2273,2275,2277,2279,2281,2284,2287],{"className":535,"language":536,"style":486},[538,2274,660],{"class":540},[538,2276,805],{"class":626},[538,2278,283],{"class":540},[538,2280,805],{"class":626},[538,2282,2283],{"class":540},"T",[538,2285,2286],{"class":636},"[]",[538,2288,2289],{"class":626},">>",[530,2291,2292],{},"Все данные в памяти",[530,2294,2295],{},[533,2296,2297],{},"await response.getData()",[530,2299,2300],{},"Малые и средние объёмы данных, когда все данные нужны сразу",[509,2302,2303,2309,2324,2327,2332],{},[530,2304,2305],{},[533,2306,2307],{"className":535,"language":536,"style":486},[538,2308,108],{"class":540},[530,2310,2311],{},[533,2312,2313,2316,2318,2320,2322],{"className":535,"language":536,"style":486},[538,2314,2315],{"class":540},"AsyncGenerator",[538,2317,805],{"class":626},[538,2319,2283],{"class":540},[538,2321,2286],{"class":636},[538,2323,2251],{"class":626},[530,2325,2326],{},"Обработка по частям",[530,2328,2329],{},[533,2330,2331],{},"for await (const chunk of generator)",[530,2333,2334],{},"Большие объёмы данных, потоковая обработка, ограниченная память",[509,2336,2337,2343,2356,2359,2362],{},[530,2338,2339],{},[533,2340,2341],{"className":535,"language":536,"style":486},[538,2342,122],{"class":540},[530,2344,2345],{},[533,2346,2347,2349,2351,2354],{"className":535,"language":536,"style":486},[538,2348,660],{"class":540},[538,2350,805],{"class":626},[538,2352,2353],{"class":540},"CallBatchResult",[538,2355,2251],{"class":626},[530,2357,2358],{},"Зависит от объёма",[530,2360,2361],{},"Пакетные операции до 50 команд",[530,2363,2364],{},"Массовые операции, оптимизация сетевых запросов",[481,2366,2367],{},[484,2368,2369],{"v-slot:rest-api-ver2":486},[2370,2371,2372,2377,2380,2398],"blockquote",{},[469,2373,2374],{},[568,2375,2376],{},"Автоматические предупреждения",[469,2378,2379],{},"SDK автоматически отслеживает использование методов, доступных в REST API v3:",[609,2381,2385],{"className":2382,"code":2383,"language":2384,"meta":486,"style":486},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\"The method {method_name} is available in restApi:v3. It's worth migrating to the new API.\"\n","json",[533,2386,2387],{"__ignoreMap":486},[538,2388,2389,2392,2395],{"class":616,"line":617},[538,2390,2391],{"class":626},"\"",[538,2393,2394],{"class":1349},"The method {method_name} is available in restApi:v3. It's worth migrating to the new API.",[538,2396,2397],{"class":626},"\"\n",[469,2399,2400],{},"Это позволяет постепенно мигрировать с устаревающего API v2 на современный v3.",[473,2402,2404],{"id":2403},"method-selection-recommendations","Рекомендации по выбору метода",[498,2406,2408],{"id":2407},"for-data-retrieval","Для получения данных",[2410,2411,2412,2420,2427,2434],"ol",{},[1177,2413,2414,2417,2418],{},[568,2415,2416],{},"Отдельные элементы"," → используйте ",[533,2419,87],{},[1177,2421,2422,2417,2425],{},[568,2423,2424],{},"Малые списки (до 1000 записей)",[533,2426,99],{},[1177,2428,2429,2417,2432],{},[568,2430,2431],{},"Большие списки (тысячи записей)",[533,2433,108],{},[1177,2435,2436,2417,2439],{},[568,2437,2438],{},"Несколько отдельных элементов",[533,2440,122],{},[498,2442,2444],{"id":2443},"for-data-modification","Для изменения данных",[2410,2446,2447,2454,2461],{},[1177,2448,2449,2417,2452],{},[568,2450,2451],{},"Одиночные операции",[533,2453,87],{},[1177,2455,2456,2417,2459],{},[568,2457,2458],{},"Массовые операции (до 50)",[533,2460,122],{},[1177,2462,2463,2417,2466],{},[568,2464,2465],{},"Массовые операции (более 50)",[533,2467,171],{},[498,2469,2471],{"id":2470},"for-debugging-and-monitoring","Для отладки и мониторинга",[2410,2473,2474,2481],{},[1177,2475,2476,2417,2479],{},[568,2477,2478],{},"Проверка доступности API",[533,2480,342],{},[1177,2482,2483,2417,2486],{},[568,2484,2485],{},"Измерение скорости отклика",[533,2487,347],{},[473,2489,2491],{"id":2490},"best-practices","Лучшие практики",[498,2493,375],{"id":2494},"error-handling",[469,2496,2497,2498,2501],{},"Всегда проверяйте ",[533,2499,2500],{},"isSuccess"," и обрабатывайте ошибки:",[481,2503,2504,2709],{},[484,2505,2506,2509],{"v-slot:rest-api-ver2":486},[469,2507,2508],{},"\u002F\u002F @check-ignore: top-level return in error-handling illustration",[609,2510,2514],{"className":2511,"code":2512,"language":2513,"meta":486,"style":486},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await $b24.actions.v2.call.make({\n  method: 'some.method',\n  params: { \u002F* параметры *\u002F },\n  requestId: 'unique-id'\n})\n\nif (!response.isSuccess) {\n  console.error('Error:', response.getErrorMessages().join('; '))\n  \u002F\u002F Дополнительная логика обработки ошибок\n  return\n}\n\n\u002F\u002F Работа с успешным результатом\nconst data = response.getData()\n","typescript",[533,2515,2516,2548,2563,2576,2589,2595,2599,2620,2668,2673,2678,2682,2686,2691],{"__ignoreMap":486},[538,2517,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546],{"class":616,"line":617},[538,2519,1551],{"class":1276},[538,2521,1586],{"class":636},[538,2523,1557],{"class":626},[538,2525,1295],{"class":907},[538,2527,911],{"class":636},[538,2529,914],{"class":626},[538,2531,91],{"class":636},[538,2533,914],{"class":626},[538,2535,921],{"class":636},[538,2537,914],{"class":626},[538,2539,926],{"class":636},[538,2541,914],{"class":626},[538,2543,931],{"class":653},[538,2545,828],{"class":636},[538,2547,1336],{"class":626},[538,2549,2550,2552,2554,2556,2559,2561],{"class":616,"line":633},[538,2551,1617],{"class":640},[538,2553,644],{"class":626},[538,2555,1346],{"class":626},[538,2557,2558],{"class":1349},"some.method",[538,2560,1353],{"class":626},[538,2562,1356],{"class":626},[538,2564,2565,2567,2569,2571,2574],{"class":616,"line":650},[538,2566,1632],{"class":640},[538,2568,644],{"class":626},[538,2570,1366],{"class":626},[538,2572,2573],{"class":729}," \u002F* параметры *\u002F",[538,2575,1645],{"class":626},[538,2577,2578,2580,2582,2584,2587],{"class":616,"line":666},[538,2579,1650],{"class":640},[538,2581,644],{"class":626},[538,2583,1346],{"class":626},[538,2585,2586],{"class":1349},"unique-id",[538,2588,1542],{"class":626},[538,2590,2591,2593],{"class":616,"line":677},[538,2592,1125],{"class":626},[538,2594,1386],{"class":636},[538,2596,2597],{"class":616,"line":684},[538,2598,681],{"emptyLinePlaceholder":680},[538,2600,2601,2604,2607,2610,2613,2615,2618],{"class":616,"line":693},[538,2602,2603],{"class":907},"if",[538,2605,2606],{"class":636}," (",[538,2608,2609],{"class":626},"!",[538,2611,2612],{"class":636},"response",[538,2614,914],{"class":626},[538,2616,2617],{"class":636},"isSuccess) ",[538,2619,1336],{"class":626},[538,2621,2622,2625,2627,2630,2632,2634,2637,2639,2641,2643,2645,2648,2651,2653,2656,2658,2660,2663,2665],{"class":616,"line":704},[538,2623,2624],{"class":636},"  console",[538,2626,914],{"class":626},[538,2628,2629],{"class":653},"error",[538,2631,828],{"class":640},[538,2633,1353],{"class":626},[538,2635,2636],{"class":1349},"Error:",[538,2638,1353],{"class":626},[538,2640,811],{"class":626},[538,2642,1309],{"class":636},[538,2644,914],{"class":626},[538,2646,2647],{"class":653},"getErrorMessages",[538,2649,2650],{"class":640},"()",[538,2652,914],{"class":626},[538,2654,2655],{"class":653},"join",[538,2657,828],{"class":640},[538,2659,1353],{"class":626},[538,2661,2662],{"class":1349},"; ",[538,2664,1353],{"class":626},[538,2666,2667],{"class":640},"))\n",[538,2669,2670],{"class":616,"line":709},[538,2671,2672],{"class":729},"  \u002F\u002F Дополнительная логика обработки ошибок\n",[538,2674,2675],{"class":616,"line":721},[538,2676,2677],{"class":907},"  return\n",[538,2679,2680],{"class":616,"line":726},[538,2681,878],{"class":626},[538,2683,2684],{"class":616,"line":733},[538,2685,681],{"emptyLinePlaceholder":680},[538,2687,2688],{"class":616,"line":743},[538,2689,2690],{"class":729},"\u002F\u002F Работа с успешным результатом\n",[538,2692,2693,2695,2698,2700,2702,2704,2707],{"class":616,"line":748},[538,2694,1551],{"class":1276},[538,2696,2697],{"class":636}," data ",[538,2699,1557],{"class":626},[538,2701,1309],{"class":636},[538,2703,914],{"class":626},[538,2705,2706],{"class":653},"getData",[538,2708,1301],{"class":636},[484,2710,2711,2713],{"v-slot:rest-api-ver3":486},[469,2712,2508],{},[609,2714,2716],{"className":2511,"code":2715,"language":2513,"meta":486,"style":486},"const response = await $b24.actions.v3.call.make({\n  method: 'some.method',\n  params: { \u002F* параметры *\u002F },\n  requestId: 'unique-id'\n})\n\nif (!response.isSuccess) {\n  console.error('Error:', response.getErrorMessages().join('; '))\n  \u002F\u002F Дополнительная логика обработки ошибок\n  return\n}\n\n\u002F\u002F Работа с успешным результатом\nconst data = response.getData()\n",[533,2717,2718,2750,2764,2776,2788,2794,2798,2814,2854,2858,2862,2866,2870,2874],{"__ignoreMap":486},[538,2719,2720,2722,2724,2726,2728,2730,2732,2734,2736,2738,2740,2742,2744,2746,2748],{"class":616,"line":617},[538,2721,1551],{"class":1276},[538,2723,1586],{"class":636},[538,2725,1557],{"class":626},[538,2727,1295],{"class":907},[538,2729,911],{"class":636},[538,2731,914],{"class":626},[538,2733,91],{"class":636},[538,2735,914],{"class":626},[538,2737,1075],{"class":636},[538,2739,914],{"class":626},[538,2741,926],{"class":636},[538,2743,914],{"class":626},[538,2745,931],{"class":653},[538,2747,828],{"class":636},[538,2749,1336],{"class":626},[538,2751,2752,2754,2756,2758,2760,2762],{"class":616,"line":633},[538,2753,1617],{"class":640},[538,2755,644],{"class":626},[538,2757,1346],{"class":626},[538,2759,2558],{"class":1349},[538,2761,1353],{"class":626},[538,2763,1356],{"class":626},[538,2765,2766,2768,2770,2772,2774],{"class":616,"line":650},[538,2767,1632],{"class":640},[538,2769,644],{"class":626},[538,2771,1366],{"class":626},[538,2773,2573],{"class":729},[538,2775,1645],{"class":626},[538,2777,2778,2780,2782,2784,2786],{"class":616,"line":666},[538,2779,1650],{"class":640},[538,2781,644],{"class":626},[538,2783,1346],{"class":626},[538,2785,2586],{"class":1349},[538,2787,1542],{"class":626},[538,2789,2790,2792],{"class":616,"line":677},[538,2791,1125],{"class":626},[538,2793,1386],{"class":636},[538,2795,2796],{"class":616,"line":684},[538,2797,681],{"emptyLinePlaceholder":680},[538,2799,2800,2802,2804,2806,2808,2810,2812],{"class":616,"line":693},[538,2801,2603],{"class":907},[538,2803,2606],{"class":636},[538,2805,2609],{"class":626},[538,2807,2612],{"class":636},[538,2809,914],{"class":626},[538,2811,2617],{"class":636},[538,2813,1336],{"class":626},[538,2815,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852],{"class":616,"line":704},[538,2817,2624],{"class":636},[538,2819,914],{"class":626},[538,2821,2629],{"class":653},[538,2823,828],{"class":640},[538,2825,1353],{"class":626},[538,2827,2636],{"class":1349},[538,2829,1353],{"class":626},[538,2831,811],{"class":626},[538,2833,1309],{"class":636},[538,2835,914],{"class":626},[538,2837,2647],{"class":653},[538,2839,2650],{"class":640},[538,2841,914],{"class":626},[538,2843,2655],{"class":653},[538,2845,828],{"class":640},[538,2847,1353],{"class":626},[538,2849,2662],{"class":1349},[538,2851,1353],{"class":626},[538,2853,2667],{"class":640},[538,2855,2856],{"class":616,"line":709},[538,2857,2672],{"class":729},[538,2859,2860],{"class":616,"line":721},[538,2861,2677],{"class":907},[538,2863,2864],{"class":616,"line":726},[538,2865,878],{"class":626},[538,2867,2868],{"class":616,"line":733},[538,2869,681],{"emptyLinePlaceholder":680},[538,2871,2872],{"class":616,"line":743},[538,2873,2690],{"class":729},[538,2875,2876,2878,2880,2882,2884,2886,2888],{"class":616,"line":748},[538,2877,1551],{"class":1276},[538,2879,2697],{"class":636},[538,2881,1557],{"class":626},[538,2883,1309],{"class":636},[538,2885,914],{"class":626},[538,2887,2706],{"class":653},[538,2889,1301],{"class":636},[498,2891,2893],{"id":2892},"request-management","Управление запросами",[1174,2895,2896,2904,2910],{},[1177,2897,2898,2903],{},[533,2899,2900],{"className":535,"language":536,"style":486},[538,2901,2902],{"class":540},"requestId"," — всегда указывайте уникальный идентификатор запроса для отслеживания и дедупликации",[1177,2905,2906,2909],{},[568,2907,2908],{},"Логирование"," — используйте встроенные механизмы логирования для отладки",[1177,2911,2912,2915],{},[568,2913,2914],{},"Таймауты"," — настраивайте таймауты для длительных операций",[473,2917,2919],{"id":2918},"migration-from-rest-api-v2-to-v3","Миграция с REST API v2 на v3",[469,2921,2922],{},"Bitrix24 постепенно переходит на REST API версии 3. Рекомендуется:",[2410,2924,2925,2931,2941],{},[1177,2926,2927,2930],{},[568,2928,2929],{},"Следить за предупреждениями"," от SDK о доступности методов в v3",[1177,2932,2933,1810,2936],{},[568,2934,2935],{},"Использовать",[600,2937,2940],{"href":2938,"rel":2939},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Frest-v3\u002Findex.html",[604],"документацию REST API v3",[1177,2942,2943,2946],{},[568,2944,2945],{},"Планировать миграцию"," существующих проектов",[473,2948,2950],{"id":2949},"whats-next","Что дальше?",[1174,2952,2953,2959,2973],{},[1177,2954,2955,2958],{},[568,2956,2957],{},"Общие методы"," — вы уже познакомились с общими методами, доступными во всех трёх классах",[1177,2960,2961,2964,2965,2967,2968,2967,2970,2972],{},[568,2962,2963],{},"Индивидуальные возможности"," — у каждого класса (",[533,2966,133],{},", ",[533,2969,117],{},[533,2971,180],{},") есть свои уникальные методы и возможности, которые описаны в отдельных разделах документации",[1177,2974,2975,2978],{},[568,2976,2977],{},"Примеры использования"," — смотрите конкретные примеры для каждого сценария использования",[473,2980,2982],{"id":2981},"additional-resources","Дополнительные ресурсы",[1174,2984,2985,2992],{},[1177,2986,2987],{},[600,2988,2991],{"href":2989,"rel":2990},"https:\u002F\u002Fapidocs.bitrix24.ru\u002F",[604],"Официальная документация REST API Bitrix24",[1177,2993,2994],{},[600,2995,2998],{"href":2996,"rel":2997},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fsettings\u002Fperformance\u002Fhuge-data.html",[604],"Рекомендации по работе с большими данными",[3000,3001,3002],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .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}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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":486,"searchDepth":633,"depth":633,"links":3004},[3005,3006,3010,3014,3020,3023,3028,3032,3033,3034],{"id":475,"depth":633,"text":476},{"id":492,"depth":633,"text":493,"children":3007},[3008,3009],{"id":500,"depth":650,"text":501},{"id":591,"depth":650,"text":592},{"id":1167,"depth":633,"text":1168,"children":3011},[3012,3013],{"id":1171,"depth":650,"text":1172},{"id":1214,"depth":650,"text":1215},{"id":1234,"depth":633,"text":1235,"children":3015},[3016,3017,3018],{"id":1238,"depth":650,"text":1239},{"id":1499,"depth":650,"text":1500},{"id":1805,"depth":650,"text":3019},"Для серверных приложений с OAuth-аутентификацией  ",{"id":2202,"depth":633,"text":2203,"children":3021},[3022],{"id":2206,"depth":650,"text":2207},{"id":2403,"depth":633,"text":2404,"children":3024},[3025,3026,3027],{"id":2407,"depth":650,"text":2408},{"id":2443,"depth":650,"text":2444},{"id":2470,"depth":650,"text":2471},{"id":2490,"depth":633,"text":2491,"children":3029},[3030,3031],{"id":2494,"depth":650,"text":375},{"id":2892,"depth":650,"text":2893},{"id":2918,"depth":633,"text":2919},{"id":2949,"depth":633,"text":2950},{"id":2981,"depth":633,"text":2982},"md",[3037],{"label":327,"iconName":3038,"to":602},"GitHubIcon",{},{"title":84},{"title":461,"description":85},"XxKtpPMBmS_DIMhgyU73CjmR3612iyH9YhY6alTexRw",{"data":3044,"body":3045},{},{"type":3046,"children":3047},"root",[3048],{"type":3049,"tag":469,"props":3050,"children":3051},"element",{},[3052],{"type":3053,"value":85},"text",1783080209464]