Обновление приложения в маркетплейсе Битрикс24

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Обновление приложения в маркетплейсе Битрикс24
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1167
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    563
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    743
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Обновление приложения в маркетплейсе Битрикс24

Обновление опубликованного приложения — не просто деплой новой версии кода. Это процесс с несколькими зависимыми этапами: обновление кода на сервере, обновление метаданных в личном кабинете партнёра, прохождение повторной модерации, а иногда — миграция данных всех установленных инсталляций. Недооценка этого процесса приводит к ситуации, когда новая функциональность готова, но до пользователей доходит через месяц.

Типы обновлений и их сложность

Не все обновления одинаково трудоёмки. Важно сразу классифицировать, что именно меняется:

Патч (bugfix, мелкие правки UI) — код обновляется на сервере, в личном кабинете партнёра инкрементируется номер версии, модерация проходит за 3–5 дней. Если не меняются скоупы, placement-точки и монетизация — это самый простой сценарий.

Минорное обновление (новые функции, не требующие новых скоупов) — код + описание в карточке маркетплейса + скриншоты. Модерация 5–10 дней. Нужно обновить changelog версии в карточке приложения — проверяющий читает его при ревью.

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

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

Проблема расширения OAuth-скоупов

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

Варианты решения:

  1. Принудительная переустановка. При открытии приложения проверяем список скоупов в текущем токене (scope поле в ответе app.info). Если нужный скоуп отсутствует — показываем UI с объяснением и кнопкой «Переустановить приложение».

  2. Инкрементальное расширение. Дополнительный OAuth-флоу с запросом только нового скоупа. Пользователь нажимает кнопку в приложении → редирект на OAuth-страницу Битрикс24 → confirm → новый токен сохраняется.

  3. Проектирование наперёд. При первоначальной разработке запрашивать все скоупы, которые могут понадобиться в будущих версиях. Лишние скоупы — риск на этапе модерации, но лучше проговорить их назначение в описании.

Миграции данных при обновлении

Если приложение хранит данные в собственной БД и схема меняется — нужна миграционная стратегия.

Схема, которая работает для multi-tenant приложения:

  1. Все миграции нумеруются последовательно и хранятся в коде
  2. В БД есть таблица schema_migrations с номерами применённых миграций
  3. При деплое запускается мигратор: применяет все непримененные миграции
  4. Миграции пишутся с backward compatibility — новые nullable колонки, не удаление старых

Специфика multi-tenant: если миграция изменяет структуру данных конкретной инсталляции (например, конвертирует формат хранения), нужна поэтапная миграция с батчингом — не пытайтесь обработать сразу 50 000 строк в одной транзакции.

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

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

Подход: при обновлении версии запускается job, который для каждого активного member_id вызывает соответствующие методы регистрации. Это делается в фоновом воркере с rate limiting (не более 2 запросов/сек на портал).

# Псевдокод обновления placements для всех инсталляций
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)  # Rate limit

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

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

  • Номер версии: рекомендуется semver (1.2.3), но технически это просто строка
  • Описание изменений версии (changelog): заполнять обязательно — это читает модератор
  • Минимальная версия Битрикс24: если новая функция требует API методов, появившихся в конкретной версии Б24, указать это ограничение

После одобрения модерацией новая версия публикуется. Пользователи, у которых уже установлено приложение, не получают уведомление об обновлении автоматически — уведомление о новой версии появляется только в интерфейсе Битрикс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 недель