Разработка B2B портала: архитектура, интеграции и перфоманс

B2B-портал — это рабочее место партнёра. В нём встречаются каталог, цены/остатки, заказы и логистика, сервисные заявки, документация и метрики. Качественная разработка b2b портала начинается с карты ролей и процессов: кто что видит, кто что может, где критический SLA, какие интеграции «тянут» данные. Ниже — практическая инструкция: архитектура (монолит/модульный/микросервисы), интеграции (ERP/CRM/EDS/платежи), перфоманс, безопасность и поддержка и сопровождение сайта. Сроки/стоимость разработки уточняйте по контактам на сайте.

1) Роли и сценарии

  • Партнёр/Клиент: просмотр/заказ, статусы, возвраты, финдокументы.
  • Менеджер: согласование цен/скидок, кредитные лимиты, спецусловия.
  • Склад/Логистика: резерв, комплектация, отгрузка, трекинг.
  • Финансы: счета/акты/КП, взаиморасчёты, дебиторка.
  • Админ: права, сегменты, прайс-листы, атрибуты каталога.

2) Архитектура: монолит, модульный, микросервисы

Выбор архитектуры — не религия, а функция от команд, интеграций и SLA. Для старта часто достаточно модульного монолита (единый деплой, чёткие границы модулей).Микросервисы в веб разработке оправданы при независимых доменах (каталог ≠ заказы ≠ отчёты) и автономных командах.

Быстрые ориентиры

  • Монолит: быстрее старт, сложнее масштабировать команды.
  • Модульный монолит: чёткие границы, один деплой, понятная сложность.
  • Микросервисы: независимость релизов, сложность операционки, контрактная дисциплина.

3) Доменная модель и каталог

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

  • Отдельные сущности: товар, SKU, упаковка, набор, услуга.
  • Цены: базовая, сегментная, спеццена; налоги/НДС; валюта.
  • Остатки/резервы: на складах; сроки годности/серии — по домену.
  • Поиск: полнотекст + фильтры по атрибутам; сохранённые запросы.

4) Интеграции: ERP, CRM, EDS, платежи, логистика

Портал редко хранит «истину». Цены и остатки — в ERP, статусы заказов — в OMS/WMS, документы — в ЭДО/EDS, сделки — в CRM, оплата — у PSP. Интеграции строим через BFF/шину: кэшируем справочники, обеспечиваем идемпотентность, вебхуки подписываем, таймауты контролируем.

Паттерны интеграций

  • BFF/Gateway: единая точка входа, нормализация ошибок, кеш.
  • Очереди и ретраи: write-операции никогда не «теряются».
  • Синхронизация прайс-листов/остатков — инкрементально.
  • Вебхуки EDS/CRM/логистики — с HMAC, idempotent handler.

5) Авторизация и права

Роли, отделы, юрлица, филиалы, лимиты — всё это влияет на видимость ассортимента и прав на операции. Нужна матрица разрешений (RBAC/ABAC) с наследованием и аудитом действий.

  • Многоаккаунтность: один пользователь — несколько компаний.
  • Лимиты на заказ/кредит; согласование скидок/спеццен.
  • Протоколирование: кто что сделал, когда и из какого контекста.

6) Перфоманс и UX

Большие таблицы и фильтры — типичный UX B2B. Важны сохранённые представления, быстрая пагинация, «массовые действия», импорт/экспорт, offline-режим для конфигураций. По метрикам целимся в LCP < 2.5 c, INP < 200–250 мс, стабильный CLS < 0.1.

  • Серверный рендер первого экрана, ленивые таблицы и агрегации.
  • Оптимистичные апдейты и отмена операций.
  • Экспорт длинных отчетов — асинхронно, с уведомлением.

7) Безопасность

  • Сессии — httpOnly/secure; MFA по роли; для API — короткие токены.
  • CSP/SRI, защита от XSS/CSRF; валидация схем всех интеграций.
  • Секреты — вне бандла; аудит доступа и событий, ретеншн логов.

8) Поддержка и сопровождение сайта

После запуска начинается главное — эксплуатация. Регламенты обновлений, бэкоф-стратегии, бюджеты перфоманса и наблюдаемость. Любая новая интеграция проходит «контрактные тесты» и бюджет бандла/метрик.

  • RUM и серверные метрики, алерты на деградации/ретраи.
  • Каталог интеграций и ключей, ротация и доступ по ролям.
  • План тестов перед релизом (регресс/доступность/нагрузка).

9) План внедрения (6–16 недель)

  1. Аудит процессов и ролей, карта домена, согласование SLA.
  2. Архитектура: модульный монолит или микросервисы; контракты.
  3. Каталог/цены/остатки, авторизация и базовые роли.
  4. Заказы/статусы, интеграции с ERP/CRM/логистикой.
  5. Отчёты/финансы/ЭДО; наблюдаемость и безопасность.
  6. Релиз по фичефлагам; обучение, регламенты поддержки.

10) Анти-паттерны

  • «Портал = сайт каталога» без ролей и прав.
  • Прямые запросы с фронта в ERP/CRM.
  • Никакой идемпотентности: двойные заказы и потерянные статусы.
  • Отсутствие наблюдаемости: SLA «на словах».

Итог: разработка b2b портала — это про процессы и архитектуру. Чёткие роли, модульная структура, интеграции через BFF/шину, дисциплина перфоманса и строгая поддержка и сопровождение сайта — основа устойчивого роста партнёрских продаж. Сроки/стоимость разработки уточняйте по контактам на сайте.