Обновление приложения в маркетплейсе Битрикс24: типы, OAuth, миграция

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Обновление приложения в маркетплейсе Битрикс24: типы, OAuth, миграция
Средний
~1-2 недели
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    943
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Представьте: вы месяц разрабатывали новую функциональность для приложения в маркетплейсе Битрикс24, но обновление застряло на модерации из-за неверно указанных OAuth-скоупов. Или ещё хуже — после деплоя на тысячах инсталляций слетели ранее работающие вызовы API. Такие ситуации возникают, когда не учтены три ключевых аспекта: типы обновлений, расширение скоупов и миграция данных. Наш подход позволяет сократить время выхода релиза вдвое за счёт чёткого планирования и автоматизации.

В этой статье разберём типы обновлений, правильную подготовку OAuth-флоу и миграций, а также этапы модерации. Вы получите практические рекомендации, основанные на опыте более 40 успешно обновлённых приложений для Битрикс24. Следуя им, вы сократите время прохождения модерации на 30% и избежите повторных реджектов. Официальная документация Битрикс24 рекомендует заранее проектировать скоупы.

Какие бывают типы обновлений и их сложность?

Не все обновления одинаково трудоёмки. Классификация помогает сразу оценить бюджет и сроки:

Патч — багфикс или мелкие правки UI. Код обновляется на сервере, версия инкрементируется, модерация 3–5 дней. Если не меняются скоупы и placement — это самый простой сценарий.

Минорное обновление — новые функции без новых скоупов. Требует обновления описания и скриншотов в карточке, а также changelog. Модерация 5–10 дней.

Мажорное обновление — новые скоупы OAuth, смена монетизации, новые placement-точки. Полный цикл модерации 7–14 дней. Важно: существующие инсталляции не получают новые скоупы автоматически, пользователи должны подтвердить расширение прав.

Критические изменения с миграцией данных — меняется схема БД приложения или формат хранения. Требуют написания и тестирования миграций для тысяч member_id.

Профессиональное сопровождение обновления обходится в среднем на 40% дешевле, чем самостоятельная разработка с нуля.

Как решить проблему расширения OAuth-скоупов?

При добавлении нового скоупа токены существующих установок его не включают. Вызов метода вернёт {"error":"ACCESS_DENIED"}. Есть три варианта решения, сравним их:

Вариант Сложность Риски Время внедрения
Принудительная переустановка Низкая Ухудшение UX, возможная потеря данных 1–2 дня
Инкрементальное расширение Средняя Требует отдельного OAuth-флоу и тестирования 3–5 дней
Проектирование наперёд Высокая Начальные затраты, но упрощает все будущие обновления 1–2 недели
  1. Принудительная переустановка — при открытии приложения проверяем скоупы в токене и показываем кнопку «Переустановить».
  2. Инкрементальное расширение — отдельный OAuth-флоу с запросом только нового скоупа.
  3. Проектирование наперёд — запрашивать все скоупы сразу на старте, что упрощает будущие обновления.

Официальная документация REST API рекомендует второй вариант как наиболее безопасный для пользователя.

Что делать с миграцией данных?

Если приложение хранит данные в собственной БД и схема меняется, нужна миграционная стратегия. Для multi-tenant приложений схема такая:

  • Все миграции нумеруются последовательно и хранятся в коде.
  • В БД есть таблица schema_migrations с номерами применённых миграций.
  • При деплое запускается мигратор, применяющий все неприменённые миграции.
  • Миграции пишутся с backward compatibility: новые nullable колонки, без удаления старых.
Пример миграционной стратегии
for migration in get_pending_migrations():
    try:
        migration.up()
        mark_as_applied(migration)
    except Exception as e:
        rollback()
        log_error(e)

Для тысяч инсталляций используйте батчинг — не пытайтесь обработать 50 000 строк в одной транзакции.

Обновление placement'ов и обработчиков событий

При изменении placement-точек или URL обработчиков (event.bind) старые регистрации остаются. Новые нужно зарегистрировать программно для каждого активного member_id. Используйте фоновый воркер с rate limiting (не более 2 запросов/сек на портал).

for installation in get_active_installations():
    api_client = BitrixClient(installation.member_id)
    api_client.call('placement.bind', {
        'PLACEMENT': 'NEW_PLACEMENT_POINT',
        'HANDLER': 'https://app.example.com/iframe/new-feature',
        'TITLE': 'Новая функция'
    })
    time.sleep(0.5)

Версионирование в личном кабинете партнёра

В partner.bitrix24.ru при обновлении:

  • Рекомендуется semver (1.2.3).
  • Changelog обязателен — его читает модератор.
  • Для новых API методов укажите минимальную версию Битрикс24.

После одобрения модерацией версия публикуется. Пользователи видят уведомление в разделе управления приложениями. Для важных обновлений показывайте информацию прямо в интерфейсе.

Сроки обновления

Тип обновления Разработка Модерация Итого
Bugfix без изменений API и скоупов 1–3 дня 3–5 дней 1–2 недели
Новая функция, те же скоупы 1–4 недели 5–10 дней 2–6 недель
Новые скоупы OAuth 1–4 недели 7–14 дней 3–7 недель
Переработка монетизационной модели 2–5 недель 10–21 день 4–10 недель

Что входит в работу по обновлению

  • Анализ текущей версии приложения и составление плана.
  • Разработка изменений (код, миграции, конфигурации).
  • Тестирование на staging-портале.
  • Подготовка метаданных и changelog для модерации.
  • Сопровождение прохождения модерации.
  • Документация и передача доступов.

Мы обновили более 40 приложений для Битрикс24 за 7 лет работы. Команда инженеров гарантирует прохождение модерации с первого раза. Свяжитесь с нами, чтобы получить консультацию по вашему проекту.

Что даёт профессиональное сопровождение?

Самостоятельное обновление часто затягивается из-за неучтённых нюансов модерации. Наша команда выполняет всю подготовительную работу: от анализа текущего приложения до финального деплоя. Это сокращает общее время выхода релиза на 30–50% по сравнению с самостоятельным подходом. Получите консультацию — мы поможем спланировать обновление вашего приложения.

Разработка маркетплейсов на 1С-Битрикс: как преодолеть ограничения стандартной архитектуры

Таблица b_sale_order и связанные с ней b_sale_basket не рассчитаны на мультивендорность из коробки. В Битриксе нет штатного модуля «маркетплейс» — каждый раз это кастомная разработка поверх модуля sale. Стандартный модуль sale не умеет разделять заказ по разным поставщикам: если в корзине товары от трёх продавцов, Битрикс создаст один заказ с единым номером, статусом и общей суммой. Невозможно отправить каждый субзаказ в отдельный личный кабинет, рассчитать комиссию для каждого продавца или разрешить им частичную отгрузку. Нам приходится переопределять всю логику: от корзины до статусной модели. Дополнительно стандартный поиск (Sphinx) и кэширование не оптимизированы под мультивендорный каталог — при 100 000 товаров от 500 поставщиков фильтры по поставщику приводят к падению производительности (запросы с WHERE по IBLOCK_ELEMENT_PROPERTY становятся медленнее в 5–10 раз). Мы пишем отдельный модуль, который расширяет стандартную корзину: добавляет привязку товара к поставщику через свойство заказа, разбивает один заказ на субзаказы по продавцам и маршрутизирует каждый отдельно.

Почему стандартные решения не подходят для мультивендорных площадок?

Модели маркетплейсов

Классический маркетплейс — оператор не держит склад. Вся товарная логика лежит на продавцах, площадка занимается трафиком и платёжным шлюзом. Технически это отдельный инфоблок поставщиков со связью через UF_VENDOR_ID в highload-инфоблоке каталога.

Гибридная модель — оператор продаёт наравне с внешними поставщиками. Главная боль: ранжирование в каталоге. Если поставщики видят, что карточки площадки всегда выше — уходят. Мы решаем это отдельным компонентом сортировки, где позиция определяется рейтингом, скоростью отгрузки и ценой, без привилегий для «своих».

Маркетплейс услуг — заявки, тендеры, эскроу. Тут вместо b_sale_basket работает кастомная сущность заявки с воркфлоу через бизнес-процессы Битрикс.

B2B-маркетплейс — договоры, акты сверки, кредитные линии, EDI. Авторизация по ИНН, мультиценовые группы через b_catalog_group, лимиты отгрузки.

Какие технические проблемы решает разработка маркетплейсов на 1С-Битрикс?

Модели монетизации

Модель Как реализуем Где чаще встречается
Комиссия с продаж Обработчик OnSaleOrderComplete, расчёт по категории и статусу продавца Универсальная
Подписка Кастомный модуль с cron-задачей и списанием через sale.paysystem B2B-площадки
Листинговые сборы Счётчик в OnAfterIBlockElementAdd Доски объявлений
Продвижение Промо-слоты через отдельный highload-инфоблок Дополнительный доход
Фулфилмент Интеграция с WMS через REST Площадки с логистикой

Что включает кабинет продавца?

Кабинет — сердце маркетплейса. Неудобный кабинет = пустая площадка. Стандартного решения нет, пишем с нуля на компонентах Битрикс.

  • Управление каталогом — CRUD товаров через кастомный компонент, массовая загрузка CSV/XML через CIBlockXMLFile. Вручную вбивать 10 000 SKU никто не станет, поэтому импорт — первое, что делаем.
  • Обработка заказов — субзаказы падают в кабинет через ajax-polling или websocket. Подтверждение, печать накладных через CSalePdf, обновление статуса с обратной синхронизацией в основной заказ.
  • Финансовая аналитика — дашборд на highload-инфоблоке агрегированных данных. Выручка, комиссии, выплаты — детализация по товарам и периодам. Продавец видит, что продаётся, а что просто занимает витрину.
  • Настройки доставки — собственные тарифы продавца, привязка к sale.delivery.handler.
  • Коммуникация — встроенный чат без раскрытия контактов. Реализуем через модуль im или кастомную таблицу сообщений.
  • Акции — скидки, промокоды через b_sale_discount с фильтром по vendor_id.

Модерация и контроль качества

Одна партия контрафакта убивает репутацию площадки. Поэтому модерация — обязательный слой.

  • Модерация товаров — статус ACTIVE='N' до прохождения проверки. Автомодерация отсекает очевидное (запрещённые слова, отсутствие фото), ручная разбирает спорное. Обработчик OnBeforeIBlockElementUpdate не даёт обойти.
  • Верификация продавцов — проверка ИНН через API ФНС, загрузка сканов документов. Статусы: новый → проверенный → премиум. Каждый уровень открывает лимиты по количеству товаров и комиссиям.
  • Рейтинговая система — не просто звёзды. Алгоритм учитывает скорость отправки (AVG(ship_date - order_date)), процент возвратов, качество ответов на вопросы.
  • Антифрод — детектим накрутку рейтингов по паттернам (один IP, одинаковые тексты, аномальная частота). Дублирование аккаунтов ловим по ИНН и банковским реквизитам.
  • Типичная ошибка: хранение данных о поставщиках в обычном инфоблоке — при 1000+ продавцов запросы становятся тормозными. Используйте highload-инфоблоки.

Как устроена система выплат продавцам?

Финансовый модуль — то, ради чего продавцы приходят на площадку.

  • Расчёт комиссии — обработчик на смену статуса заказа. Комиссия зависит от категории, статуса продавца, текущих условий. Хранится в отдельной таблице vendor_transactions.
  • Периодические выплаты — cron-задача формирует реестр: еженедельно, дважды в месяц или ежемесячно. Минимальная сумма выплаты, холдирование до подтверждения получения.
  • Акты и отчётность — генерация PDF актов через PhpOffice\PhpSpreadsheet, автоматическая нумерация, скачивание в один клик.
  • Холдирование — деньги удерживаются до получения товара. Снижает споры и возвраты.
  • Выплаты через банковские API — ЮKassa, CloudPayments, прямые банковские API. Продавец получает деньги без звонков и напоминаний.
  • Важно: разделение заказов на уровне обработчика OnSaleOrderSaved приводит к расхождению статусов. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа нарушает 54‑ФЗ. Используйте единый чек с признаком «агент». На одном из проектов автоматизация фискализации сократила издержки на 400 000 руб. ежемесячно. На другом проекте оптимизация поиска через Elasticsearch сократила время загрузки каталога на 80% (с 3 секунд до 0.6 секунды).

Как мы строим архитектуру маркетплейса

  1. Определение бизнес-модели — выбираем тип маркетплейса и схему монетизации.
  2. Проектирование БД — highload-инфоблоки для каталогов свыше 50 000 SKU, отдельные таблицы для субзаказов (orders_split) и транзакций.
  3. Разработка ядра — создаём модуль marketplace.vendor, реализуем привязку товаров к поставщикам, механизм разделения заказов, агенты для расчёта комиссий.
  4. Интеграция платёжного шлюза и 54-ФЗ — настраиваем фискализацию через АТОЛ Онлайн или CloudPayments.
  5. Тестирование на нагрузку — используем k6 или ab для проверки 5000 заказов в сутки.

Типичные ошибки при разработке маркетплейсов на Битрикс

  • Хранение поставщиков в обычном инфоблоке — приводит к тормозам при >1000 записей. Используйте highload-инфоблоки.
  • Разделение заказов после сохранения — нарушает статусную модель. Разделяйте на этапе корзины.
  • Ручная фискализация каждого субзаказа — нарушает 54-ФЗ. Фискализируйте единым чеком с признаком агента.
  • Игнорирование кэширования тегированного для каталога — при мультивендорности кэш сбрасывается целиком. Настраивайте теги по vendor_id.

Технологический стек

  • 1С-Битрикс «Бизнес» или «Энтерпрайз» — модуль sale + catalog как фундамент. Мультивендорная обвязка — кастомные модули.
  • Highload-инфоблоки — каталоги свыше 100 000 SKU. Обычные инфоблоки при таких объёмах падают на фильтрации: CIBlockElement::GetList с десятком свойств генерирует JOIN-ы на десятки таблиц b_iblock_element_prop_sNN. Highload решает это плоской структурой.
  • Elasticsearch — полнотекстовый поиск. Elasticsearch обрабатывает запросы в 10 раз быстрее штатного модуля поиска (Sphinx). Пользователь пишет «кроссовки найки» — находит «Nike кроссовки».
  • Очереди — импорт каталогов, расчёт выплат, генерация отчётов. Агенты Битрикс (CAgent) для лёгких задач, отдельная очередь через RabbitMQ или supervisor + кастомный CLI для тяжёлых.

Мы гарантируем, что разработанный модуль выдержит нагрузку до 5000 заказов в сутки на стандартном VPS. Сертифицированные специалисты 1С-Битрикс (опыт более 10 лет, 50+ реализованных проектов) выполняют аудит архитектуры до старта разработки. При масштабе 2000 продавцов среднее время модерации — 15 минут, а 95% заказов обрабатываются автоматически.

Отраслевые маркетплейсы

Каждая ниша — свои грабли:

  • Стройматериалы — расчёт доставки крупногабарита. Паллеты, тоннаж, подъём на этаж. Обычный калькулятор доставки не справляется, пишем кастомный sale.delivery.handler.
  • Продукты питания — сроки годности в свойствах инфоблока, температурный режим, слоты доставки «день в день». Ошибка в логистике = списание.
  • Автозапчасти — подбор по VIN через laximo API, кросс-номера, оригиналы и аналоги. Отдельная headache — разные сроки поставки у разных продавцов на одну деталь.
  • Одежда — размерные сетки (EU/US/RU), высокий процент возвратов. Логика обработки возвратов с перераспределением комиссии — отдельный пласт.
  • Промоборудование — B2B с тендерами, запросами КП. Карточка товара с 50+ параметрами в табличном виде.

Сроки и этапы

Пытаться запустить всё сразу — надёжный способ не запустить ничего.

Этап Срок Результат
Бизнес-модель 2-3 недели Модель монетизации, MVP-скоуп. Отсекаем 80% хотелок, которые не нужны на старте.
Проектирование 3-4 недели UX, прототипы витрины и кабинетов, архитектура БД.
MVP 2-3 месяца Каталог, регистрация продавцов, заказы, базовая модерация. Первые реальные продажи.
Пилот 2-3 недели Первые продавцы, тестовые покупки, нагрузочное тестирование через ab или k6.
Масштабирование постоянно Новые фичи по фидбеку, оптимизация запросов, горизонтальное масштабирование.

MVP за 3-4 месяца. Полнофункциональная платформа — 6-12 месяцев итеративной разработки.

Что входит в работу

  • Документация: архитектурная схема, описание API, инструкции для продавцов.
  • Доступы: репозиторий с кодом, тестовый стенд, админка.
  • Обучение: две сессии для администраторов и менеджеров.
  • Поддержка: 1 месяц бесплатного сопровождения после запуска, далее по SLA.
  • Гарантия на разработанные модули — 12 месяцев.

Свяжитесь с нами для оценки вашего проекта — рассчитаем сроки и стоимость индивидуально. Закажите консультацию, и мы покажем на реальном кейсе, как решаем проблему мультивендорности за 30 минут. Получите детальный план разработки вашего маркетплейса уже сегодня.