[{"data":1,"prerenderedAt":1815},["ShallowReactive",2],{"navigation":3,"-docs-working-with-the-rest-api-frame-placement":459,"-docs-working-with-the-rest-api-frame-placement-description":1804},[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":133,"description":164,"extension":1791,"links":1792,"meta":1800,"navigation":1801,"path":162,"restApiVersion":15,"seo":1802,"stem":163,"__hash__":1803},"docs\u002Fdocs\u002F2.working-with-the-rest-api\u002F31.frame-placement.md","Класс PlacementManager","2026-05-29",{"type":464,"value":465,"toc":1775},"minimark",[466,473,482,487,491,520,534,538,554,560,564,581,591,594,611,614,618,634,647,750,754,758,785,788,850,854,888,891,894,993,996,1172,1397,1400,1431,1442,1530,1534,1632,1635,1641,1665,1771],[467,468,469],"warning",{},[470,471,472],"p",{},"Мы всё ещё дорабатываем эту страницу. Некоторых данных здесь может не хватать — скоро дополним.",[470,474,475],{},[476,477,481],"a",{"href":478,"rel":479},"https:\u002F\u002Fapidocs.bitrix24.ru\u002Fapi-reference\u002Fwidgets\u002Fui-interaction\u002Findex.html",[480],"nofollow","Подробнее",[483,484,486],"h2",{"id":485},"getters","Геттеры",[488,489,490],"h3",{"id":490},"title",[492,493,498],"pre",{"className":494,"code":495,"language":496,"meta":497,"style":497},"language-ts-type shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","get title(): string\n","ts-type","",[499,500,501],"code",{"__ignoreMap":497},[502,503,506,510,513,517],"span",{"class":504,"line":505},"line",1,[502,507,509],{"class":508},"sBMFI","get",[502,511,512],{"class":508}," title",[502,514,516],{"class":515},"sMK4o","():",[502,518,519],{"class":508}," string\n",[470,521,522,523,529,530,533],{},"Псевдоним ",[476,524,526],{"href":525},"#placement",[499,527,528],{},"placement",". Возвращает заголовок placement (",[499,531,532],{},"'DEFAULT'",", если заголовок не был предоставлен родительским окном).",[488,535,536,497],{"id":528},[499,537,528],{},[492,539,541],{"className":494,"code":540,"language":496,"meta":497,"style":497},"get placement(): string\n",[499,542,543],{"__ignoreMap":497},[502,544,545,547,550,552],{"class":504,"line":505},[502,546,509],{"class":508},[502,548,549],{"class":508}," placement",[502,551,516],{"class":515},[502,553,519],{"class":508},[470,555,556,557,559],{},"Возвращает заголовок placement. По умолчанию возвращает ",[499,558,532],{},", если заголовок не задан.",[488,561,563],{"id":562},"isdefault","isDefault",[492,565,567],{"className":494,"code":566,"language":496,"meta":497,"style":497},"get isDefault(): boolean\n",[499,568,569],{"__ignoreMap":497},[502,570,571,573,576,578],{"class":504,"line":505},[502,572,509],{"class":508},[502,574,575],{"class":508}," isDefault",[502,577,516],{"class":515},[502,579,580],{"class":508}," boolean\n",[470,582,583,584,587,588,590],{},"Возвращает ",[499,585,586],{},"true",", если заголовок placement равен ",[499,589,532],{},".",[488,592,593],{"id":593},"options",[492,595,597],{"className":494,"code":596,"language":496,"meta":497,"style":497},"get options(): any\n",[499,598,599],{"__ignoreMap":497},[502,600,601,603,606,608],{"class":504,"line":505},[502,602,509],{"class":508},[502,604,605],{"class":508}," options",[502,607,516],{"class":515},[502,609,610],{"class":508}," any\n",[470,612,613],{},"Возвращает объект опций placement. Объект заморожен для предотвращения изменений.",[488,615,617],{"id":616},"isslidermode","isSliderMode",[492,619,621],{"className":494,"code":620,"language":496,"meta":497,"style":497},"get isSliderMode(): boolean\n",[499,622,623],{"__ignoreMap":497},[502,624,625,627,630,632],{"class":504,"line":505},[502,626,509],{"class":508},[502,628,629],{"class":508}," isSliderMode",[502,631,516],{"class":515},[502,633,580],{"class":508},[470,635,583,636,638,639,642,643,646],{},[499,637,586],{},", если виджет работает в режиме слайдера (опция ",[499,640,641],{},"IFRAME"," равна ",[499,644,645],{},"'Y'",").",[492,648,652],{"className":649,"code":650,"language":651,"meta":497,"style":497},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\n$b24 = await initializeB24Frame()\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\nif ($b24.placement.isSliderMode) {\n    $b24.parent.setTitle('SliderMode')\n}\n","ts",[499,653,654,663,684,691,712,744],{"__ignoreMap":497},[502,655,656,660],{"class":504,"line":505},[502,657,659],{"class":658},"sHwdD","\u002F\u002F ...",[502,661,662],{"class":658}," \u002F\u002F\u002F\u002F\u002F\n",[502,664,666,670,673,677,681],{"class":504,"line":665},2,[502,667,669],{"class":668},"sTEyZ","$b24 ",[502,671,672],{"class":515},"=",[502,674,676],{"class":675},"s7zQu"," await",[502,678,680],{"class":679},"s2Zo4"," initializeB24Frame",[502,682,683],{"class":668},"()\n",[502,685,687,689],{"class":504,"line":686},3,[502,688,659],{"class":658},[502,690,662],{"class":658},[502,692,694,697,700,702,704,706,709],{"class":504,"line":693},4,[502,695,696],{"class":675},"if",[502,698,699],{"class":668}," ($b24",[502,701,590],{"class":515},[502,703,528],{"class":668},[502,705,590],{"class":515},[502,707,708],{"class":668},"isSliderMode) ",[502,710,711],{"class":515},"{\n",[502,713,715,718,720,723,725,728,732,735,739,741],{"class":504,"line":714},5,[502,716,717],{"class":668},"    $b24",[502,719,590],{"class":515},[502,721,722],{"class":668},"parent",[502,724,590],{"class":515},[502,726,727],{"class":679},"setTitle",[502,729,731],{"class":730},"swJcz","(",[502,733,734],{"class":515},"'",[502,736,738],{"class":737},"sfazB","SliderMode",[502,740,734],{"class":515},[502,742,743],{"class":730},")\n",[502,745,747],{"class":504,"line":746},6,[502,748,749],{"class":515},"}\n",[483,751,753],{"id":752},"methods","Методы",[488,755,757],{"id":756},"getinterface","getInterface",[492,759,761],{"className":494,"code":760,"language":496,"meta":497,"style":497},"async getInterface(): Promise\u003Cany>\n",[499,762,763],{"__ignoreMap":497},[502,764,765,768,771,773,776,779,782],{"class":504,"line":505},[502,766,767],{"class":508},"async",[502,769,770],{"class":508}," getInterface",[502,772,516],{"class":515},[502,774,775],{"class":508}," Promise",[502,777,778],{"class":515},"\u003C",[502,780,781],{"class":508},"any",[502,783,784],{"class":515},">\n",[470,786,787],{},"Получение информации о JS-интерфейсе текущего места встраивания: список возможных команд и событий.",[492,789,791],{"className":649,"code":790,"language":651,"meta":497,"style":497},"\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\n$b24 = await initializeB24Frame()\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\nconst value: any = await $b24.placement.getInterface()\n",[499,792,793,799,811,817],{"__ignoreMap":497},[502,794,795,797],{"class":504,"line":505},[502,796,659],{"class":658},[502,798,662],{"class":658},[502,800,801,803,805,807,809],{"class":504,"line":665},[502,802,669],{"class":668},[502,804,672],{"class":515},[502,806,676],{"class":675},[502,808,680],{"class":679},[502,810,683],{"class":668},[502,812,813,815],{"class":504,"line":686},[502,814,659],{"class":658},[502,816,662],{"class":658},[502,818,819,823,826,829,832,835,837,840,842,844,846,848],{"class":504,"line":693},[502,820,822],{"class":821},"spNyl","const",[502,824,825],{"class":668}," value",[502,827,828],{"class":515},":",[502,830,831],{"class":508}," any",[502,833,834],{"class":515}," =",[502,836,676],{"class":675},[502,838,839],{"class":668}," $b24",[502,841,590],{"class":515},[502,843,528],{"class":668},[502,845,590],{"class":515},[502,847,757],{"class":679},[502,849,683],{"class":668},[488,851,853],{"id":852},"bindevent","bindEvent",[492,855,857],{"className":494,"code":856,"language":496,"meta":497,"style":497},"async bindEvent(eventName: string): Promise\u003Cany>\n",[499,858,859],{"__ignoreMap":497},[502,860,861,863,866,868,872,874,877,880,882,884,886],{"class":504,"line":505},[502,862,767],{"class":508},[502,864,865],{"class":508}," bindEvent",[502,867,731],{"class":515},[502,869,871],{"class":870},"sHdIc","eventName",[502,873,828],{"class":515},[502,875,876],{"class":508}," string",[502,878,879],{"class":515},"):",[502,881,775],{"class":508},[502,883,778],{"class":515},[502,885,781],{"class":508},[502,887,784],{"class":515},[470,889,890],{},"Настройка обработчика события для интерфейса.",[488,892,893],{"id":893},"call",[492,895,897],{"className":494,"code":896,"language":496,"meta":497,"style":497},"async call(command: 'setValue', parameters: { value: string }): Promise\u003Cany>\nasync call(command: string, parameters?: Record\u003Cstring, any>): Promise\u003Cany>\n",[499,898,899,949],{"__ignoreMap":497},[502,900,901,903,906,908,911,913,916,919,921,924,927,929,932,934,936,938,941,943,945,947],{"class":504,"line":505},[502,902,767],{"class":508},[502,904,905],{"class":508}," call",[502,907,731],{"class":515},[502,909,910],{"class":870},"command",[502,912,828],{"class":515},[502,914,915],{"class":515}," '",[502,917,918],{"class":737},"setValue",[502,920,734],{"class":515},[502,922,923],{"class":515},",",[502,925,926],{"class":870}," parameters",[502,928,828],{"class":515},[502,930,931],{"class":515}," {",[502,933,825],{"class":730},[502,935,828],{"class":515},[502,937,876],{"class":508},[502,939,940],{"class":515}," }):",[502,942,775],{"class":508},[502,944,778],{"class":515},[502,946,781],{"class":508},[502,948,784],{"class":515},[502,950,951,953,955,957,959,961,963,965,967,970,973,975,978,980,982,985,987,989,991],{"class":504,"line":665},[502,952,767],{"class":508},[502,954,905],{"class":508},[502,956,731],{"class":515},[502,958,910],{"class":870},[502,960,828],{"class":515},[502,962,876],{"class":508},[502,964,923],{"class":515},[502,966,926],{"class":870},[502,968,969],{"class":515},"?:",[502,971,972],{"class":508}," Record",[502,974,778],{"class":515},[502,976,977],{"class":508},"string",[502,979,923],{"class":515},[502,981,831],{"class":508},[502,983,984],{"class":515},">):",[502,986,775],{"class":508},[502,988,778],{"class":515},[502,990,781],{"class":508},[502,992,784],{"class":515},[470,994,995],{},"Вызывает зарегистрированную команду интерфейса.",[492,997,999],{"className":649,"code":998,"language":651,"meta":497,"style":497},"import { LoggerFactory } from '@bitrix24\u002Fb24jssdk'\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\nconst logger = LoggerFactory.createForBrowser('Demo', true)\n\n$b24 = await initializeB24Frame()\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\n$b24.placement.call('reloadData')\n  .then((respose: any) => {\n    logger.info('reload call')\n  })\n",[499,1000,1001,1025,1031,1064,1070,1082,1088,1113,1142,1164],{"__ignoreMap":497},[502,1002,1003,1006,1008,1011,1014,1017,1019,1022],{"class":504,"line":505},[502,1004,1005],{"class":675},"import",[502,1007,931],{"class":515},[502,1009,1010],{"class":668}," LoggerFactory",[502,1012,1013],{"class":515}," }",[502,1015,1016],{"class":675}," from",[502,1018,915],{"class":515},[502,1020,1021],{"class":737},"@bitrix24\u002Fb24jssdk",[502,1023,1024],{"class":515},"'\n",[502,1026,1027,1029],{"class":504,"line":665},[502,1028,659],{"class":658},[502,1030,662],{"class":658},[502,1032,1033,1035,1038,1040,1042,1044,1047,1049,1051,1054,1056,1058,1062],{"class":504,"line":686},[502,1034,822],{"class":821},[502,1036,1037],{"class":668}," logger ",[502,1039,672],{"class":515},[502,1041,1010],{"class":668},[502,1043,590],{"class":515},[502,1045,1046],{"class":679},"createForBrowser",[502,1048,731],{"class":668},[502,1050,734],{"class":515},[502,1052,1053],{"class":737},"Demo",[502,1055,734],{"class":515},[502,1057,923],{"class":515},[502,1059,1061],{"class":1060},"sfNiH"," true",[502,1063,743],{"class":668},[502,1065,1066],{"class":504,"line":693},[502,1067,1069],{"emptyLinePlaceholder":1068},true,"\n",[502,1071,1072,1074,1076,1078,1080],{"class":504,"line":714},[502,1073,669],{"class":668},[502,1075,672],{"class":515},[502,1077,676],{"class":675},[502,1079,680],{"class":679},[502,1081,683],{"class":668},[502,1083,1084,1086],{"class":504,"line":746},[502,1085,659],{"class":658},[502,1087,662],{"class":658},[502,1089,1091,1094,1096,1098,1100,1102,1104,1106,1109,1111],{"class":504,"line":1090},7,[502,1092,1093],{"class":668},"$b24",[502,1095,590],{"class":515},[502,1097,528],{"class":668},[502,1099,590],{"class":515},[502,1101,893],{"class":679},[502,1103,731],{"class":668},[502,1105,734],{"class":515},[502,1107,1108],{"class":737},"reloadData",[502,1110,734],{"class":515},[502,1112,743],{"class":668},[502,1114,1116,1119,1122,1124,1126,1129,1131,1133,1136,1139],{"class":504,"line":1115},8,[502,1117,1118],{"class":515},"  .",[502,1120,1121],{"class":679},"then",[502,1123,731],{"class":668},[502,1125,731],{"class":515},[502,1127,1128],{"class":870},"respose",[502,1130,828],{"class":515},[502,1132,831],{"class":508},[502,1134,1135],{"class":515},")",[502,1137,1138],{"class":821}," =>",[502,1140,1141],{"class":515}," {\n",[502,1143,1145,1148,1150,1153,1155,1157,1160,1162],{"class":504,"line":1144},9,[502,1146,1147],{"class":668},"    logger",[502,1149,590],{"class":515},[502,1151,1152],{"class":679},"info",[502,1154,731],{"class":730},[502,1156,734],{"class":515},[502,1158,1159],{"class":737},"reload call",[502,1161,734],{"class":515},[502,1163,743],{"class":730},[502,1165,1167,1170],{"class":504,"line":1166},10,[502,1168,1169],{"class":515},"  }",[502,1171,743],{"class":668},[467,1173,1174,1204,1224],{},[470,1175,1176,1177,1179,1180,1183,1184,1187,1188,1192,1193,1196,1197,1200,1201,646],{},"Команда ",[499,1178,918],{}," особенная: родительское окно вызывает ",[499,1181,1182],{},"JSON.parse(value)","\nна полученном payload, поэтому ",[499,1185,1186],{},"value"," ",[1189,1190,1191],"strong",{},"обязан"," быть JSON-сериализованной строкой. Передача\nобычной строки или объекта напрямую приведёт к ошибке (",[499,1194,1195],{},"SyntaxError"," из\n",[499,1198,1199],{},"JSON.parse"," или тихому повреждению до ",[499,1202,1203],{},"\"[object Object]\"",[470,1205,1206,1207,1212,1213,1216,1217,1220,1221,1223],{},"Предпочитайте хелпер ",[476,1208,1210],{"href":1209},"#setvalue",[499,1211,918],{},", который сериализует за вас. Если вы используете\n",[499,1214,1215],{},"call('setValue', ...)"," напрямую, SDK выбросит ",[499,1218,1219],{},"TypeError",", когда ",[499,1222,1186],{},"\nне является строкой.",[492,1225,1227],{"className":649,"code":1226,"language":651,"meta":497,"style":497},"\u002F\u002F ✗ выбрасывает TypeError — value не является строкой\nawait $b24.placement.call('setValue', { value: 'test' })\n\n\u002F\u002F ✓ работает — value является JSON-строкой\nawait $b24.placement.call('setValue', { value: JSON.stringify('test') })\nawait $b24.placement.call('setValue', { value: JSON.stringify({ id: 1 }) })\n",[499,1228,1229,1234,1276,1280,1285,1339],{"__ignoreMap":497},[502,1230,1231],{"class":504,"line":505},[502,1232,1233],{"class":658},"\u002F\u002F ✗ выбрасывает TypeError — value не является строкой\n",[502,1235,1236,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1270,1272,1274],{"class":504,"line":665},[502,1237,1238],{"class":675},"await",[502,1240,839],{"class":668},[502,1242,590],{"class":515},[502,1244,528],{"class":668},[502,1246,590],{"class":515},[502,1248,893],{"class":679},[502,1250,731],{"class":668},[502,1252,734],{"class":515},[502,1254,918],{"class":737},[502,1256,734],{"class":515},[502,1258,923],{"class":515},[502,1260,931],{"class":515},[502,1262,825],{"class":730},[502,1264,828],{"class":515},[502,1266,915],{"class":515},[502,1268,1269],{"class":737},"test",[502,1271,734],{"class":515},[502,1273,1013],{"class":515},[502,1275,743],{"class":668},[502,1277,1278],{"class":504,"line":686},[502,1279,1069],{"emptyLinePlaceholder":1068},[502,1281,1282],{"class":504,"line":693},[502,1283,1284],{"class":658},"\u002F\u002F ✓ работает — value является JSON-строкой\n",[502,1286,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1318,1320,1323,1325,1327,1329,1331,1334,1337],{"class":504,"line":714},[502,1288,1238],{"class":675},[502,1290,839],{"class":668},[502,1292,590],{"class":515},[502,1294,528],{"class":668},[502,1296,590],{"class":515},[502,1298,893],{"class":679},[502,1300,731],{"class":668},[502,1302,734],{"class":515},[502,1304,918],{"class":737},[502,1306,734],{"class":515},[502,1308,923],{"class":515},[502,1310,931],{"class":515},[502,1312,825],{"class":730},[502,1314,828],{"class":515},[502,1316,1317],{"class":668}," JSON",[502,1319,590],{"class":515},[502,1321,1322],{"class":679},"stringify",[502,1324,731],{"class":668},[502,1326,734],{"class":515},[502,1328,1269],{"class":737},[502,1330,734],{"class":515},[502,1332,1333],{"class":668},") ",[502,1335,1336],{"class":515},"}",[502,1338,743],{"class":668},[502,1340,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1380,1383,1385,1389,1391,1393,1395],{"class":504,"line":746},[502,1342,1238],{"class":675},[502,1344,839],{"class":668},[502,1346,590],{"class":515},[502,1348,528],{"class":668},[502,1350,590],{"class":515},[502,1352,893],{"class":679},[502,1354,731],{"class":668},[502,1356,734],{"class":515},[502,1358,918],{"class":737},[502,1360,734],{"class":515},[502,1362,923],{"class":515},[502,1364,931],{"class":515},[502,1366,825],{"class":730},[502,1368,828],{"class":515},[502,1370,1317],{"class":668},[502,1372,590],{"class":515},[502,1374,1322],{"class":679},[502,1376,731],{"class":668},[502,1378,1379],{"class":515},"{",[502,1381,1382],{"class":730}," id",[502,1384,828],{"class":515},[502,1386,1388],{"class":1387},"sbssI"," 1",[502,1390,1013],{"class":515},[502,1392,1333],{"class":668},[502,1394,1336],{"class":515},[502,1396,743],{"class":668},[488,1398,918],{"id":1399},"setvalue",[492,1401,1403],{"className":494,"code":1402,"language":496,"meta":497,"style":497},"async setValue(value: unknown): Promise\u003Cany>\n",[499,1404,1405],{"__ignoreMap":497},[502,1406,1407,1409,1412,1414,1416,1418,1421,1423,1425,1427,1429],{"class":504,"line":505},[502,1408,767],{"class":508},[502,1410,1411],{"class":508}," setValue",[502,1413,731],{"class":515},[502,1415,1186],{"class":870},[502,1417,828],{"class":515},[502,1419,1420],{"class":508}," unknown",[502,1422,879],{"class":515},[502,1424,775],{"class":508},[502,1426,778],{"class":515},[502,1428,781],{"class":508},[502,1430,784],{"class":515},[470,1432,1433,1434,1437,1438,1441],{},"Удобная обёртка над ",[499,1435,1436],{},"placement.call('setValue', ...)",", которая выполняет\n",[499,1439,1440],{},"JSON.stringify"," над значением за вас. Принимает любое JSON-сериализуемое значение\n(строку, число, булево, объект, массив).",[492,1443,1445],{"className":649,"code":1444,"language":651,"meta":497,"style":497},"$b24 = await initializeB24Frame()\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\nawait $b24.placement.setValue('test')\nawait $b24.placement.setValue({ id: 1, title: 'demo' })\n",[499,1446,1447,1459,1465,1489],{"__ignoreMap":497},[502,1448,1449,1451,1453,1455,1457],{"class":504,"line":505},[502,1450,669],{"class":668},[502,1452,672],{"class":515},[502,1454,676],{"class":675},[502,1456,680],{"class":679},[502,1458,683],{"class":668},[502,1460,1461,1463],{"class":504,"line":665},[502,1462,659],{"class":658},[502,1464,662],{"class":658},[502,1466,1467,1469,1471,1473,1475,1477,1479,1481,1483,1485,1487],{"class":504,"line":686},[502,1468,1238],{"class":675},[502,1470,839],{"class":668},[502,1472,590],{"class":515},[502,1474,528],{"class":668},[502,1476,590],{"class":515},[502,1478,918],{"class":679},[502,1480,731],{"class":668},[502,1482,734],{"class":515},[502,1484,1269],{"class":737},[502,1486,734],{"class":515},[502,1488,743],{"class":668},[502,1490,1491,1493,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1524,1526,1528],{"class":504,"line":693},[502,1492,1238],{"class":675},[502,1494,839],{"class":668},[502,1496,590],{"class":515},[502,1498,528],{"class":668},[502,1500,590],{"class":515},[502,1502,918],{"class":679},[502,1504,731],{"class":668},[502,1506,1379],{"class":515},[502,1508,1382],{"class":730},[502,1510,828],{"class":515},[502,1512,1388],{"class":1387},[502,1514,923],{"class":515},[502,1516,512],{"class":730},[502,1518,828],{"class":515},[502,1520,915],{"class":515},[502,1522,1523],{"class":737},"demo",[502,1525,734],{"class":515},[502,1527,1013],{"class":515},[502,1529,743],{"class":668},[488,1531,1533],{"id":1532},"callcustombind","callCustomBind",[492,1535,1537],{"className":494,"code":1536,"language":496,"meta":497,"style":497},"async callCustomBind(\n  command: string,\n  parameters: null | string | Record\u003Cstring, any>,\n  callBack: (...args: any[]) => void\n): Promise\u003Cany>\n",[499,1538,1539,1549,1561,1591,1618],{"__ignoreMap":497},[502,1540,1541,1543,1546],{"class":504,"line":505},[502,1542,767],{"class":508},[502,1544,1545],{"class":508}," callCustomBind",[502,1547,1548],{"class":668},"(\n",[502,1550,1551,1554,1556,1558],{"class":504,"line":665},[502,1552,1553],{"class":870},"  command",[502,1555,828],{"class":515},[502,1557,876],{"class":508},[502,1559,1560],{"class":515},",\n",[502,1562,1563,1566,1568,1571,1574,1576,1578,1580,1582,1584,1586,1588],{"class":504,"line":686},[502,1564,1565],{"class":870},"  parameters",[502,1567,828],{"class":515},[502,1569,1570],{"class":508}," null",[502,1572,1573],{"class":515}," |",[502,1575,876],{"class":508},[502,1577,1573],{"class":515},[502,1579,972],{"class":508},[502,1581,778],{"class":515},[502,1583,977],{"class":508},[502,1585,923],{"class":515},[502,1587,831],{"class":508},[502,1589,1590],{"class":515},">,\n",[502,1592,1593,1596,1598,1601,1604,1606,1608,1611,1613,1615],{"class":504,"line":693},[502,1594,1595],{"class":679},"  callBack",[502,1597,828],{"class":515},[502,1599,1600],{"class":515}," (...",[502,1602,1603],{"class":870},"args",[502,1605,828],{"class":515},[502,1607,831],{"class":508},[502,1609,1610],{"class":668},"[]",[502,1612,1135],{"class":515},[502,1614,1138],{"class":821},[502,1616,1617],{"class":508}," void\n",[502,1619,1620,1622,1624,1626,1628,1630],{"class":504,"line":714},[502,1621,1135],{"class":668},[502,1623,828],{"class":515},[502,1625,775],{"class":508},[502,1627,778],{"class":515},[502,1629,781],{"class":508},[502,1631,784],{"class":515},[470,1633,1634],{},"Вызывает команду интерфейса и регистрирует callback, который получает последующие события от команды. Используйте это для команд, которые порождают непрерывные события (например, обновления прогресса), вместо однократного разрешения.",[470,1636,1637,1640],{},[499,1638,1639],{},"parameters"," принимает три формы:",[1642,1643,1644,1651,1659],"ul",{},[1645,1646,1647,1650],"li",{},[499,1648,1649],{},"null"," — без payload.",[1645,1652,1653,1655,1656,590],{},[499,1654,977],{}," — отправляется как ",[499,1657,1658],{},"singleOption",[1645,1660,1661,1664],{},[499,1662,1663],{},"Record\u003Cstring, any>"," — раскрывается в payload сообщения.",[492,1666,1668],{"className":649,"code":1667,"language":651,"meta":497,"style":497},"$b24 = await initializeB24Frame()\n\u002F\u002F ... \u002F\u002F\u002F\u002F\u002F\n$b24.placement.callCustomBind('subscribe', { topic: 'crm:deal' }, (event) => {\n  console.log('event', event)\n})\n",[499,1669,1670,1682,1688,1740,1765],{"__ignoreMap":497},[502,1671,1672,1674,1676,1678,1680],{"class":504,"line":505},[502,1673,669],{"class":668},[502,1675,672],{"class":515},[502,1677,676],{"class":675},[502,1679,680],{"class":679},[502,1681,683],{"class":668},[502,1683,1684,1686],{"class":504,"line":665},[502,1685,659],{"class":658},[502,1687,662],{"class":658},[502,1689,1690,1692,1694,1696,1698,1700,1702,1704,1707,1709,1711,1713,1716,1718,1720,1723,1725,1728,1731,1734,1736,1738],{"class":504,"line":686},[502,1691,1093],{"class":668},[502,1693,590],{"class":515},[502,1695,528],{"class":668},[502,1697,590],{"class":515},[502,1699,1533],{"class":679},[502,1701,731],{"class":668},[502,1703,734],{"class":515},[502,1705,1706],{"class":737},"subscribe",[502,1708,734],{"class":515},[502,1710,923],{"class":515},[502,1712,931],{"class":515},[502,1714,1715],{"class":730}," topic",[502,1717,828],{"class":515},[502,1719,915],{"class":515},[502,1721,1722],{"class":737},"crm:deal",[502,1724,734],{"class":515},[502,1726,1727],{"class":515}," },",[502,1729,1730],{"class":515}," (",[502,1732,1733],{"class":870},"event",[502,1735,1135],{"class":515},[502,1737,1138],{"class":821},[502,1739,1141],{"class":515},[502,1741,1742,1745,1747,1750,1752,1754,1756,1758,1760,1763],{"class":504,"line":693},[502,1743,1744],{"class":668},"  console",[502,1746,590],{"class":515},[502,1748,1749],{"class":679},"log",[502,1751,731],{"class":730},[502,1753,734],{"class":515},[502,1755,1733],{"class":737},[502,1757,734],{"class":515},[502,1759,923],{"class":515},[502,1761,1762],{"class":668}," event",[502,1764,743],{"class":730},[502,1766,1767,1769],{"class":504,"line":714},[502,1768,1336],{"class":515},[502,1770,743],{"class":668},[1772,1773,1774],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":497,"searchDepth":665,"depth":665,"links":1776},[1777,1784],{"id":485,"depth":665,"text":486,"children":1778},[1779,1780,1781,1782,1783],{"id":490,"depth":686,"text":490},{"id":528,"depth":686,"text":528},{"id":562,"depth":686,"text":563},{"id":593,"depth":686,"text":593},{"id":616,"depth":686,"text":617},{"id":752,"depth":665,"text":753,"children":1785},[1786,1787,1788,1789,1790],{"id":756,"depth":686,"text":757},{"id":852,"depth":686,"text":853},{"id":893,"depth":686,"text":893},{"id":1399,"depth":686,"text":918},{"id":1532,"depth":686,"text":1533},"md",[1793,1797],{"label":1794,"iconName":1795,"to":1796},"PlacementManager","GitHubIcon","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fpackages\u002Fjssdk\u002Fsrc\u002Fframe\u002Fplacement.ts",{"label":1798,"iconName":1795,"to":1799},"Skill — b24jssdk-frame-ui","https:\u002F\u002Fgithub.com\u002Fbitrix24\u002Fb24jssdk\u002Fblob\u002Fmain\u002Fskills\u002Fb24jssdk-frame-ui\u002FSKILL.md",{},{"title":161},{"title":461,"description":164},"pDIPEvMULjtJc1-SO2zXVBaPQ0EyTFSf_E7dZt5AzdQ",{"data":1805,"body":1806},{},{"type":1807,"children":1808},"root",[1809],{"type":1810,"tag":470,"props":1811,"children":1812},"element",{},[1813],{"type":1814,"value":164},"text",1783080224527]