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