[{"data":1,"prerenderedAt":2340},["ShallowReactive",2],{"navigation":3,"-docs-working-with-the-rest-api-discovering-v3-methods":459,"-docs-working-with-the-rest-api-discovering-v3-methods-description":2329},[4],{"title":5,"path":6,"stem":7,"children":8,"page":47},"Docs","\u002Fdocs","docs",[9,78,351],{"title":10,"path":11,"stem":12,"children":13,"restApiVersion":15,"category":15,"description":15,"badge":15},"Начало работы","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started\u002F1.index",[14,17,48,63],{"title":10,"path":11,"stem":12,"restApiVersion":15,"category":15,"description":16,"badge":15},null,"Краткое руководство по работе с SDK для REST API Bitrix24",{"title":18,"path":19,"stem":20,"children":21,"page":47},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation",[22,27,32,37,42],{"title":23,"path":24,"stem":25,"restApiVersion":15,"category":15,"description":26,"badge":15},"Vue","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fvue","docs\u002F1.getting-started\u002F2.installation\u002F1.vue","Руководство по установке Bitrix24 JS SDK в приложениях Vue.",{"title":28,"path":29,"stem":30,"restApiVersion":15,"category":15,"description":31,"badge":15},"Nuxt","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnuxt","docs\u002F1.getting-started\u002F2.installation\u002F2.nuxt","Руководство по установке Bitrix24 JS SDK в приложениях Nuxt.",{"title":33,"path":34,"stem":35,"restApiVersion":15,"category":15,"description":36,"badge":15},"React","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Freact","docs\u002F1.getting-started\u002F2.installation\u002F3.react","Руководство по установке Bitrix24 JS SDK в приложениях React.",{"title":38,"path":39,"stem":40,"restApiVersion":15,"category":15,"description":41,"badge":15},"Node.js","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fnodejs","docs\u002F1.getting-started\u002F2.installation\u002F4.nodejs","Руководство по установке Bitrix24 JS SDK в приложениях Node.js.",{"title":43,"path":44,"stem":45,"restApiVersion":15,"category":15,"description":46,"badge":15},"UMD","\u002Fdocs\u002Fgetting-started\u002Finstallation\u002Fumd","docs\u002F1.getting-started\u002F2.installation\u002F5.umd","Руководство по использованию UMD-версии Bitrix24 JS SDK в ваших приложениях.",false,{"title":49,"restApiVersion":15,"category":15,"description":15,"badge":15,"shadow":47,"path":50,"stem":51,"children":52,"page":47},"Migration","\u002Fdocs\u002Fgetting-started\u002Fmigration","docs\u002F1.getting-started\u002F3.migration",[53,58],{"title":54,"path":55,"stem":56,"restApiVersion":15,"category":15,"description":57,"badge":15},"v0 → v1","\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv1","docs\u002F1.getting-started\u002F3.migration\u002F1.v1","Подробное руководство по миграции приложения с Bitrix24 JS SDK v0 на Bitrix24 JS SDK v1.",{"title":59,"path":60,"stem":61,"restApiVersion":15,"category":15,"description":62,"badge":15},"v2 → v3","\u002Fdocs\u002Fgetting-started\u002Fmigration\u002Fv3","docs\u002F1.getting-started\u002F3.migration\u002F2.v3","Как уйти с устаревшей REST-поверхности, которая удаляется в Bitrix24 JS SDK 3.0.0.",{"title":64,"restApiVersion":15,"category":15,"description":15,"badge":15,"path":65,"stem":66,"children":67,"page":47},"AI-инструменты","\u002Fdocs\u002Fgetting-started\u002Fai","docs\u002F1.getting-started\u002F7.ai",[68,73],{"title":69,"path":70,"stem":71,"restApiVersion":15,"category":15,"description":72,"badge":15},"Навыки","\u002Fdocs\u002Fgetting-started\u002Fai\u002Fskills","docs\u002F1.getting-started\u002F7.ai\u002F1.skills","Узкоспециализированные skill-файлы для AI-агентов разработчика, работающих с @bitrix24\u002Fb24jssdk.",{"title":74,"path":75,"stem":76,"restApiVersion":15,"category":15,"description":77,"badge":15},"LLMs.txt","\u002Fdocs\u002Fgetting-started\u002Fai\u002Fllms-txt","docs\u002F1.getting-started\u002F7.ai\u002F2.llms-txt","Как сделать, чтобы AI-инструменты вроде Cursor, Windsurf, GitHub Copilot, ChatGPT и Claude понимали методы, инструменты и лучшие практики Bitrix24 JS SDK.",{"title":79,"path":80,"stem":81,"children":82,"restApiVersion":15,"category":15,"description":15,"badge":15},"Работа с REST API","\u002Fdocs\u002Fworking-with-the-rest-api","docs\u002F2.working-with-the-rest-api\u002F0.index",[83,86,93,98,103,107,112,116,121,126,130,135,140,145,150,155,160,165,170,175,179,184,189,194,200,205,210,215,220,225,230,235,240,245,251,256,261,267,272,277,282,287,293,299,305,310,315,320,326,331,336,341,346],{"title":84,"path":80,"stem":81,"restApiVersion":15,"category":15,"description":85,"badge":15},"Введение","Обзор возможностей SDK для работы с REST API Bitrix24",{"title":87,"path":88,"stem":89,"restApiVersion":90,"category":91,"description":92,"badge":15},"Call","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F1.call-rest-api-ver2","rest-api-ver2","actions","Метод для вызовов REST API Bitrix24 версии 2.",{"title":87,"path":94,"stem":95,"restApiVersion":96,"category":91,"description":97,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F1.call-rest-api-ver3","rest-api-ver3","Метод для вызовов REST API Bitrix24 версии 3.",{"title":99,"path":100,"stem":101,"restApiVersion":90,"category":91,"description":102,"badge":15},"CallList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F2.call-list-rest-api-ver2","Метод для быстрого получения всех данных из list-методов REST API Bitrix24 версии 2.",{"title":99,"path":104,"stem":105,"restApiVersion":96,"category":91,"description":106,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F2.call-list-rest-api-ver3","Метод для быстрого получения всех данных из list-методов REST API Bitrix24 версии 3.",{"title":108,"path":109,"stem":110,"restApiVersion":90,"category":91,"description":111,"badge":15},"FetchList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F2.fetch-list-rest-api-ver2","Возвращает AsyncGenerator, позволяющий обрабатывать данные из list-методов REST API Bitrix24 версии 2 по мере поступления, не загружая весь массив в память сразу. Особенно полезно при работе с очень большими объёмами данных.",{"title":108,"path":113,"stem":114,"restApiVersion":96,"category":91,"description":115,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F2.fetch-list-rest-api-ver3","Возвращает AsyncGenerator, позволяющий обрабатывать данные из list-методов REST API Bitrix24 версии 3 по мере поступления, не загружая весь массив в память сразу. Особенно полезно при работе с очень большими объёмами данных.",{"title":117,"path":118,"stem":119,"restApiVersion":15,"category":117,"description":120,"badge":15},"B24Hook","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhook","docs\u002F2.working-with-the-rest-api\u002F20.hook","Серверная точка входа для работы с REST API Bitrix24 через входящий вебхук (постоянный токен).",{"title":122,"path":123,"stem":124,"restApiVersion":90,"category":91,"description":125,"badge":15},"Batch","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F3.batch-rest-api-ver2","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 2. Позволяет выполнить до 50 команд в одном API-вызове.",{"title":122,"path":127,"stem":128,"restApiVersion":96,"category":91,"description":129,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F3.batch-rest-api-ver3","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 3. Позволяет выполнить до 50 команд в одном API-вызове.",{"title":84,"path":131,"stem":132,"restApiVersion":15,"category":133,"description":134,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe","docs\u002F2.working-with-the-rest-api\u002F30.frame","B24Frame","Предназначен для управления приложениями Bitrix24, работающими внутри placement-iframe. Наследуется от AbstractB24 и предоставляет менеджеры для аутентификации, обмена сообщениями с родительским окном, слайдеров, диалогов, placement и опций.",{"title":136,"path":137,"stem":138,"restApiVersion":15,"category":133,"description":139,"badge":15},"Инициализация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-initialize-b24-frame","docs\u002F2.working-with-the-rest-api\u002F30.frame-initialize-b24-frame","Функция предназначена для инициализации B24Frame",{"title":141,"path":142,"stem":143,"restApiVersion":15,"category":133,"description":144,"badge":15},"Авторизация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-auth","docs\u002F2.working-with-the-rest-api\u002F31.frame-auth","Предназначен для управления аутентификацией в приложениях Bitrix24. Обрабатывает данные аутентификации, полученные от родительского окна, и предоставляет методы для их обновления и получения.",{"title":146,"path":147,"stem":148,"restApiVersion":15,"category":133,"description":149,"badge":15},"Диалог","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-dialog","docs\u002F2.working-with-the-rest-api\u002F31.frame-dialog","Оборачивает системные диалоги BX24 (выбор пользователя, выбор прав доступа, выбор CRM-сущности), чтобы их можно было открывать изнутри iframe приложения Bitrix24.",{"title":151,"path":152,"stem":153,"restApiVersion":15,"category":133,"description":154,"badge":15},"Опции","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-options","docs\u002F2.working-with-the-rest-api\u002F31.frame-options","Используется для управления настройками приложения и пользователя в приложении Bitrix24. Позволяет инициализировать данные, получать и устанавливать опции через сообщения родительскому окну.",{"title":156,"path":157,"stem":158,"restApiVersion":15,"category":133,"description":159,"badge":15},"Родительское окно","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-parent","docs\u002F2.working-with-the-rest-api\u002F31.frame-parent","Предоставляет методы для управления родительским окном приложения в Bitrix24, включая изменение размера окна, управление прокруткой, инициацию звонков и открытие мессенджера.",{"title":161,"path":162,"stem":163,"restApiVersion":15,"category":133,"description":164,"badge":15},"Placement","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-placement","docs\u002F2.working-with-the-rest-api\u002F31.frame-placement","Используется для управления placement виджетов в приложении Bitrix24.",{"title":166,"path":167,"stem":168,"restApiVersion":15,"category":133,"description":169,"badge":15},"Слайдер","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fframe-slider","docs\u002F2.working-with-the-rest-api\u002F31.frame-slider","Предоставляет методы для работы со слайдерами в приложении Bitrix24. Позволяет открывать и закрывать слайдеры, а также управлять их содержимым.",{"title":171,"path":172,"stem":173,"restApiVersion":90,"category":91,"description":174,"badge":15},"BatchByChunk","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-by-chunk-rest-api-ver2","docs\u002F2.working-with-the-rest-api\u002F4.batch-by-chunk-rest-api-ver2","Метод для выполнения пакетных запросов с автоматическим разбиением на чанки для любого числа команд. Автоматически делит большие наборы команд на батчи по 50 и выполняет их последовательно. Используйте только массивы кортежей или массивы объектов.",{"title":171,"path":176,"stem":177,"restApiVersion":96,"category":91,"description":178,"badge":15},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fbatch-by-chunk-rest-api-ver3","docs\u002F2.working-with-the-rest-api\u002F4.batch-by-chunk-rest-api-ver3","Метод для выполнения пакетных запросов к REST API Bitrix24 версии 3 с автоматическим разбиением на чанки для любого числа команд. Автоматически делит большие наборы команд на батчи по 50 и выполняет их последовательно. Используйте только массивы кортежей или массивы объектов.",{"title":180,"path":181,"stem":182,"restApiVersion":15,"category":180,"description":183,"badge":15},"B24OAuth","\u002Fdocs\u002Fworking-with-the-rest-api\u002Foauth","docs\u002F2.working-with-the-rest-api\u002F40.oauth","Серверная точка входа для работы с REST API Bitrix24 по access token OAuth 2.0 (с автоматическим обновлением).",{"title":185,"path":186,"stem":187,"restApiVersion":15,"category":15,"description":188,"badge":15},"Выбор метода","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fchoosing-the-right-method","docs\u002F2.working-with-the-rest-api\u002F5.choosing-the-right-method","Руководство по выбору между Call, CallList, FetchList, Batch и BatchByChunk в REST API v2 и v3.",{"title":190,"path":191,"stem":192,"restApiVersion":15,"category":15,"description":193,"badge":15},"Фильтрация","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffiltering","docs\u002F2.working-with-the-rest-api\u002F5.filtering","Справочник по построению параметров фильтра в Bitrix24 REST API v2 (префиксные операторы) и v3 (массив троек), включая формат дат и правило отбрасывания order.",{"title":195,"path":196,"stem":197,"restApiVersion":15,"category":198,"description":199,"badge":15},"B24HelperManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper","docs\u002F2.working-with-the-rest-api\u002F50.helper","Helper","Агрегирующий менеджер, который загружает данные профиля, приложения, оплаты, лицензии, валют и опций одним батч-запросом REST, а также подключает Pull-клиент.",{"title":201,"path":202,"stem":203,"restApiVersion":15,"category":198,"description":204,"badge":15},"useB24Helper","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-use-b24-helper","docs\u002F2.working-with-the-rest-api\u002F51.helper-use-b24-helper","Основанный на замыкании composable, который владеет единственным экземпляром B24HelperManager и предоставляет хелперы жизненного цикла (init \u002F destroy \u002F связка с Pull-клиентом).",{"title":206,"path":207,"stem":208,"restApiVersion":15,"category":198,"description":209,"badge":15},"ProfileManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-profile-manager","docs\u002F2.working-with-the-rest-api\u002F52.helper-profile-manager","Разобранный ответ REST-метода `profile`: id, имя, фамилия, пол, фото, часовой пояс, флаг администратора.",{"title":211,"path":212,"stem":213,"restApiVersion":15,"category":198,"description":214,"badge":15},"AppManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-app-manager","docs\u002F2.working-with-the-rest-api\u002F53.helper-app-manager","Разобранный ответ REST-метода `app.info`: id приложения, код, версия, статус, флаг установки.",{"title":216,"path":217,"stem":218,"restApiVersion":15,"category":198,"description":219,"badge":15},"PaymentManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-payment-manager","docs\u002F2.working-with-the-rest-api\u002F54.helper-payment-manager","Статус оплаты приложения Bitrix24 — извлекается из `app.info`.",{"title":221,"path":222,"stem":223,"restApiVersion":15,"category":198,"description":224,"badge":15},"LicenseManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-license-manager","docs\u002F2.working-with-the-rest-api\u002F55.helper-license-manager","Информация о лицензии Bitrix24 из `app.info` — и автоматическая перенастройка менеджера ограничений под соответствующий тарифный план.",{"title":226,"path":227,"stem":228,"restApiVersion":15,"category":198,"description":229,"badge":15},"CurrencyManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-currency-manager","docs\u002F2.working-with-the-rest-api\u002F56.helper-currency-manager","Каталог валют, кэшируемый в памяти — базовая валюта, форматтеры для каждой валюты и форматтер числа в строку.",{"title":231,"path":232,"stem":233,"restApiVersion":15,"category":198,"description":234,"badge":15},"OptionsManager","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fhelper-options-manager","docs\u002F2.working-with-the-rest-api\u002F57.helper-options-manager","Типизированный доступ к `app.option.get` \u002F `user.option.get`, плюс save(), который батчит `*.option.set` с необязательным Pull-уведомлением.",{"title":236,"path":237,"stem":238,"restApiVersion":15,"category":15,"description":239,"badge":15},"Ошибки","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ferrors","docs\u002F2.working-with-the-rest-api\u002F6.errors","Справочник кодов SdkError и AjaxError, выбрасываемых SDK, плюс коды ошибок REST Bitrix24, которые через них проявляются.",{"title":241,"path":242,"stem":243,"restApiVersion":15,"category":241,"description":244,"badge":15},"Pull","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fpull","docs\u002F2.working-with-the-rest-api\u002F60.pull","Поток сообщений в реальном времени от Bitrix24 к вашему приложению — WebSocket как основной канал, long-polling как запасной. Только для фрейма.",{"title":246,"path":247,"stem":248,"restApiVersion":15,"category":249,"description":250,"badge":15},"Logger","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogger","docs\u002F2.working-with-the-rest-api\u002F66.logger","logger","Логгер, вдохновлённый PHP Monolog, предоставляет структурированную систему логирования с поддержкой каналов, обработчиков, процессоров и форматтеров. Реализация следует принципам PSR-3 и паттерну цепочки ответственности.",{"title":252,"path":253,"stem":254,"restApiVersion":15,"category":249,"description":255,"badge":15},"Telegram","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogger-telegram","docs\u002F2.working-with-the-rest-api\u002F66.logger-telegram","Отправка логов в Telegram",{"title":257,"path":258,"stem":259,"restApiVersion":15,"category":15,"description":260,"badge":15},"Обнаружение v3-методов","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fdiscovering-v3-methods","docs\u002F2.working-with-the-rest-api\u002F7.discovering-v3-methods","Используйте rest.documentation.openapi, чтобы получить собственный машиночитаемый список всех доступных методов REST API v3 портала — источник истины, на который SDK опирается вместо захардкоженного allowlist. Особенно полезно для AI-агентов и кодогенерации.",{"title":262,"path":263,"stem":264,"restApiVersion":15,"category":265,"description":266,"badge":15},"AjaxResult","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-ajax-result","docs\u002F2.working-with-the-rest-api\u002F70.core-ajax-result","Core","Специализированный Result, возвращаемый каждым REST-хелпером. Предоставляет `isMore() \u002F getNext() \u002F getTotal() \u002F getStatus()` для постраничных ответов и неизменяемые данные.",{"title":268,"path":269,"stem":270,"restApiVersion":15,"category":265,"description":271,"badge":15},"Http","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-http","docs\u002F2.working-with-the-rest-api\u002F70.core-http","Низкоуровневый интерфейс транспорта, возвращаемый `b24.getHttpClient(version)`. Прямой доступ к axios-клиентам, параметрам ограничений, статистике и сбросу.",{"title":273,"path":274,"stem":275,"restApiVersion":15,"category":265,"description":276,"badge":15},"B24LangList","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-lang-list","docs\u002F2.working-with-the-rest-api\u002F70.core-lang-list","Enum языков интерфейса облачного Bitrix24 плюс карта локалей BCP-47.",{"title":278,"path":279,"stem":280,"restApiVersion":15,"category":265,"description":281,"badge":15},"RequestIdGenerator","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-request-id-generator","docs\u002F2.working-with-the-rest-api\u002F70.core-request-id-generator","Реализация `IRequestIdGenerator` по умолчанию. Генерирует request id в формате UUID v7 и предоставляет имена HTTP-заголовка \u002F query-параметра, используемые SDK.",{"title":283,"path":284,"stem":285,"restApiVersion":15,"category":265,"description":286,"badge":15},"Result","\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcore-result","docs\u002F2.working-with-the-rest-api\u002F70.core-result","Обобщённый результат операции с флагом успеха, данными и картой ошибок. Аналог \\\\Bitrix\\\\Main\\\\Result из Bitrix Framework.",{"title":288,"path":289,"stem":290,"restApiVersion":15,"category":291,"description":292,"badge":15},"Лимитеры","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flimiters","docs\u002F2.working-with-the-rest-api\u002F77.limiters","limiters","Система ограничений предоставляет комплексный механизм управления частотой запросов, временем выполнения операций и адаптивными задержками.",{"title":294,"path":295,"stem":296,"restApiVersion":15,"category":297,"description":298,"badge":15},"Логирование и редактирование","\u002Fdocs\u002Fworking-with-the-rest-api\u002Flogging","docs\u002F2.working-with-the-rest-api\u002F78.logging","logging","Что SDK редактирует автоматически до того, как информация о запросе попадёт в логгер или AjaxError, что он не редактирует, и как подключить кастомный логгер через setLogger(...) без повторного появления утечек учётных данных.",{"title":300,"path":301,"stem":302,"restApiVersion":15,"category":303,"description":304,"badge":15},"Browser","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-browser","docs\u002F2.working-with-the-rest-api\u002F80.tools-browser","tools","Дешёвый детектор user-agent \u002F платформы \u002F возможностей. Полезен для runtime-ветвлений во фронтенд-коде.",{"title":306,"path":307,"stem":308,"restApiVersion":15,"category":303,"description":309,"badge":15},"Text","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-text","docs\u002F2.working-with-the-rest-api\u002F80.tools-text","Утилиты для текста и дат — UUID v4 \u002F v7, кодирование \u002F декодирование HTML-сущностей, преобразования типов, хелперы регистра, `toDateTime` \u002F `toB24Format` на Luxon, форматирование чисел и конструктор query-строки.",{"title":311,"path":312,"stem":313,"restApiVersion":15,"category":303,"description":314,"badge":15},"Type","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-type","docs\u002F2.working-with-the-rest-api\u002F80.tools-type","Runtime type guards — строки, числа, обычные объекты, массивы, DOM-узлы, Blob, FormData, формы JSON-RPC сообщений.",{"title":316,"path":317,"stem":318,"restApiVersion":15,"category":303,"description":319,"badge":15},"useFormatter","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-use-formatters","docs\u002F2.working-with-the-rest-api\u002F80.tools-use-formatters","Composable, возвращающий общие экземпляры `FormatterNumbers` и `FormatterIban`, преднастроенные спецификациями стран.",{"title":321,"path":322,"stem":323,"restApiVersion":15,"category":324,"description":325,"badge":15},"IResult","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftypes-iresult","docs\u002F2.working-with-the-rest-api\u002F90.types-iresult","Types","Обобщённый интерфейс результата операции. Реализуется `Result\u003CT>` и (транзитивно) `AjaxResult\u003CT>`.",{"title":327,"path":328,"stem":329,"restApiVersion":15,"category":324,"description":330,"badge":15},"TypeB24","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftypes-type-b24","docs\u002F2.working-with-the-rest-api\u002F90.types-type-b24","Публичный контракт, реализуемый каждым классом-точкой входа (B24Frame, B24Hook, B24OAuth). Единый источник истины для поверхности SDK.",{"title":332,"path":333,"stem":334,"restApiVersion":15,"category":265,"description":335,"badge":15},"Телеметрия","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftelemetry","docs\u002F2.working-with-the-rest-api\u002F95.telemetry","Query-параметры request id, версии SDK и типа SDK, добавляемые к каждому REST-вызову Bitrix24.",{"title":337,"path":338,"stem":339,"restApiVersion":15,"category":265,"description":340,"badge":15},"Коды ошибок","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ferror-codes","docs\u002F2.working-with-the-rest-api\u002F96.error-codes","Каталог кодов ошибок, которые распознаёт SDK — разделённых на «hard» (выбрасываются) и «soft» (возвращаются как AjaxError внутри AjaxResult).",{"title":342,"path":343,"stem":344,"restApiVersion":15,"category":303,"description":345,"badge":15},"HealthCheck","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-health-check","docs\u002F2.working-with-the-rest-api\u002Ftools-health-check","Метод для проверки доступности REST API Bitrix24. Выполняет простой запрос к REST API для проверки работоспособности сервиса.",{"title":347,"path":348,"stem":349,"restApiVersion":15,"category":303,"description":350,"badge":15},"Ping","\u002Fdocs\u002Fworking-with-the-rest-api\u002Ftools-ping","docs\u002F2.working-with-the-rest-api\u002Ftools-ping","Метод для измерения скорости ответа REST API Bitrix24. Выполняет тестовый запрос и возвращает время ответа в миллисекундах.",{"title":352,"path":353,"stem":354,"children":355,"restApiVersion":15,"category":15,"description":15,"badge":15},"Примеры","\u002Fdocs\u002Fexamples","docs\u002F99.examples\u002F0.index",[356,358,364,369,374,379,384,389,394,399,404,409,414,419,424,429,434,439,444,449,454],{"title":84,"path":353,"stem":354,"restApiVersion":15,"category":15,"description":357,"badge":15},"Рецепты, сочетающие SDK с реалистичными сценариями — аналитика CRM, массовые рассылки, AI-ассистенты, установка по OAuth и не только. Каждый рецепт — отдельный файл, удобный для копирования.",{"title":359,"path":360,"stem":361,"restApiVersion":15,"category":362,"description":363,"badge":15},"Аналитика CRM","\u002Fdocs\u002Fexamples\u002Fcrm-analytics","docs\u002F99.examples\u002F1.crm-analytics","examples","Стримит все сделки через actions.v2.fetchList.make, группирует по стадиям, печатает отчёт по воронке (количество, конверсия %, средний чек, win rate).",{"title":365,"path":366,"stem":367,"restApiVersion":15,"category":362,"description":368,"badge":15},"Сделки → CSV","\u002Fdocs\u002Fexamples\u002Fdashboard-deals-csv","docs\u002F99.examples\u002F1.dashboard-deals-csv","Стримит каждую сделку CRM, подходящую под фильтр по дате, в CSV-файл через вебхук и FetchListV2.",{"title":370,"path":371,"stem":372,"restApiVersion":15,"category":15,"description":373,"badge":15},"Список сущностей","\u002Fdocs\u002Fexamples\u002Fentity-list","docs\u002F99.examples\u002F10.entity-list","Рендерит постраничный список сущностей Bitrix24 с компонентами B24UI и SDK-действием callList.",{"title":375,"path":376,"stem":377,"restApiVersion":15,"category":362,"description":378,"badge":15},"Обработка ошибок","\u002Fdocs\u002Fexamples\u002Ferror-handling","docs\u002F99.examples\u002F10.error-handling","Демонстрирует четыре слоя ошибок (SdkError \u002F AjaxError \u002F сетевые \u002F soft) и настройки hardErrorCodes \u002F softErrorCodes \u002F retryOnNetworkError у менеджера ограничений.",{"title":380,"path":381,"stem":382,"restApiVersion":15,"category":362,"description":383,"badge":15},"Регистрация событий","\u002Fdocs\u002Fexamples\u002Fevent-registration","docs\u002F99.examples\u002F11.event-registration","CLI-инструмент — список, привязка и отвязка исходящих событий вебхуков Bitrix24 через event.get \u002F event.bind \u002F event.unbind. В паре с рецептом обработчика вебхуков.",{"title":385,"path":386,"stem":387,"restApiVersion":15,"category":362,"description":388,"badge":15},"Установка OAuth","\u002Fdocs\u002Fexamples\u002Foauth-install","docs\u002F99.examples\u002F12.oauth-install","Express-сервер, который обрабатывает события ONAPPINSTALL \u002F ONAPPUPDATE \u002F ONAPPUNINSTALL для маркетплейс-приложения Bitrix24, сохраняет токены по порталам и создаёт клиент B24OAuth по требованию с callback обновления, подключённым к хранилищу.",{"title":390,"path":391,"stem":392,"restApiVersion":15,"category":362,"description":393,"badge":15},"Скелет frame-приложения","\u002Fdocs\u002Fexamples\u002Fframe-app-skeleton","docs\u002F99.examples\u002F2.frame-app-skeleton","Минимально жизнеспособное iframe-приложение Bitrix24: рукопожатие init, установка заголовка, сохранение состояния приложения, открытие слайдера, чистое закрытие.",{"title":395,"path":396,"stem":397,"restApiVersion":15,"category":362,"description":398,"badge":15},"Массовые рассылки","\u002Fdocs\u002Fexamples\u002Fmass-messaging","docs\u002F99.examples\u002F2.mass-messaging","Фильтрует контакты в CRM, персонализирует шаблон, отправляет IM-уведомления ответственным менеджерам.",{"title":400,"path":401,"stem":402,"restApiVersion":15,"category":15,"description":403,"badge":15},"Мастер установки","\u002Fdocs\u002Fexamples\u002Fapp-installation-wizard","docs\u002F99.examples\u002F20.app-installation-wizard","Многошаговый процесс установки, который создаёт пользовательские поля, регистрирует placement-ы, финализирует установку и празднует конфетти.",{"title":405,"path":406,"stem":407,"restApiVersion":15,"category":362,"description":408,"badge":15},"Автоматизация задач","\u002Fdocs\u002Fexamples\u002Ftask-automation","docs\u002F99.examples\u002F3.task-automation","Опрашивает стадии сделок каждые 60 с. При отслеживаемом переходе создаёт задачу с описанием, дедлайном и приоритетом.",{"title":410,"path":411,"stem":412,"restApiVersion":15,"category":362,"description":413,"badge":15},"Вебхук CLI","\u002Fdocs\u002Fexamples\u002Fwebhook-cli-node","docs\u002F99.examples\u002F3.webhook-cli-node","Node-скрипт на 30 строк, который аутентифицируется на портале Bitrix24 через входящий вебхук и печатает вызывающего пользователя — полезно как первое, что вы запускаете после создания вебхука.",{"title":415,"path":416,"stem":417,"restApiVersion":15,"category":15,"description":418,"badge":15},"Экспорт Node + Hook","\u002Fdocs\u002Fexamples\u002Fnode-hook-company-export","docs\u002F99.examples\u002F30.node-hook-company-export","Экспорт компаний Bitrix24 в CSV-файл из чистого Node.js-скрипта через B24Hook.",{"title":420,"path":421,"stem":422,"restApiVersion":15,"category":362,"description":423,"badge":15},"Массовое обновление","\u002Fdocs\u002Fexamples\u002Fbulk-update-deals","docs\u002F99.examples\u002F4.bulk-update-deals","Переносит тысячи сделок CRM на новую стадию через BatchByChunkV2 — автоматическое разбиение на чанки, обработка частичных ошибок и одна строка прогресса.",{"title":425,"path":426,"stem":427,"restApiVersion":15,"category":362,"description":428,"badge":15},"Синхронизация ERP","\u002Fdocs\u002Fexamples\u002Ferp-sync","docs\u002F99.examples\u002F4.erp-sync","Двусторонняя синхронизация контактов между Bitrix24 и внешней ERP. Сопоставление по ИНН (основное) или email (запасное). Cron каждый час.",{"title":430,"path":431,"stem":432,"restApiVersion":15,"category":362,"description":433,"badge":15},"Файлы Диска","\u002Fdocs\u002Fexamples\u002Fdisk-files","docs\u002F99.examples\u002F5.disk-files","Список хранилищ и содержимого папок, создание подпапок, просмотр файлов. Загрузка файлов (multipart) намеренно вне области.",{"title":435,"path":436,"stem":437,"restApiVersion":15,"category":362,"description":438,"badge":15},"Подписка на Pull","\u002Fdocs\u002Fexamples\u002Fpull-subscribe-frame","docs\u002F99.examples\u002F5.pull-subscribe-frame","Открыть живой канал из frame-приложения Bitrix24 и реагировать на push-события через useB24Helper + Pull-клиент.",{"title":440,"path":441,"stem":442,"restApiVersion":15,"category":362,"description":443,"badge":15},"Telegram-бот","\u002Fdocs\u002Fexamples\u002Ftelegram-bot","docs\u002F99.examples\u002F6.telegram-bot","Опрашивает новые сделки CRM каждые две минуты; уведомляет Telegram-чат HTML-карточкой.",{"title":445,"path":446,"stem":447,"restApiVersion":15,"category":362,"description":448,"badge":15},"Обработчик вебхуков","\u002Fdocs\u002Fexamples\u002Fwebhook-handler","docs\u002F99.examples\u002F7.webhook-handler","Express-сервер, который принимает исходящие события Bitrix24, подгружает детали через REST, маршрутизирует по имени события. Всегда возвращает 200.",{"title":450,"path":451,"stem":452,"restApiVersion":15,"category":362,"description":453,"badge":15},"AI-ассистент","\u002Fdocs\u002Fexamples\u002Fai-assistant","docs\u002F99.examples\u002F8.ai-assistant","Загружает сделку и её дела, спрашивает у GPT-4o лучшее следующее действие, создаёт задачу, привязанную к сделке, с приоритетом и дедлайном.",{"title":455,"path":456,"stem":457,"restApiVersion":15,"category":362,"description":458,"badge":15},"Веб-поиск + LLM","\u002Fdocs\u002Fexamples\u002Fweb-search-llm","docs\u002F99.examples\u002F9.web-search-llm","Двухшаговый RAG: запрос к любому провайдеру веб-поиска, прогон результата через ваш LLM с цитатами [N], публикация ответа комментарием в таймлайн CRM на сделке.",{"id":460,"title":461,"audited":462,"badge":15,"body":463,"category":15,"description":260,"extension":2313,"links":2314,"meta":2325,"navigation":2326,"path":258,"restApiVersion":15,"seo":2327,"stem":259,"__hash__":2328},"docs\u002Fdocs\u002F2.working-with-the-rest-api\u002F7.discovering-v3-methods.md","Обнаружение v3-методов (OpenAPI)","2026-06-25",{"type":464,"value":465,"toc":2300},"minimark",[466,471,496,516,530,534,537,814,818,821,921,954,1184,1188,1194,1242,1260,1263,1279,1475,1477,1482,1694,1698,2072,2076,2224,2228,2296],[467,468,470],"h2",{"id":469},"overview","Обзор",[472,473,474,478,479,483,484,491,492,495],"p",{},[475,476,477],"code",{},"rest.documentation.openapi"," — это v3 REST-метод, который возвращает\n",[480,481,482],"strong",{},"собственный"," ",[485,486,490],"a",{"href":487,"rel":488},"https:\u002F\u002Fspec.openapis.org\u002Foas\u002Fv3.0.0",[489],"nofollow","OpenAPI 3.0.0","-документ\nпортала — единое машиночитаемое описание каждого метода REST API v3,\nсуществующего ",[480,493,494],{},"на конкретном портале",", с полями тела запроса (и примерами\nзначений) и конвертом ответа для каждого.",[472,497,498,499,502,503,506,507,510,511,515],{},"Это ",[480,500,501],{},"источник истины"," по доступности v3-методов. SDK намеренно ",[480,504,505],{},"не"," держит\nзахардкоженный список v3-методов (прежний allowlist и отставал от сервера, и\nблокировал валидные методы); вместо этого ",[475,508,509],{},"$b24.actions.v3.*"," отправляет любой\nметод на сервер и даёт ему решать. Когда нужно узнать, ",[512,513,514],"em",{},"что там на самом деле"," —\nкакие методы, какие поля — вы спрашиваете сам портал этим вызовом.",[517,518,519],"note",{},[472,520,521,522,525,526,529],{},"Документ отражает ",[480,523,524],{},"модули, установленные на этом портале",", и ",[480,527,528],{},"scope, которыми\nвладеет ваш токен",", поэтому два портала могут вернуть разные наборы методов.\nВсегда считайте его специфичным для портала, а не глобальным каталогом.",[467,531,533],{"id":532},"calling-it-through-the-sdk","Вызов через SDK",[472,535,536],{},"Это обычный v3-вызов — без специального хелпера:",[538,539,544],"pre",{"className":540,"code":541,"language":542,"meta":543,"style":543},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await $b24.actions.v3.call.make\u003C{ openapi: string }>({\n  method: 'rest.documentation.openapi'\n})\n\nif (!response.isSuccess) {\n  console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))\n} else {\n  const doc = response.getData()?.result\n  console.log(`OpenAPI ${doc?.openapi}`) \u002F\u002F напр. \"3.0.0\"\n}\n","ts","",[475,545,546,614,631,640,647,669,733,744,772,808],{"__ignoreMap":543},[547,548,551,555,559,563,567,570,573,575,577,580,582,585,587,591,594,598,601,605,608,611],"span",{"class":549,"line":550},"line",1,[547,552,554],{"class":553},"spNyl","const",[547,556,558],{"class":557},"sTEyZ"," response ",[547,560,562],{"class":561},"sMK4o","=",[547,564,566],{"class":565},"s7zQu"," await",[547,568,569],{"class":557}," $b24",[547,571,572],{"class":561},".",[547,574,91],{"class":557},[547,576,572],{"class":561},[547,578,579],{"class":557},"v3",[547,581,572],{"class":561},[547,583,584],{"class":557},"call",[547,586,572],{"class":561},[547,588,590],{"class":589},"s2Zo4","make",[547,592,593],{"class":561},"\u003C{",[547,595,597],{"class":596},"swJcz"," openapi",[547,599,600],{"class":561},":",[547,602,604],{"class":603},"sBMFI"," string",[547,606,607],{"class":561}," }>",[547,609,610],{"class":557},"(",[547,612,613],{"class":561},"{\n",[547,615,617,620,622,625,628],{"class":549,"line":616},2,[547,618,619],{"class":596},"  method",[547,621,600],{"class":561},[547,623,624],{"class":561}," '",[547,626,477],{"class":627},"sfazB",[547,629,630],{"class":561},"'\n",[547,632,634,637],{"class":549,"line":633},3,[547,635,636],{"class":561},"}",[547,638,639],{"class":557},")\n",[547,641,643],{"class":549,"line":642},4,[547,644,646],{"emptyLinePlaceholder":645},true,"\n",[547,648,650,653,656,659,662,664,667],{"class":549,"line":649},5,[547,651,652],{"class":565},"if",[547,654,655],{"class":557}," (",[547,657,658],{"class":561},"!",[547,660,661],{"class":557},"response",[547,663,572],{"class":561},[547,665,666],{"class":557},"isSuccess) ",[547,668,613],{"class":561},[547,670,672,675,677,680,682,685,688,690,693,696,699,701,703,706,709,711,714,716,719,722,724,727,730],{"class":549,"line":671},6,[547,673,674],{"class":557},"  console",[547,676,572],{"class":561},[547,678,679],{"class":589},"error",[547,681,610],{"class":596},[547,683,684],{"class":561},"new",[547,686,687],{"class":589}," Error",[547,689,610],{"class":596},[547,691,692],{"class":561},"`",[547,694,695],{"class":627},"Error: ",[547,697,698],{"class":561},"${",[547,700,661],{"class":557},[547,702,572],{"class":561},[547,704,705],{"class":589},"getErrorMessages",[547,707,708],{"class":557},"()",[547,710,572],{"class":561},[547,712,713],{"class":589},"join",[547,715,610],{"class":557},[547,717,718],{"class":561},"'",[547,720,721],{"class":627},"; ",[547,723,718],{"class":561},[547,725,726],{"class":557},")",[547,728,729],{"class":561},"}`",[547,731,732],{"class":596},"))\n",[547,734,736,738,741],{"class":549,"line":735},7,[547,737,636],{"class":561},[547,739,740],{"class":565}," else",[547,742,743],{"class":561}," {\n",[547,745,747,750,753,756,759,761,764,766,769],{"class":549,"line":746},8,[547,748,749],{"class":553},"  const",[547,751,752],{"class":557}," doc",[547,754,755],{"class":561}," =",[547,757,758],{"class":557}," response",[547,760,572],{"class":561},[547,762,763],{"class":589},"getData",[547,765,708],{"class":596},[547,767,768],{"class":561},"?.",[547,770,771],{"class":557},"result\n",[547,773,775,777,779,782,784,786,789,791,794,796,799,801,804],{"class":549,"line":774},9,[547,776,674],{"class":557},[547,778,572],{"class":561},[547,780,781],{"class":589},"log",[547,783,610],{"class":596},[547,785,692],{"class":561},[547,787,788],{"class":627},"OpenAPI ",[547,790,698],{"class":561},[547,792,793],{"class":557},"doc",[547,795,768],{"class":561},[547,797,798],{"class":557},"openapi",[547,800,729],{"class":561},[547,802,803],{"class":596},") ",[547,805,807],{"class":806},"sHwdD","\u002F\u002F напр. \"3.0.0\"\n",[547,809,811],{"class":549,"line":810},10,[547,812,813],{"class":561},"}\n",[467,815,817],{"id":816},"what-the-document-looks-like","Как выглядит документ",[472,819,820],{},"Стандартный объект OpenAPI 3.0.0. Части, которые важны на практике:",[822,823,824,837],"table",{},[825,826,827],"thead",{},[828,829,830,834],"tr",{},[831,832,833],"th",{},"Поле",[831,835,836],{},"Что содержит",[838,839,840,853,865,901],"tbody",{},[828,841,842,847],{},[843,844,845],"td",{},[475,846,798],{},[843,848,849,850],{},"строка версии спецификации, напр. ",[475,851,852],{},"\"3.0.0\"",[828,854,855,860],{},[843,856,857],{},[475,858,859],{},"info",[843,861,862],{},[475,863,864],{},"{ title: \"Bitrix24 REST V3 API\", version }",[828,866,867,872],{},[843,868,869],{},[475,870,871],{},"tags",[843,873,874,875,878,879,882,883,882,886,882,889,882,891,882,894,882,897,900],{},"одна запись ",[480,876,877],{},"на модуль"," — ",[475,880,881],{},"humanresources",", ",[475,884,885],{},"mail",[475,887,888],{},"main",[475,890,517],{},[475,892,893],{},"rest",[475,895,896],{},"tasks",[475,898,899],{},"timeman",", …",[828,902,903,908],{},[843,904,905],{},[475,906,907],{},"paths",[843,909,874,910,913,914,917,918,726],{},[480,911,912],{},"на метод",", с ключом ",[475,915,916],{},"\u002Fmethod.name"," (напр. ",[475,919,920],{},"\u002Ftasks.task.list",[472,922,923,924,927,928,931,932,935,936,938,939,942,943,946,947,950,951,572],{},"Каждый ",[475,925,926],{},"paths['\u002Fmethod.name']"," несёт операции ",[475,929,930],{},"post"," (и ",[475,933,934],{},"get",") с массивом\n",[475,937,871],{}," (модуль-владелец), JSON-схему ",[475,940,941],{},"requestBody",", описывающую принимаемые\nпараметры — часто с полем ",[475,944,945],{},"example",", перечисляющим реальные имена полей, — и\nсхему ",[475,948,949],{},"responses"," для конверта ",[475,952,953],{},"{ result }",[538,955,957],{"className":540,"code":956,"language":542,"meta":543,"style":543},"\u002F\u002F Форма (сокращённо) — поля, которые читаете на практике\ntype OpenApiDoc = {\n  openapi: string \u002F\u002F напр. \"3.0.0\"\n  info: { title: string, version: string } \u002F\u002F title: \"Bitrix24 REST V3 API\"\n  tags: Array\u003C{ name: string, description: string }> \u002F\u002F одна запись на модуль\n  paths: Record\u003Cstring, {\n    \u002F\u002F с ключом \"\u002Fmethod.name\", напр. \"\u002Ftasks.task.list\"\n    post?: {\n      tags?: string[] \u002F\u002F модуль-владелец\n      requestBody?: { content: { 'application\u002Fjson': { schema: unknown } } }\n    }\n    get?: { tags?: string[] }\n  }>\n}\n",[475,958,959,964,976,988,1021,1054,1074,1079,1089,1104,1146,1152,1173,1179],{"__ignoreMap":543},[547,960,961],{"class":549,"line":550},[547,962,963],{"class":806},"\u002F\u002F Форма (сокращённо) — поля, которые читаете на практике\n",[547,965,966,969,972,974],{"class":549,"line":616},[547,967,968],{"class":553},"type",[547,970,971],{"class":603}," OpenApiDoc",[547,973,755],{"class":561},[547,975,743],{"class":561},[547,977,978,981,983,985],{"class":549,"line":633},[547,979,980],{"class":596},"  openapi",[547,982,600],{"class":561},[547,984,604],{"class":603},[547,986,987],{"class":806}," \u002F\u002F напр. \"3.0.0\"\n",[547,989,990,993,995,998,1001,1003,1005,1008,1011,1013,1015,1018],{"class":549,"line":642},[547,991,992],{"class":596},"  info",[547,994,600],{"class":561},[547,996,997],{"class":561}," {",[547,999,1000],{"class":596}," title",[547,1002,600],{"class":561},[547,1004,604],{"class":603},[547,1006,1007],{"class":561},",",[547,1009,1010],{"class":596}," version",[547,1012,600],{"class":561},[547,1014,604],{"class":603},[547,1016,1017],{"class":561}," }",[547,1019,1020],{"class":806}," \u002F\u002F title: \"Bitrix24 REST V3 API\"\n",[547,1022,1023,1026,1028,1031,1033,1036,1038,1040,1042,1045,1047,1049,1051],{"class":549,"line":649},[547,1024,1025],{"class":596},"  tags",[547,1027,600],{"class":561},[547,1029,1030],{"class":603}," Array",[547,1032,593],{"class":561},[547,1034,1035],{"class":596}," name",[547,1037,600],{"class":561},[547,1039,604],{"class":603},[547,1041,1007],{"class":561},[547,1043,1044],{"class":596}," description",[547,1046,600],{"class":561},[547,1048,604],{"class":603},[547,1050,607],{"class":561},[547,1052,1053],{"class":806}," \u002F\u002F одна запись на модуль\n",[547,1055,1056,1059,1061,1064,1067,1070,1072],{"class":549,"line":671},[547,1057,1058],{"class":596},"  paths",[547,1060,600],{"class":561},[547,1062,1063],{"class":603}," Record",[547,1065,1066],{"class":561},"\u003C",[547,1068,1069],{"class":603},"string",[547,1071,1007],{"class":561},[547,1073,743],{"class":561},[547,1075,1076],{"class":549,"line":735},[547,1077,1078],{"class":806},"    \u002F\u002F с ключом \"\u002Fmethod.name\", напр. \"\u002Ftasks.task.list\"\n",[547,1080,1081,1084,1087],{"class":549,"line":746},[547,1082,1083],{"class":596},"    post",[547,1085,1086],{"class":561},"?:",[547,1088,743],{"class":561},[547,1090,1091,1094,1096,1098,1101],{"class":549,"line":774},[547,1092,1093],{"class":596},"      tags",[547,1095,1086],{"class":561},[547,1097,604],{"class":603},[547,1099,1100],{"class":557},"[] ",[547,1102,1103],{"class":806},"\u002F\u002F модуль-владелец\n",[547,1105,1106,1109,1111,1113,1116,1118,1120,1122,1125,1127,1129,1131,1134,1136,1139,1141,1143],{"class":549,"line":810},[547,1107,1108],{"class":596},"      requestBody",[547,1110,1086],{"class":561},[547,1112,997],{"class":561},[547,1114,1115],{"class":596}," content",[547,1117,600],{"class":561},[547,1119,997],{"class":561},[547,1121,624],{"class":561},[547,1123,1124],{"class":627},"application\u002Fjson",[547,1126,718],{"class":561},[547,1128,600],{"class":561},[547,1130,997],{"class":561},[547,1132,1133],{"class":596}," schema",[547,1135,600],{"class":561},[547,1137,1138],{"class":603}," unknown",[547,1140,1017],{"class":561},[547,1142,1017],{"class":561},[547,1144,1145],{"class":561}," }\n",[547,1147,1149],{"class":549,"line":1148},11,[547,1150,1151],{"class":561},"    }\n",[547,1153,1155,1158,1160,1162,1165,1167,1169,1171],{"class":549,"line":1154},12,[547,1156,1157],{"class":596},"    get",[547,1159,1086],{"class":561},[547,1161,997],{"class":561},[547,1163,1164],{"class":596}," tags",[547,1166,1086],{"class":561},[547,1168,604],{"class":603},[547,1170,1100],{"class":557},[547,1172,813],{"class":561},[547,1174,1176],{"class":549,"line":1175},13,[547,1177,1178],{"class":561},"  }>\n",[547,1180,1182],{"class":549,"line":1181},14,[547,1183,813],{"class":561},[467,1185,1187],{"id":1186},"why-this-matters-for-ai-agents","Почему это важно для AI-агентов",[472,1189,1190,1191,600],{},"Документ — самый чистый способ для LLM или генератора кода работать с порталом\n",[480,1192,1193],{},"без догадок",[1195,1196,1197,1207,1223,1236],"ul",{},[1198,1199,1200,1203,1204,572],"li",{},[480,1201,1202],{},"Обнаружение"," — перечислить, какие именно v3-методы существуют, до генерации\nвызова, вместо галлюцинации имени метода, который вернёт\n",[475,1205,1206],{},"METHODNOTFOUNDEXCEPTION",[1198,1208,1209,1212,1213,1216,1217,1219,1220,1222],{},[480,1210,1211],{},"Правильные поля"," — читать реальные имена ",[475,1214,1215],{},"select"," \u002F параметров из схемы\n",[475,1218,941],{}," каждого метода (и её ",[475,1221,945],{},") вместо их выдумывания.",[1198,1224,1225,1228,1229,1232,1233,572],{},[480,1226,1227],{},"Типизация \u002F кодогенерация"," — скормить схему генератору, чтобы получить\nтипизированные обёртки, или сузить ",[475,1230,1231],{},"$b24.actions.v3.call.make\u003CT>()"," правильным ",[475,1234,1235],{},"T",[1198,1237,1238,1241],{},[480,1239,1240],{},"Учёт портала"," — поскольку ответ на каждый портал свой, агент может\nподстроиться под реально присутствующие модули и scope, а не под общее\nпредположение.",[1243,1244,1245],"tip",{},[472,1246,1247,1248,1251,1252,1255,1256,1259],{},"Документ большой (часто ",[480,1249,1250],{},"100 КБ+",") и ",[480,1253,1254],{},"только в ответе"," — он не меняется между\nвызовами в рамках сессии. Запросите его ",[480,1257,1258],{},"один раз",", закэшируйте и обращайтесь к\nзакэшированному объекту. Не запрашивайте его при каждом взаимодействии.",[467,1261,375],{"id":1262},"error-handling",[472,1264,1265,1267,1268,1270,1271,1278],{},[475,1266,477],{}," — обычный v3-вызов, поэтому следует стандартному\nконтракту ",[475,1269,262],{}," — всегда проверяйте ",[475,1272,1275],{"className":1273,"language":1274,"style":543},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ts-type",[547,1276,1277],{"class":603},"isSuccess"," перед\nчтением документа:",[538,1280,1282],{"className":540,"code":1281,"language":542,"meta":543,"style":543},"const response = await $b24.actions.v3.call.make\u003C{ openapi: string }>({\n  method: 'rest.documentation.openapi'\n})\n\nif (!response.isSuccess) {\n  \u002F\u002F напр. у токена нет scope или портал недоступен\n  console.error(new Error(`Error: ${response.getErrorMessages().join('; ')}`))\n} else {\n  const doc = response.getData()?.result\n  console.log(`OpenAPI ${doc?.openapi}`)\n}\n",[475,1283,1284,1326,1338,1344,1348,1364,1369,1417,1425,1445,1471],{"__ignoreMap":543},[547,1285,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324],{"class":549,"line":550},[547,1287,554],{"class":553},[547,1289,558],{"class":557},[547,1291,562],{"class":561},[547,1293,566],{"class":565},[547,1295,569],{"class":557},[547,1297,572],{"class":561},[547,1299,91],{"class":557},[547,1301,572],{"class":561},[547,1303,579],{"class":557},[547,1305,572],{"class":561},[547,1307,584],{"class":557},[547,1309,572],{"class":561},[547,1311,590],{"class":589},[547,1313,593],{"class":561},[547,1315,597],{"class":596},[547,1317,600],{"class":561},[547,1319,604],{"class":603},[547,1321,607],{"class":561},[547,1323,610],{"class":557},[547,1325,613],{"class":561},[547,1327,1328,1330,1332,1334,1336],{"class":549,"line":616},[547,1329,619],{"class":596},[547,1331,600],{"class":561},[547,1333,624],{"class":561},[547,1335,477],{"class":627},[547,1337,630],{"class":561},[547,1339,1340,1342],{"class":549,"line":633},[547,1341,636],{"class":561},[547,1343,639],{"class":557},[547,1345,1346],{"class":549,"line":642},[547,1347,646],{"emptyLinePlaceholder":645},[547,1349,1350,1352,1354,1356,1358,1360,1362],{"class":549,"line":649},[547,1351,652],{"class":565},[547,1353,655],{"class":557},[547,1355,658],{"class":561},[547,1357,661],{"class":557},[547,1359,572],{"class":561},[547,1361,666],{"class":557},[547,1363,613],{"class":561},[547,1365,1366],{"class":549,"line":671},[547,1367,1368],{"class":806},"  \u002F\u002F напр. у токена нет scope или портал недоступен\n",[547,1370,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415],{"class":549,"line":735},[547,1372,674],{"class":557},[547,1374,572],{"class":561},[547,1376,679],{"class":589},[547,1378,610],{"class":596},[547,1380,684],{"class":561},[547,1382,687],{"class":589},[547,1384,610],{"class":596},[547,1386,692],{"class":561},[547,1388,695],{"class":627},[547,1390,698],{"class":561},[547,1392,661],{"class":557},[547,1394,572],{"class":561},[547,1396,705],{"class":589},[547,1398,708],{"class":557},[547,1400,572],{"class":561},[547,1402,713],{"class":589},[547,1404,610],{"class":557},[547,1406,718],{"class":561},[547,1408,721],{"class":627},[547,1410,718],{"class":561},[547,1412,726],{"class":557},[547,1414,729],{"class":561},[547,1416,732],{"class":596},[547,1418,1419,1421,1423],{"class":549,"line":746},[547,1420,636],{"class":561},[547,1422,740],{"class":565},[547,1424,743],{"class":561},[547,1426,1427,1429,1431,1433,1435,1437,1439,1441,1443],{"class":549,"line":774},[547,1428,749],{"class":553},[547,1430,752],{"class":557},[547,1432,755],{"class":561},[547,1434,758],{"class":557},[547,1436,572],{"class":561},[547,1438,763],{"class":589},[547,1440,708],{"class":596},[547,1442,768],{"class":561},[547,1444,771],{"class":557},[547,1446,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467,1469],{"class":549,"line":810},[547,1448,674],{"class":557},[547,1450,572],{"class":561},[547,1452,781],{"class":589},[547,1454,610],{"class":596},[547,1456,692],{"class":561},[547,1458,788],{"class":627},[547,1460,698],{"class":561},[547,1462,793],{"class":557},[547,1464,768],{"class":561},[547,1466,798],{"class":557},[547,1468,729],{"class":561},[547,1470,639],{"class":596},[547,1472,1473],{"class":549,"line":1148},[547,1474,813],{"class":561},[467,1476,352],{"id":362},[1478,1479,1481],"h3",{"id":1480},"list-every-available-method","Перечислить все доступные методы",[538,1483,1485],{"className":540,"code":1484,"language":542,"meta":543,"style":543},"const response = await $b24.actions.v3.call.make\u003C{\n  paths: Record\u003Cstring, unknown>\n}>({ method: 'rest.documentation.openapi' })\n\nconst methods = Object.keys(response.getData()?.result?.paths ?? {})\n  .map(path => path.replace(\u002F^\\\u002F\u002F, '')) \u002F\u002F \"\u002Ftasks.task.list\" → \"tasks.task.list\"\n\nconsole.log(`${methods.length} v3 methods available`)\n",[475,1486,1487,1518,1537,1562,1566,1610,1659,1663],{"__ignoreMap":543},[547,1488,1489,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515],{"class":549,"line":550},[547,1490,554],{"class":553},[547,1492,558],{"class":557},[547,1494,562],{"class":561},[547,1496,566],{"class":565},[547,1498,569],{"class":557},[547,1500,572],{"class":561},[547,1502,91],{"class":557},[547,1504,572],{"class":561},[547,1506,579],{"class":557},[547,1508,572],{"class":561},[547,1510,584],{"class":557},[547,1512,572],{"class":561},[547,1514,590],{"class":589},[547,1516,1517],{"class":561},"\u003C{\n",[547,1519,1520,1522,1524,1526,1528,1530,1532,1534],{"class":549,"line":616},[547,1521,1058],{"class":596},[547,1523,600],{"class":561},[547,1525,1063],{"class":603},[547,1527,1066],{"class":561},[547,1529,1069],{"class":603},[547,1531,1007],{"class":561},[547,1533,1138],{"class":603},[547,1535,1536],{"class":561},">\n",[547,1538,1539,1542,1544,1547,1550,1552,1554,1556,1558,1560],{"class":549,"line":633},[547,1540,1541],{"class":561},"}>",[547,1543,610],{"class":557},[547,1545,1546],{"class":561},"{",[547,1548,1549],{"class":596}," method",[547,1551,600],{"class":561},[547,1553,624],{"class":561},[547,1555,477],{"class":627},[547,1557,718],{"class":561},[547,1559,1017],{"class":561},[547,1561,639],{"class":557},[547,1563,1564],{"class":549,"line":642},[547,1565,646],{"emptyLinePlaceholder":645},[547,1567,1568,1570,1573,1575,1578,1580,1583,1586,1588,1590,1592,1594,1597,1599,1602,1605,1608],{"class":549,"line":649},[547,1569,554],{"class":553},[547,1571,1572],{"class":557}," methods ",[547,1574,562],{"class":561},[547,1576,1577],{"class":557}," Object",[547,1579,572],{"class":561},[547,1581,1582],{"class":589},"keys",[547,1584,1585],{"class":557},"(response",[547,1587,572],{"class":561},[547,1589,763],{"class":589},[547,1591,708],{"class":557},[547,1593,768],{"class":561},[547,1595,1596],{"class":557},"result",[547,1598,768],{"class":561},[547,1600,1601],{"class":557},"paths ",[547,1603,1604],{"class":561},"??",[547,1606,1607],{"class":561}," {}",[547,1609,639],{"class":557},[547,1611,1612,1615,1618,1620,1624,1627,1630,1632,1635,1637,1640,1643,1646,1648,1650,1653,1656],{"class":549,"line":671},[547,1613,1614],{"class":561},"  .",[547,1616,1617],{"class":589},"map",[547,1619,610],{"class":557},[547,1621,1623],{"class":1622},"sHdIc","path",[547,1625,1626],{"class":553}," =>",[547,1628,1629],{"class":557}," path",[547,1631,572],{"class":561},[547,1633,1634],{"class":589},"replace",[547,1636,610],{"class":557},[547,1638,1639],{"class":561},"\u002F",[547,1641,1642],{"class":565},"^",[547,1644,1645],{"class":557},"\\\u002F",[547,1647,1639],{"class":561},[547,1649,1007],{"class":561},[547,1651,1652],{"class":561}," ''",[547,1654,1655],{"class":557},")) ",[547,1657,1658],{"class":806},"\u002F\u002F \"\u002Ftasks.task.list\" → \"tasks.task.list\"\n",[547,1660,1661],{"class":549,"line":735},[547,1662,646],{"emptyLinePlaceholder":645},[547,1664,1665,1668,1670,1672,1674,1677,1680,1682,1685,1687,1690,1692],{"class":549,"line":746},[547,1666,1667],{"class":557},"console",[547,1669,572],{"class":561},[547,1671,781],{"class":589},[547,1673,610],{"class":557},[547,1675,1676],{"class":561},"`${",[547,1678,1679],{"class":557},"methods",[547,1681,572],{"class":561},[547,1683,1684],{"class":557},"length",[547,1686,636],{"class":561},[547,1688,1689],{"class":627}," v3 methods available",[547,1691,692],{"class":561},[547,1693,639],{"class":557},[1478,1695,1697],{"id":1696},"methods-grouped-by-module","Методы, сгруппированные по модулю",[538,1699,1701],{"className":540,"code":1700,"language":542,"meta":543,"style":543},"type OpenApiDoc = {\n  paths: Record\u003Cstring, { post?: { tags?: string[] } }>\n}\n\nconst doc = (await $b24.actions.v3.call.make\u003COpenApiDoc>({\n  method: 'rest.documentation.openapi'\n})).getData()?.result\n\nconst byModule = new Map\u003Cstring, string[]>()\nfor (const [path, ops] of Object.entries(doc?.paths ?? {})) {\n  const moduleName = ops.post?.tags?.[0] ?? 'unknown'\n  const list = byModule.get(moduleName) ?? []\n  list.push(path.replace(\u002F^\\\u002F\u002F, ''))\n  byModule.set(moduleName, list)\n}\n\nconsole.log([...byModule.keys()]) \u002F\u002F ['humanresources', 'mail', 'main', 'note', 'rest', 'tasks', 'timeman', …]\n",[475,1702,1703,1713,1749,1753,1757,1801,1813,1830,1834,1865,1912,1952,1980,2014,2034,2039,2044],{"__ignoreMap":543},[547,1704,1705,1707,1709,1711],{"class":549,"line":550},[547,1706,968],{"class":553},[547,1708,971],{"class":603},[547,1710,755],{"class":561},[547,1712,743],{"class":561},[547,1714,1715,1717,1719,1721,1723,1725,1727,1729,1732,1734,1736,1738,1740,1742,1744,1746],{"class":549,"line":616},[547,1716,1058],{"class":596},[547,1718,600],{"class":561},[547,1720,1063],{"class":603},[547,1722,1066],{"class":561},[547,1724,1069],{"class":603},[547,1726,1007],{"class":561},[547,1728,997],{"class":561},[547,1730,1731],{"class":596}," post",[547,1733,1086],{"class":561},[547,1735,997],{"class":561},[547,1737,1164],{"class":596},[547,1739,1086],{"class":561},[547,1741,604],{"class":603},[547,1743,1100],{"class":557},[547,1745,636],{"class":561},[547,1747,1748],{"class":561}," }>\n",[547,1750,1751],{"class":549,"line":633},[547,1752,813],{"class":561},[547,1754,1755],{"class":549,"line":642},[547,1756,646],{"emptyLinePlaceholder":645},[547,1758,1759,1761,1764,1766,1768,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1794,1797,1799],{"class":549,"line":649},[547,1760,554],{"class":553},[547,1762,1763],{"class":557}," doc ",[547,1765,562],{"class":561},[547,1767,655],{"class":557},[547,1769,1770],{"class":565},"await",[547,1772,569],{"class":557},[547,1774,572],{"class":561},[547,1776,91],{"class":557},[547,1778,572],{"class":561},[547,1780,579],{"class":557},[547,1782,572],{"class":561},[547,1784,584],{"class":557},[547,1786,572],{"class":561},[547,1788,590],{"class":589},[547,1790,1066],{"class":561},[547,1792,1793],{"class":603},"OpenApiDoc",[547,1795,1796],{"class":561},">",[547,1798,610],{"class":557},[547,1800,613],{"class":561},[547,1802,1803,1805,1807,1809,1811],{"class":549,"line":671},[547,1804,619],{"class":596},[547,1806,600],{"class":561},[547,1808,624],{"class":561},[547,1810,477],{"class":627},[547,1812,630],{"class":561},[547,1814,1815,1817,1820,1822,1824,1826,1828],{"class":549,"line":735},[547,1816,636],{"class":561},[547,1818,1819],{"class":557},"))",[547,1821,572],{"class":561},[547,1823,763],{"class":589},[547,1825,708],{"class":557},[547,1827,768],{"class":561},[547,1829,771],{"class":557},[547,1831,1832],{"class":549,"line":746},[547,1833,646],{"emptyLinePlaceholder":645},[547,1835,1836,1838,1841,1843,1846,1849,1851,1853,1855,1857,1860,1862],{"class":549,"line":774},[547,1837,554],{"class":553},[547,1839,1840],{"class":557}," byModule ",[547,1842,562],{"class":561},[547,1844,1845],{"class":561}," new",[547,1847,1848],{"class":589}," Map",[547,1850,1066],{"class":561},[547,1852,1069],{"class":603},[547,1854,1007],{"class":561},[547,1856,604],{"class":603},[547,1858,1859],{"class":557},"[]",[547,1861,1796],{"class":561},[547,1863,1864],{"class":557},"()\n",[547,1866,1867,1870,1872,1874,1877,1879,1881,1884,1887,1890,1892,1894,1897,1900,1902,1904,1906,1908,1910],{"class":549,"line":810},[547,1868,1869],{"class":565},"for",[547,1871,655],{"class":557},[547,1873,554],{"class":553},[547,1875,1876],{"class":561}," [",[547,1878,1623],{"class":557},[547,1880,1007],{"class":561},[547,1882,1883],{"class":557}," ops",[547,1885,1886],{"class":561},"]",[547,1888,1889],{"class":561}," of",[547,1891,1577],{"class":557},[547,1893,572],{"class":561},[547,1895,1896],{"class":589},"entries",[547,1898,1899],{"class":557},"(doc",[547,1901,768],{"class":561},[547,1903,1601],{"class":557},[547,1905,1604],{"class":561},[547,1907,1607],{"class":561},[547,1909,1655],{"class":557},[547,1911,613],{"class":561},[547,1913,1914,1916,1919,1921,1923,1925,1927,1929,1931,1933,1936,1940,1943,1945,1947,1950],{"class":549,"line":1148},[547,1915,749],{"class":553},[547,1917,1918],{"class":557}," moduleName",[547,1920,755],{"class":561},[547,1922,1883],{"class":557},[547,1924,572],{"class":561},[547,1926,930],{"class":557},[547,1928,768],{"class":561},[547,1930,871],{"class":557},[547,1932,768],{"class":561},[547,1934,1935],{"class":596},"[",[547,1937,1939],{"class":1938},"sbssI","0",[547,1941,1942],{"class":596},"] ",[547,1944,1604],{"class":561},[547,1946,624],{"class":561},[547,1948,1949],{"class":627},"unknown",[547,1951,630],{"class":561},[547,1953,1954,1956,1959,1961,1964,1966,1968,1970,1973,1975,1977],{"class":549,"line":1154},[547,1955,749],{"class":553},[547,1957,1958],{"class":557}," list",[547,1960,755],{"class":561},[547,1962,1963],{"class":557}," byModule",[547,1965,572],{"class":561},[547,1967,934],{"class":589},[547,1969,610],{"class":596},[547,1971,1972],{"class":557},"moduleName",[547,1974,803],{"class":596},[547,1976,1604],{"class":561},[547,1978,1979],{"class":596}," []\n",[547,1981,1982,1985,1987,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012],{"class":549,"line":1175},[547,1983,1984],{"class":557},"  list",[547,1986,572],{"class":561},[547,1988,1989],{"class":589},"push",[547,1991,610],{"class":596},[547,1993,1623],{"class":557},[547,1995,572],{"class":561},[547,1997,1634],{"class":589},[547,1999,610],{"class":596},[547,2001,1639],{"class":561},[547,2003,1642],{"class":565},[547,2005,1645],{"class":557},[547,2007,1639],{"class":561},[547,2009,1007],{"class":561},[547,2011,1652],{"class":561},[547,2013,732],{"class":596},[547,2015,2016,2019,2021,2024,2026,2028,2030,2032],{"class":549,"line":1181},[547,2017,2018],{"class":557},"  byModule",[547,2020,572],{"class":561},[547,2022,2023],{"class":589},"set",[547,2025,610],{"class":596},[547,2027,1972],{"class":557},[547,2029,1007],{"class":561},[547,2031,1958],{"class":557},[547,2033,639],{"class":596},[547,2035,2037],{"class":549,"line":2036},15,[547,2038,813],{"class":561},[547,2040,2042],{"class":549,"line":2041},16,[547,2043,646],{"emptyLinePlaceholder":645},[547,2045,2047,2049,2051,2053,2056,2059,2062,2064,2066,2069],{"class":549,"line":2046},17,[547,2048,1667],{"class":557},[547,2050,572],{"class":561},[547,2052,781],{"class":589},[547,2054,2055],{"class":557},"([",[547,2057,2058],{"class":561},"...",[547,2060,2061],{"class":557},"byModule",[547,2063,572],{"class":561},[547,2065,1582],{"class":589},[547,2067,2068],{"class":557},"()]) ",[547,2070,2071],{"class":806},"\u002F\u002F ['humanresources', 'mail', 'main', 'note', 'rest', 'tasks', 'timeman', …]\n",[1478,2073,2075],{"id":2074},"check-whether-a-specific-method-exists","Проверить, существует ли конкретный метод",[538,2077,2079],{"className":540,"code":2078,"language":542,"meta":543,"style":543},"const doc = (await $b24.actions.v3.call.make\u003C{ paths: Record\u003Cstring, unknown> }>({\n  method: 'rest.documentation.openapi'\n})).getData()?.result\n\nconst exists = Boolean(doc?.paths?.['\u002Fnote.collection.list'])\nconsole.log(`note.collection.list on v3: ${exists}`)\n",[475,2080,2081,2136,2148,2164,2168,2200],{"__ignoreMap":543},[547,2082,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2116,2118,2120,2122,2124,2126,2128,2130,2132,2134],{"class":549,"line":550},[547,2084,554],{"class":553},[547,2086,1763],{"class":557},[547,2088,562],{"class":561},[547,2090,655],{"class":557},[547,2092,1770],{"class":565},[547,2094,569],{"class":557},[547,2096,572],{"class":561},[547,2098,91],{"class":557},[547,2100,572],{"class":561},[547,2102,579],{"class":557},[547,2104,572],{"class":561},[547,2106,584],{"class":557},[547,2108,572],{"class":561},[547,2110,590],{"class":589},[547,2112,593],{"class":561},[547,2114,2115],{"class":596}," paths",[547,2117,600],{"class":561},[547,2119,1063],{"class":603},[547,2121,1066],{"class":561},[547,2123,1069],{"class":603},[547,2125,1007],{"class":561},[547,2127,1138],{"class":603},[547,2129,1796],{"class":561},[547,2131,607],{"class":561},[547,2133,610],{"class":557},[547,2135,613],{"class":561},[547,2137,2138,2140,2142,2144,2146],{"class":549,"line":616},[547,2139,619],{"class":596},[547,2141,600],{"class":561},[547,2143,624],{"class":561},[547,2145,477],{"class":627},[547,2147,630],{"class":561},[547,2149,2150,2152,2154,2156,2158,2160,2162],{"class":549,"line":633},[547,2151,636],{"class":561},[547,2153,1819],{"class":557},[547,2155,572],{"class":561},[547,2157,763],{"class":589},[547,2159,708],{"class":557},[547,2161,768],{"class":561},[547,2163,771],{"class":557},[547,2165,2166],{"class":549,"line":642},[547,2167,646],{"emptyLinePlaceholder":645},[547,2169,2170,2172,2175,2177,2180,2182,2184,2186,2188,2190,2192,2195,2197],{"class":549,"line":649},[547,2171,554],{"class":553},[547,2173,2174],{"class":557}," exists ",[547,2176,562],{"class":561},[547,2178,2179],{"class":589}," Boolean",[547,2181,1899],{"class":557},[547,2183,768],{"class":561},[547,2185,907],{"class":557},[547,2187,768],{"class":561},[547,2189,1935],{"class":557},[547,2191,718],{"class":561},[547,2193,2194],{"class":627},"\u002Fnote.collection.list",[547,2196,718],{"class":561},[547,2198,2199],{"class":557},"])\n",[547,2201,2202,2204,2206,2208,2210,2212,2215,2217,2220,2222],{"class":549,"line":671},[547,2203,1667],{"class":557},[547,2205,572],{"class":561},[547,2207,781],{"class":589},[547,2209,610],{"class":557},[547,2211,692],{"class":561},[547,2213,2214],{"class":627},"note.collection.list on v3: ",[547,2216,698],{"class":561},[547,2218,2219],{"class":557},"exists",[547,2221,729],{"class":561},[547,2223,639],{"class":557},[467,2225,2227],{"id":2226},"alternatives-and-recommendations","Альтернативы и рекомендации",[1195,2229,2230,2249,2286],{},[1198,2231,2232,2235,2236,2241,2242,2244,2245,2248],{},[480,2233,2234],{},"Справочник apidocs",": публичный ",[485,2237,2240],{"href":2238,"rel":2239},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Frest-v3\u002Findex.html",[489],"справочник REST API v3","\nдокументирует методы в человекочитаемой форме; ",[475,2243,477],{}," —\nего ",[512,2246,2247],{},"программный, специфичный для портала"," аналог.",[1198,2250,2251,2254,2255,2260,2261,2266,2267,2272,2273,2282,2283,572],{},[480,2252,2253],{},"Для вызова обнаруженного метода",": используйте ",[485,2256,2258],{"href":2257},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-rest-api-ver3\u002F",[475,2259,87],{},",\n",[485,2262,2264],{"href":2263},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fcall-list-rest-api-ver3\u002F",[475,2265,99],{}," \u002F\n",[485,2268,2270],{"href":2269},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Ffetch-list-rest-api-ver3\u002F",[475,2271,108],{}," или\nнативные ",[485,2274,2275,2278,2279],{"href":2269},[475,2276,2277],{},"CallTail"," \u002F ",[475,2280,2281],{},"FetchTail",",\nкогда метод публикует действие ",[475,2284,2285],{},"tail",[1198,2287,2288,2291,2292,572],{},[480,2289,2290],{},"Выбор v2 или v3",": см. ",[485,2293,2295],{"href":2294},"\u002Fdocs\u002Fworking-with-the-rest-api\u002Fchoosing-the-right-method\u002F","Выбор подходящего метода",[2297,2298,2299],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":543,"searchDepth":616,"depth":616,"links":2301},[2302,2303,2304,2305,2306,2307,2312],{"id":469,"depth":616,"text":470},{"id":532,"depth":616,"text":533},{"id":816,"depth":616,"text":817},{"id":1186,"depth":616,"text":1187},{"id":1262,"depth":616,"text":375},{"id":362,"depth":616,"text":352,"children":2308},[2309,2310,2311],{"id":1480,"depth":633,"text":1481},{"id":1696,"depth":633,"text":1697},{"id":2074,"depth":633,"text":2075},{"id":2226,"depth":616,"text":2227},"md",[2315,2319,2322],{"label":2316,"iconName":2317,"to":2318},"Actions v3","GitHubIcon","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fcore\u002Factions\u002Fv3\u002Fmanager-v3.ts",{"label":2320,"iconName":2321,"to":487},"Спецификация OpenAPI","MdnwebdocsIcon",{"label":2323,"iconName":2317,"to":2324},"Skill — b24jssdk-rest","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fskills\u002Fb24jssdk-rest\u002FSKILL.md",{},{"title":257},{"title":461,"description":260},"8OBeWYWqr8T13dOr5E743ETp19PaZSGxj7clBNqGCuU",{"data":2330,"body":2331},{},{"type":2332,"children":2333},"root",[2334],{"type":2335,"tag":472,"props":2336,"children":2337},"element",{},[2338],{"type":2339,"value":260},"text",1783080216859]