Headless Bitrix: свой JSON API на ядре D7 для SPA и мобильного приложения
Соберите API, который не стыдно отдать фронтендеру и мобильному разработчику: роутинг и тонкие контроллеры, единый контракт ответа, сессия для браузера и Bearer для телефона, CORS, кэш, realtime и OpenAPI. На штатном ядре, без api.php в корне и без правок /bitrix/.
Оплатить участие можно сразу или записаться и оплатить позже — до 9 ноября.
Ведущий
Техлид, архитектор и автор BXMax
Техлид и архитектор сложных проектов на Битриксе: highload-каталоги, интеграции, DevOps-пайплайны
и код-ревью команд. Создатель BXMax, Omut и открытого пака bitrix-framework-skills.
Слово «headless» в ТЗ обычно заканчивается файлом api.php в корне сайта: первый JSON готов за час,
а через полгода никто не помнит, где проверяются права и почему ошибка приходит с кодом 200.
На воркшопе мы соберём API, в котором на эти вопросы отвечает архитектура, а не память команды.
Инструменты
Чему вы научитесь
Свой /api/v1 на штатном ядре
Маршруты в /local/routes, тонкие контроллеры, сервисы и репозитории с DI, единый конверт ответа и каталог кодов ошибок, на который фронт может опереться.
Чтение и запись, которым не страшен чужой ввод
ORM инфоблоков и HL-блоков, белые списки сортировки и фильтров, валидация Request DTO, честные HTTP-статусы, загрузка файлов и выборка без N+1.
Браузер, телефон и интеграторы на одних действиях
Сессия с CSRF для SPA, отзываемые Bearer-токены для мобилки, защита от IDOR, CORS по белому списку и вторая поверхность через модуль rest и REST v3.
От работающего кода к сдаче заказчику
Кэш с самосбросом по событиям данных, фоновые задачи, Pull-сигналы, OpenAPI, который сверяется с кодом, тесты контракта и лимит запросов на логин.
Кому подойдёт
Для кого и что нужно заранее
Для кого
- Bitrix-разработчики, которые писали компоненты и ajax.php, но не собирали API для внешнего фронта
- Fullstack- и фронтенд-лиды, которым нужен предсказуемый JSON-контракт от Битрикса
- Техлиды, которым нужен эталонный API-модуль для код-ревью и онбординга команды
Требования
- PHP 8.2+ на уровне ООП, базовые инфоблоки и опыт работы с /local/
- Omut или локальный Битрикс с main 25.900+ для домашних заданий
- curl или Postman: проверять API будем из терминала и коллекции запросов
Программа
Программа занятий
-
Модуль 1 9 ноября, 20:00
Каркас: два «REST» и свой API на роутинге ядра
Чем свой /api/v1 отличается от модуля rest. Модуль через make:*, маршруты в /local/routes, тонкий контроллер, сервис и репозиторий с DI. Контракт ответа: конверт AjaxJson и почему форматы в одном API не смешивают.
-
Модуль 2 11 ноября, 20:00
Чтение: данные из инфоблока без утечек
ORM инфоблока по API_CODE, маппер как граница между схемой базы и контрактом, деталка и каталог кодов ошибок, PageNavigation и белые списки сортировки и фильтров.
-
Модуль 3 16 ноября, 20:00
Запись: JSON-тело, валидация и полный CRUD
Почему $_POST пуст, CSRF, который ядро дописывает само, Request DTO с атрибутами и честный 400, PATCH против PUT, DELETE и единая обработка ошибок.
-
Модуль 4 18 ноября, 20:00
Связанные данные и файлы
N+1 и batch-выборка комментариев из HL-блока, вложенность по ?include=, загрузка файла с проверкой по содержимому и абсолютные URL медиа для SPA и мобилки.
-
Модуль 5 23 ноября, 20:00
Авторизация: браузер и мобильное приложение
Аутентификация против авторизации и IDOR. Сессия с CSRF для SPA, отзываемые Bearer-токены для мобилки и два фильтра, которые пускают обоих клиентов в одни действия.
-
Модуль 6 25 ноября, 20:00
Чужие клиенты: CORS и интеграторы
Preflight и белый список origin, SPA с другого домена вживую. Вторая поверхность через модуль rest: restIntegration, фильтр Scope и REST v3 поверх тех же сервисов.
-
Модуль 7 30 ноября, 20:00
Нагрузка и realtime
Тегированный кэш с самосбросом и ключ, который не путает страницы. Фоновые задачи после ответа и где они не годятся. Pull-сигналы для открытых вкладок без данных в payload.
-
Модуль 8 2 декабря, 20:00
В прод: OpenAPI, тесты, лимиты
Спецификация, которая сверяется с кодом, тесты контракта, лимит запросов на логин и чек-лист выкладки. Финал — разбор готового API и ответы на вопросы.
Запись
Что включено
- 8 живых занятий по 2 часа, по понедельникам и средам
- Записи всех занятий — остаются у вас навсегда
- Готовый код к каждому занятию: снапшоты модуля от первого endpoint до итогового API
- Код-ревью домашних заданий лично от автора
- Доступ в закрытый чат выпускников
- Omut Pro на год — среда разработки, в которой мы работаем на занятиях
Подписчики BXMax платят меньше: −10% на уровне «Клуб BXMax», −20% на уровне «Максимум».
Можно записаться и оплатить позже, но место закрепляется только оплатой. Крайний срок оплаты — 9 ноября 2026.
Оплатить участие можно сразу или записаться и оплатить позже — до 9 ноября.