БонусБесплатный первый месяц абонентской поддержки при заказе разработки «под ключ»

Мобильное приложение B2B-портала на Битрикс

Мобильное приложение B2B-портала на 1С-Битрикс: повторный заказ, каталог с ценами, статусы и push на экране смартфона

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

Хорошая новость: чтобы запустить такое приложение, не нужно строить второй бизнес-бэкенд. Оно работает поверх вашего же портала на 1С-Битрикс — через REST API берёт каталог, персональные цены, остатки, корзину и заказы. Ниже — практический разбор: какие сценарии закрывать в первую очередь, как выбрать между PWA и нативом, как связать приложение с ценами контрагента и статусами заказа, и как всё это реализуется на платформе. Это выжимка из наших проектов по разработке B2B-порталов на 1С-Битрикс — без общих слов, с конкретикой по модулям и API.

Коротко

  • Главная ценность приложения для опта — быстрый повторный заказ: история, шаблоны закупок, добавление по артикулу и мгновенная корзина.
  • Каталог показывает персональные цены и остатки под договор конкретного контрагента, а не общий прайс.
  • Статусы заказов и push держат закупщика в курсе без звонков менеджеру: принят, собран, отгружен, готовы документы.
  • Бэкенд — тот же 1С-Битрикс: приложение работает через REST API, вся логика и обмен с 1С остаются в одном месте.
  • Стартовать чаще выгодно с PWA или гибрида, а нативное приложение добавлять там, где нужны офлайн, сканер и сторы.

Зачем оптовику мобильное приложение

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

Посмотрим, где именно приложение экономит время и повышает частоту заказов по сравнению с обычным мобильным сайтом:

Важно понимать: приложение не заменяет B2B-портал и не дублирует его бизнес-логику. Это самый удобный канал доступа к тому же порталу для рутинных операций. Всё, что связано со сложным подбором, договорами, крупными спецификациями и документами, по-прежнему живёт в полноценном личном кабинете. Про его устройство мы подробно писали в материале про личный кабинет дилера на 1С-Битрикс — приложение опирается ровно на ту же модель закрытого опта и повторных заказов.

Важно: не начинайте проект приложения с вопроса «нативное или PWA». Начните с вопроса «какие три рутинные операции закупщик делает чаще всего». В опте это почти всегда повторный заказ, проверка цены/остатка и контроль статуса отгрузки. Вокруг них и стройте первую версию, остальное добавляйте итерациями.

Сценарии закупщика: где приложение выигрывает у сайта

Чтобы приложение приносило пользу, а не пылилось на экране, оно должно закрывать конкретные повторяющиеся сценарии. Разберём типовые роли и их задачи — из них складывается набор экранов первой версии.

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

Снабженец компании. Работает по спецификациям, часто ищет позицию по артикулу или коду производителя. Ему важны быстрый поиск, точная цена по договору и наличие. Ключевой экран — каталог с фильтром и быстрым вводом артикула.

Менеджер клиента в разъездах. Оформляет заказы за нескольких клиентов, проверяет статусы отгрузок, отвечает на вопрос «когда приедет». Ключевой экран — список заказов со статусами и уведомления.

Руководитель закупок. Заказы делает редко, но контролирует условия: изменения цен, доступный лимит, задолженность. Ключевой экран — сводка и push об изменениях.

РольГлавная задачаКлючевой экран приложения
Закупщик точкиПовторить регулярную закупкуИстория заказов и шаблоны
СнабженецНайти позицию, свериться с ценой и наличиемКаталог, поиск по артикулу
Менеджер в разъездахКонтроль статусов, заказ за клиентаСписок заказов, статусы, push
Руководитель закупокСледить за ценами и лимитомСводка, уведомления об изменениях

Вывод из этой таблицы простой: 80% ценности приложения дают три-четыре экрана. Не пытайтесь в первой версии перенести в мобильный формат весь портал. Соберите повторный заказ, каталог с персональной ценой и статусы — и вы закроете основную массу обращений закупщиков. Остальное дорастёт по мере обратной связи.

Быстрый повторный заказ в пару касаний

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

Механика «Повторить заказ» на бэкенде проста: приложение запрашивает состав прошлого заказа, а сервер на стороне Битрикса пересобирает корзину с актуальными ценами и остатками. Здесь важен один нюанс, о котором часто забывают: цены и наличие с момента прошлой закупки могли измениться. Приложение обязано пересчитать корзину по текущему прайсу контрагента и честно показать, что позиции A нет в наличии, а позиция B подорожала. Иначе закупщик оформит заказ на старых условиях и получит расхождение при отгрузке.

Повторный заказ за четыре касания История заказов выбрать прошлый Повторить весь состав Пересчёт цены и остатки по договору Отправить в 1 касание
Схема: закупщик открывает историю, жмёт «Повторить», приложение пересобирает корзину по актуальному прайсу контрагента и отправляет заказ.
Совет: сделайте «Повторить заказ» доступным прямо с главного экрана и из push-уведомления. Чем меньше шагов от намерения до отправленной корзины, тем выше частота повторных закупок — а именно она формирует оборот в опте.

Каталог с персональными ценами и остатками

В B2B нет единой «цены с полки». У каждого контрагента свой прайс: скидка по договору, специальные условия на группы товаров, ценовая категория. Мобильное приложение обязано показывать именно ту цену, которая положена вошедшему пользователю, — иначе оно бесполезно для оформления заказа и опасно с точки зрения конфиденциальности условий.

Принцип работы такой: после входа приложение получает токен, привязанный к профилю и его контрагенту. Каждый запрос цены и остатка проходит через этот токен, а 1С-Битрикс на своей стороне определяет ценовую категорию клиента и возвращает персональный прайс. Цены никогда не отдаются анонимно и не кэшируются «на всех». Так закупщик видит свои условия, а условия соседнего дилера остаются недоступны.

Что должно быть в мобильном каталоге для опта, помимо цены:

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

Один товар — цена по договору контрагента Артикул A-1001 каталог Битрикс Дилер «Альфа» Ценовая кат. 2 2 190 ₽ Сеть «Бета» Спец-договор −12% 1 930 ₽ Розница «Гамма» Ценовая кат. 1 2 450 ₽
Схема: приложение по токену определяет контрагента и его ценовую категорию, поэтому один и тот же артикул показывает разную цену разным клиентам.

Статусы заказов и push-уведомления

Второй по важности сценарий после повторного заказа — контроль. Оптовику мало отправить заказ, ему нужно знать, что с ним происходит: приняли ли, собрали ли, отгрузили ли, готовы ли документы. Без приложения этот контроль превращается в звонки менеджеру «а где мой заказ», которые нагружают отдел продаж и раздражают обе стороны. Приложение снимает эту нагрузку двумя связанными инструментами: наглядной цепочкой статусов и push-уведомлениями о её изменениях.

Цепочка статусов. В приложении заказ показан не как строчка «в работе», а как понятная лента этапов с датами: принят → подтверждён → собирается → отгружен → доставлен → закрыт. Каждый этап соответствует статусу заказа в 1С-Битрикс, а даты подтягиваются из истории смены статусов. Закупщик в любой момент видит, на каком шаге его закупка и когда ждать поставку.

Push об изменениях. Как только статус меняется на стороне портала, приложение получает уведомление. Это работает и наоборот: важные события, инициированные поставщиком, — новый прайс, поступление ожидаемого товара, готовность закрывающих документов — тоже приходят push. Ключевое правило: уведомления должны быть полезными и настраиваемыми, иначе пользователь отключит их в системе, и канал будет потерян навсегда.

Событие в 1С-БитриксЧто видит закупщикPush
Заказ принятЭтап «Принят», номер и суммаДа, подтверждение
Заказ собранЭтап «Собирается» → «Готов к отгрузке»Да
ОтгруженЭтап «Отгружен», трек/накладнаяДа, с деталями
Готовы документыКнопка скачать УПД/счётДа
Изменилась цена в прайсеОтметка в каталогеОпционально, по подписке
Поступил ожидаемый товар«В наличии» в избранномОпционально, по подписке

Обратите внимание на колонку push: обязательные уведомления касаются заказа самого пользователя, а маркетинговые (цены, поступления) — только по явной подписке. Это разделение защищает канал от превращения в спам и сохраняет доверие к уведомлениям.

Архитектура: приложение поверх B2B-портала

Главная концептуальная ошибка — думать о приложении как о «втором сайте» со своей базой и логикой. Правильная модель: приложение это тонкий клиент, а весь мозг остаётся в 1С-Битрикс. Каталог, цены, скидки контрагентов, корзина, заказы, статусы, обмен с 1С — всё это уже живёт на портале. Приложение только отображает эти данные в удобном мобильном виде и отправляет обратно действия пользователя.

Такая архитектура даёт несколько важных преимуществ:

Между приложением и порталом стоит API-слой — набор REST-эндпоинтов, которые отдают данные в формате, удобном мобильному клиенту. Ниже — как связаны компоненты в такой архитектуре.

Мобильное приложение (iOS / Android / PWA) каталог · корзина · заказы · push REST API — токен, персональные цены, статусы JSON поверх HTTPS Ядро 1С-Битрикс Торговый каталог · цены контрагентов Заказы · статусы · права доступа 1С / учётная система
Схема: приложение обращается к REST API, тот берёт данные из ядра 1С-Битрикс, а ядро синхронизируется с учётной системой 1С. Вся логика остаётся на портале.

Нативное, PWA или гибрид: что выбрать

Вопрос технологии обычно возникает первым, хотя правильно решать его после сценариев. Тем не менее выбор реальный и влияет на сроки, бюджет и возможности. Разберём три подхода без идеологии.

PWA (прогрессивное веб-приложение). По сути, это мобильный сайт портала, который умеет ставиться на домашний экран, работать офлайн через сервис-воркер и присылать push. Плюсы: переиспользует вёрстку портала, одна кодовая база, обновляется без ревью в сторах, быстрый и дешёвый старт. Минусы: ограниченный доступ к системным функциям, push на iOS появились относительно недавно и с оговорками, нет присутствия в App Store и Google Play.

Нативное приложение. Отдельные приложения под iOS и Android на «родных» технологиях. Плюсы: максимальная скорость и плавность, полноценные фоновые push, надёжный офлайн, доступ к камере и сканеру штрихкодов, место в сторах как канал доверия. Минусы: две кодовые базы (или кросс-платформенный фреймворк), дороже в разработке и поддержке, релизы проходят через ревью магазинов.

Гибрид. Веб-приложение, упакованное в нативную оболочку. Компромисс: одна кодовая база на вебе, но с доступом к части нативных функций и присутствием в сторах. Подходит, когда нужны сторы и push, но не требуется предельная нативная производительность.

КритерийPWAГибридНативное
Скорость старта проектаВысокаяСредняяНиже
Стоимость и поддержкаНизкаяСредняяВыше
Push-уведомленияЕсть, с оговорками на iOSПолноценныеПолноценные
Офлайн-режимБазовыйХорошийМаксимальный
Сканер штрихкодов, камераОграниченноДаДа
Присутствие в сторахНетДаДа

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

Важно: присутствие в App Store и Google Play для B2B — это в первую очередь канал доверия и удобства установки, а не источник трафика. Оптовик не ищет вашего поставщика в поиске по сторам — вы сами приводите его в приложение. Поэтому отсутствие приложения в сторах на старте (случай чистой PWA) редко является блокирующим ограничением.

REST API 1С-Битрикс как бэкенд приложения

Технической основой связки «приложение — портал» служит REST API. 1С-Битрикс предоставляет механизм REST через модуль веб-сервисов и приложения (в том числе локальные), а также позволяет писать собственные эндпоинты в составе решения. Для мобильного клиента обычно проектируют выделенный набор методов, заточенных под экраны приложения, чтобы не тянуть на телефон лишние данные.

Минимальный набор методов, который закрывает базовые сценарии опта:

Проектируя API, держите в голове особенности мобильного клиента. Ответы должны быть компактными: не отдавайте всю карточку товара там, где нужен список из названия, цены и остатка. Пагинация обязательна — оптовый каталог нельзя выгружать одним запросом. Версионируйте API, чтобы обновление приложения на части устройств не ломало совместимость. И обязательно закладывайте кэширование на стороне сервера для тяжёлых выборок каталога, иначе REST-слой станет узким местом под нагрузкой.

Отдельно стоит сказать про безопасность транспорта: весь обмен идёт только по HTTPS, токены имеют ограниченный срок жизни и обновляются, а чувствительные операции (оформление заказа, доступ к документам) дополнительно проверяют права на стороне ядра. Приложение не должно доверять само себе — финальное слово по ценам, доступности товаров и правам всегда за сервером Битрикса.

Авторизация и привязка к контрагенту

В опте авторизация — это не просто «войти по паролю». За каждым пользователем стоит контрагент с договором, ценовой категорией, лимитом и персональным ассортиментом. Приложение должно надёжно связать вошедшего человека с этим контрагентом, потому что от связки зависят и цены, и доступный каталог, и права на действия.

Как обычно устроена авторизация в мобильном B2B-приложении:

  1. Первый вход. Пользователь вводит логин и пароль от личного кабинета портала или получает одноразовый код на телефон/почту. Приложение обменивает их на пару токенов.
  2. Привязка к профилю. Токен несёт идентификатор пользователя, а сервер по нему определяет контрагента, договор и ценовую категорию. Все дальнейшие запросы уже персональны.
  3. Хранение сессии. Токены хранятся в защищённом хранилище устройства, вход не нужно повторять при каждом открытии. Для чувствительных действий можно требовать биометрию.
  4. Обновление токена. Короткоживущий токен доступа периодически обновляется по токену обновления без повторного ввода пароля.
  5. Выход и отзыв. При выходе или потере устройства токен отзывается на сервере, и доступ к персональным ценам закрывается.

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

Офлайн-режим и синхронизация корзины

Оптовый закупщик часто работает там, где связь нестабильна: склад с толстыми стенами, подвальное помещение магазина, дорога между точками. Если приложение в офлайне превращается в белый экран, им перестают пользоваться в самый нужный момент. Поэтому продуманный офлайн-режим — не роскошь, а требование для B2B.

Разумный объём офлайн-функций для оптового приложения:

Ключевое правило синхронизации: сервер — источник истины. Локальная корзина это черновик намерений закупщика, а финальные цена, наличие и состав фиксируются только после синхронизации с порталом. Такой подход исключает ситуацию, когда клиент оформил заказ офлайн по старой цене и ждёт отгрузки на несуществующих условиях. Честный пересчёт при выходе в сеть сохраняет доверие и не создаёт конфликтов при отгрузке.

Совет: всегда показывайте в офлайне понятный индикатор «нет сети, цены могут быть неактуальны» и время последней синхронизации. Прозрачность состояния данных важнее, чем иллюзия, что всё работает как обычно. Закупщик должен понимать, чему доверять, а что проверить при выходе в сеть.

Как устроены push изнутри

Push-уведомления кажутся простой функцией, но за ними стоит цепочка из нескольких звеньев, и понимание этой цепочки помогает избежать типичных проблем «уведомления не приходят». Разберём путь push от события в 1С-Битрикс до экрана телефона.

  1. Регистрация устройства. При установке и входе приложение получает от системного сервиса (для Android и iOS это платформенные сервисы доставки) токен устройства и отправляет его на сервер Битрикса, привязывая к профилю пользователя.
  2. Событие на портале. В 1С-Битрикс срабатывает обработчик события — например, смена статуса заказа. Обработчик определяет, кому и о чём нужно сообщить.
  3. Постановка в очередь. Сервер формирует уведомление и ставит его в очередь отправки, чтобы не блокировать основной процесс и справляться с массовыми рассылками.
  4. Отправка через сервис доставки. Уведомление уходит в платформенный сервис push, который доставляет его на устройства по сохранённым токенам.
  5. Показ и переход. Приложение показывает уведомление и по касанию открывает нужный экран — конкретный заказ, обновлённый прайс, готовый документ.

Частые причины, по которым push не доходят: протух токен устройства (переустановка приложения, сброс), пользователь отозвал разрешение на уведомления в настройках системы, или обработчик события на портале не был вызван, потому что статус меняли в обход событий ядра (например, прямым обновлением в базе при обмене). Последний случай — прямой аналог проблемы рассинхрона, знакомой по другим механизмам Битрикса: если менять данные мимо событий, зависящие от них процессы об изменении не узнают. Поэтому смену статусов важно проводить штатными средствами, которые триггерят события.

И главное про содержание: push должны быть релевантными и дозированными. Уведомление о своём заказе почти всегда уместно. Массовые маркетинговые push без подписки быстро приводят к тому, что пользователь отключает уведомления на уровне системы — и вы теряете канал целиком, включая полезные оповещения о заказах. Разделяйте обязательные транзакционные и опциональные маркетинговые уведомления с самого начала.

Реализация в 1С-Битрикс пошагово

Соберём техническую часть в последовательность шагов. Предполагаем, что B2B-портал с личным кабинетом, персональными ценами и обменом с 1С уже работает — приложение надстраивается над ним.

  1. Подготовьте REST-слой. Подключите модуль веб-сервисов, спроектируйте набор эндпоинтов под экраны приложения (каталог, корзина, заказы, статусы, документы, push) и настройте выдачу персональных цен по токену контрагента.
  2. Настройте авторизацию и токены. Реализуйте вход по паролю или одноразовому коду, выдачу пары токенов доступа и обновления, привязку токена к пользователю, контрагенту и ценовой категории.
  3. Обеспечьте персональные цены и ассортимент. Убедитесь, что REST отдаёт цены по ценовой категории клиента и урезанный до его прав каталог — та же логика, что на портале, без дублирования правил.
  4. Реализуйте повторный заказ. Добавьте методы «получить состав заказа» и «пересобрать корзину по актуальному прайсу», а также сохранение шаблонов закупок.
  5. Свяжите статусы с событиями. На смену статуса заказа в Битриксе повесьте обработчик, который ставит задачу на push и обновляет ленту статусов в приложении.
  6. Подключите сервис push. Настройте регистрацию токенов устройств, очередь отправки и интеграцию с платформенными сервисами доставки уведомлений.
  7. Соберите клиент. Разработайте PWA/гибрид/нативное приложение с ключевыми экранами, кэшированием каталога и офлайн-корзиной.
  8. Настройте кэш и нагрузку. Закэшируйте тяжёлые выборки каталога на сервере, включите пагинацию, проверьте отклик REST под нагрузкой.
  9. Протестируйте на устройствах. Проверьте цены под разными контрагентами, повтор заказа, статусы, push и офлайн на реальных iOS и Android.
  10. Опубликуйте. Для PWA — настройте установку с портала; для гибрида/натива — подготовьте и проведите публикацию в App Store и Google Play.

Как это выглядит в админке и в приложении

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

Дилер «Альфа» Повторить заказ от 14.09 · 32 позиции Артикул A-1001 2 190 ₽ · в наличии Заказ №4821 Отгружен Каталог поиск по артикулу push Заказ №4821 отгружен push Готовы документы (УПД) Цена по договору персональный прайс Остаток в наличии · кратность 6
Схема: на главном экране приложения закупщик сразу видит кнопку повтора заказа, персональную цену с остатком и статус отгрузки; push дублируют ключевые события.

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

Безопасность и разграничение доступа

Мобильное приложение работает с чувствительными данными: персональными ценами, договорными условиями, документами, историей закупок. Утечка этих данных или доступ одного контрагента к условиям другого — репутационный и коммерческий риск. Поэтому безопасность в B2B-приложении не опциональна.

Базовый контур защиты:

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

Метрики и эффект для опта

«Сделали приложение» — не результат. Результат — измеримое влияние на закупки. Чтобы понять, окупается ли мобильный канал, с самого начала заложите метрики и снимайте их регулярно.

МетрикаЧто показываетПочему важна для опта
Доля заказов из приложенияПроникновение мобильного каналаПоказывает, переходят ли клиенты на самообслуживание
Частота повторных заказовКак часто клиент возвращаетсяПрямо влияет на оборот в опте
Время от входа до отправки заказаСкорость оформленияМеньше трения — больше заказов
Доля повторных заказов через «Повторить»Востребованность ключевой функцииПроверяет главную гипотезу приложения
Обращений к менеджеру «где заказ»Нагрузку на отдел продажСтатусы и push должны её снижать
Открываемость pushЗдоровье канала уведомленийПадение — сигнал, что push стали спамом

Правильно внедрённое приложение даёт двойной эффект: растёт частота и скорость повторных заказов и одновременно падает нагрузка на менеджеров, потому что рутинные вопросы про статусы и цены закупщик решает сам. Визуально это выглядит как воронка, где приложение снимает трение на каждом шаге.

Путь от намерения до отправленного заказа Открыл Собрал Отправил Мобильный сайт Открыл Собрал Отправил Приложение
Схема: приложение снижает потери на каждом шаге воронки — сохранённый вход, повтор заказа и мгновенная корзина доводят до отправки больше закупщиков, чем мобильный сайт.

Частые ошибки при запуске приложения

Мини-FAQ. Обязательно ли публиковать приложение в App Store и Google Play? Нет. Для многих оптовых проектов достаточно PWA, которую клиент ставит с портала. Сторы добавляют, когда нужны полноценные фоновые push, сканер и присутствие в магазине как канал доверия.

Чек-лист внедрения

Сведём проект в практический список, по которому удобно принимать готовность приложения к запуску:

  1. Сценарии определены. Выделены три-четыре ключевые операции закупщика: повторный заказ, персональная цена и остаток, контроль статусов.
  2. Технология выбрана осознанно. Решено, стартуем с PWA, гибрида или натива, исходя из потребности в офлайне, сканере и сторах, а не «на всякий случай».
  3. REST-слой готов. Спроектированы компактные, версионированные, кэшируемые эндпоинты под экраны приложения.
  4. Авторизация связана с контрагентом. Токен несёт профиль, договор и ценовую категорию; поддержано переключение юрлиц.
  5. Персональные цены и ассортимент. Приложение показывает прайс по договору и урезанный до прав каталог, тем же правилам, что и портал.
  6. Повторный заказ работает. Есть история, шаблоны, добавление по артикулу и честный пересчёт корзины по актуальным ценам и остаткам.
  7. Статусы и push настроены. Смена статуса триггерит событие и уведомление; транзакционные и маркетинговые push разделены.
  8. Офлайн продуман. Кэш каталога, локальная корзина, отложенная отправка и честный пересчёт при выходе в сеть.
  9. Безопасность закрыта. HTTPS, короткие токены, проверка прав на сервере, изоляция контрагентов, очистка кэша при выходе.
  10. Метрики заведены. Считаются доля заказов из приложения, частота повторов, время оформления и открываемость push.

Вывод

Мобильное приложение B2B-портала на 1С-Битрикс — это не про моду, а про частоту и скорость повторных закупок. Оптовику нужны три вещи: повторить заказ в пару касаний, видеть свою цену и остаток, знать статус отгрузки без звонка менеджеру. Если приложение закрывает эти сценарии, оно работает поверх готового портала через REST API, показывает персональные цены по договору и держит закупщика в курсе через push — оно окупается ростом оборота и разгрузкой отдела продаж. Начните с PWA или гибрида вокруг трёх ключевых экранов, измеряйте эффект и наращивайте функции итерациями — так мобильный канал станет самым удобным способом покупать именно у вас.

Частые вопросы

Зачем оптовику отдельное мобильное приложение, если есть B2B-портал в браузере?

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

Нужно ли писать бэкенд с нуля или можно использовать существующий сайт на Битрикс?

Бэкенд писать с нуля не нужно. Мобильное приложение работает поверх того же 1С-Битрикс через REST API: каталог, персональные цены, остатки, корзина, заказы и их статусы отдаются штатным модулем и вашими REST-эндпоинтами. Приложение — это только клиент, который берёт данные из портала, поэтому бизнес-логика, скидки контрагента и обмен с 1С остаются в одном месте и не дублируются.

Что выбрать для B2B-приложения — нативное, PWA или гибрид?

Для большинства оптовых сценариев быстрее и дешевле стартовать с PWA или гибрида: они переиспользуют вёрстку портала и не требуют двух отдельных команд под iOS и Android. Нативное приложение оправдано, когда критичны надёжный офлайн, фоновые push от системы, сканер штрихкодов и место в App Store и Google Play как канал доверия. Часто разумный путь — начать с PWA, собрать спрос, а затем при необходимости завернуть его в гибридную оболочку и опубликовать в сторах.

Как в приложении показывать персональные цены и не открыть их чужим?

Персональные цены привязаны к контрагенту, а не к устройству. После входа приложение получает токен, который однозначно связан с профилем пользователя и его договором; все запросы цен и остатков проходят проверку прав на стороне Битрикса и возвращают именно тот прайс, который положен этому клиенту. Цены никогда не отдаются анонимно и не кэшируются в общем виде, поэтому один дилер не видит условия другого.

Как работают push-уведомления о статусах заказа?

Когда в 1С-Битрикс меняется статус заказа (принят, собран, отгружен, готовы документы), обработчик события ставит задачу на отправку push через сервис доставки уведомлений на устройства пользователя. Приложение заранее регистрирует токен устройства и привязывает его к профилю, поэтому уведомление приходит конкретному закупщику и открывает нужный экран заказа. Push можно настраивать по типам событий, чтобы не превращать полезные оповещения в спам.

Сколько времени занимает запуск мобильного приложения B2B-портала на Битрикс?

Срок зависит от того, есть ли уже работающий B2B-портал с личным кабинетом и REST-слоем. Если портал готов и обмен с 1С настроен, PWA-версию с повторным заказом, каталогом и статусами можно запустить за несколько недель. Полноценное нативное приложение с публикацией в сторах, офлайном и push занимает больше времени за счёт цикла ревью в App Store и Google Play и тестирования на разных устройствах.

Поделиться:

Нужно мобильное приложение для оптовых клиентов?

Спроектируем B2B-портал с персональными ценами и повторными заказами, надстроим REST-слой и запустим мобильное приложение с каталогом, статусами и push. Рассчитаем стоимость под ваши сценарии закупок.

Услуга «B2B-портал»

Игорь Воскресенский

Основатель студии B2Bsite. С 2014 года команда разрабатывает и поддерживает интернет-магазины, B2B-порталы и мобильные приложения на 1С-Битрикс, настраивает закрытый опт, персональные цены и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога