41 KiB
ЛОГИКА СИСТЕМЫ SFERA V - УПРАВЛЕНИЕ БИЗНЕСОМ
ВНИМАНИЕ: Данный файл содержит критически важную информацию о логике работы системы. Любые изменения в этом файле должны производиться только с разрешения владельца проекта. Файл служит эталонным источником для понимания архитектуры и бизнес-процессов системы.
1. ОБЩАЯ АРХИТЕКТУРА СИСТЕМЫ
1.1 Концепция платформы
Sfera V - это многопользовательская B2B платформа для управления цепочками поставок, объединяющая различные типы бизнеса:
- Селлеры (продавцы на маркетплейсах)
- Фулфилмент-центры (склады и логистика)
- Поставщики (оптовые поставщики товаров)
- Логистические компании (доставка товаров)
1.2 Технологический стек
- Frontend: Next.js 15, React 18, TypeScript
- Backend: GraphQL API, Apollo Server
- База данных: PostgreSQL с Prisma ORM
- UI: TailwindCSS, Shadcn/ui компоненты
- Файловое хранилище: AWS S3
- Внешние API: Wildberries, Ozon, DaData, SMS Aero
2. ТИПЫ ОРГАНИЗАЦИЙ И КАБИНЕТЫ
2.1 Типы организаций (OrganizationType)
SELLER - Селлер (продавец на маркетплейсах)
FULFILLMENT - Фулфилмент-центр
LOGIST - Логистическая компания
WHOLESALE - Поставщик (оптовик)
2.2 Структура кабинетов
2.2.1 Админ-кабинет
- Назначение: Управление системой
- Функции:
- UI Kit (демонстрация компонентов)
- Управление пользователями
- Управление категориями товаров
- Системная аналитика
2.2.2 Кабинет Селлера
- Назначение: Продажи на маркетплейсах
- Модули:
- Мои поставки (управление заказами)
- Склад WB (интеграция с Wildberries)
- Статистика продаж
- Интеграции: Wildberries API, Ozon API
2.2.3 Кабинет Фулфилмента
- Назначение: Склады и обработка товаров
- Модули:
- Входящие поставки
- Управление складом
- Услуги фулфилмента
- Сотрудники
- Статистика операций
2.2.4 Кабинет Логистики
- Назначение: Транспортные услуги
- Модули:
- Заявки на перевозки
- Управление маршрутами
2.2.5 Кабинет Поставщика
- Назначение: Оптовые продажи
- Модули:
- Каталог товаров
- Отгрузки
- Управление складом
2.3 Общие модули (доступны всем кабинетам)
- Мессенджер: Коммуникации между участниками
- Партнёры: Управление контрагентами
- Настройки: Профиль организации, API ключи
3. ОСНОВНОЙ БИЗНЕС-ПРОЦЕСС ПОСТАВКИ
3.1 Схема процесса
Селлер → Маркет → Поставщик → Фулфилмент → Логистика → Селлер
3.2 Детальные этапы процесса
Этап 1: Создание заявки селлером
- Вход в маркет: Селлер заходит в раздел "Маркет"
- Выбор категории: Выбор нужной категории товаров
- Выбор товара: Выбор конкретного продукта из каталога
- Указание количества: Определение необходимого объема
- Выбор услуг: Выбор услуг фулфилмента и / или расходников фулфилмента и / или расходников селлера
- Создание заявки: Формирование заявки на поставку
Этап 2: Обработка заявки системой
- Сохранение у селлера: Заявка появляется в "Мои поставки" → "Все" → "Товар" и "Товар"
- Дублирование поставщику: Заявка автоматически отправляется поставщику
Этап 3: Одобрение поставщиком
- Рассмотрение заявки: Поставщик видит заявку в разделе "Заявки"
- Одобрение: Поставщик одобряет или отклоняет заявку
- Обновление статуса: Статус меняется у всех участников
Этап 4: Логистика
- Подготовка к отгрузке: Поставщик готовит товар к отправке
- Создание заявки в фулфилмент: Заявка появляется в кабинете фулфилмента
- Запрос логистики: Заявка передается в логистическую компанию
- Подтверждение логистикой: Логист подтверждает возможность доставки
- Физическая доставка: Транспортировка товара на фулфилмент
Этап 5: Обработка на фулфилменте
- Приемка товара: Менеджер фулфилмента принимает груз
- Ввод данных хранения: Указание места хранения, статус "Принято"
- Перенос в подготовку: Товар переходит в раздел "Подготовка"
- Обновление места хранения: Указание нового места хранения
- Перенос в работу: Товар переходит в подраздел "В работе"
- Контроль качества: Проверка количества и качества товара
- Завершение работ: При нажатии "Выполнено" товар переходит в "Выполнено"
Этап 6: Завершение
- Обновление статуса у селлера: Селлер получает уведомление о готовности товара
4. ПРОЦЕСС СОЗДАНИЯ ПОСТАВКИ РАСХОДНИКОВ ФУЛФИЛМЕНТА
4.1 Описание процесса
Фулфилмент-центры могут заказывать расходные материалы для своих операций напрямую у поставщиков. Этот процесс отличается от основного бизнес-процесса тем, что фулфилмент выступает как заказчик, а не как исполнитель услуг.
ВАЖНОЕ РАЗЛИЧИЕ: Расходники фулфилмента - это материалы, которые фулфилмент-центр заказывает для своих внутренних операций (упаковка, хранение, обработка товаров). Они отличаются от расходников селлера, которые селлер заказывает для своих товаров.
4.2 Участники процесса
- Фулфилмент-центр - заказчик расходников
- Поставщик (WHOLESALE) - поставщик расходных материалов
- Логистическая компания (LOGIST) - доставка товаров от поставщика к фулфилменту
- Система - автоматическая обработка заказов
4.3 Этапы процесса создания поставки расходников фулфилмента
Этап 1: Инициация заказа фулфилментом
- Переход к созданию заказа: Фулфилмент заходит в раздел "Входящие поставки" → "Расходники фулфилмента" → "Создать поставку"
- Выбор поставщика: Выбор контрагента с типом "WHOLESALE" из списка партнеров
- Поиск поставщика: Возможность поиска по названию, полному названию или ИНН
- Просмотр каталога: Просмотр товаров выбранного поставщика
Этап 2: Формирование заказа
- Поиск товаров: Поиск нужных расходников в каталоге поставщика
- Выбор количества: Указание необходимого количества для каждого товара
- Добавление в корзину: Товары добавляются в список выбранных расходников фулфилмента
- Выбор логистики: Выбор партнера-логиста для доставки товаров от поставщика
- Расчет стоимости: Автоматический расчет общей суммы заказа
- Указание даты доставки: Выбор желаемой даты поставки
Этап 3: Создание заказа в системе
- Валидация данных: Проверка заполнения всех обязательных полей
- Создание SupplyOrder: Система создает запись заказа поставки со статусом "PENDING"
- Указание получателя: fulfillmentCenterId устанавливается как ID текущего фулфилмента
- Указание логистики: logisticsPartnerId устанавливается как ID выбранной логистической компании
- Создание позиций заказа: Создание SupplyOrderItem для каждого выбранного товара
Этап 4: Автоматическая обработка системой
- Создание расходников: Система автоматически создает записи Supply со статусом "planned"
- Установка параметров:
- Статус: "planned" (запланировано, ожидает одобрения)
- Категория: из товара или "Расходники"
- Минимальный остаток: 10% от заказанного количества
- Текущий остаток: 0 (товар еще не поступил)
- Привязка к организации: Расходники создаются в организации фулфилмента
- Отправка уведомления: Поставщик получает уведомление о новом заказе
Этап 5: Обработка поставщиком
- Получение заявки: Заказ появляется в кабинете поставщика в разделе "Заявки"
- Рассмотрение заказа: Поставщик может принять или отклонить заказ
- Изменение статуса: При принятии статус SupplyOrder меняется на "CONFIRMED" (подтвержден поставщиком)
- Уведомление логистики: После одобрения поставщиком заявка появляется в кабинете логистической компании
Этап 6: Обработка логистикой
- Получение заявки: Заказ появляется в кабинете логистики в разделе "Заявки"
- Рассмотрение заявки: Логистическая компания может подтвердить или отклонить заявку на доставку
- Подтверждение логистики: При принятии логистика подтверждает возможность доставки в указанные сроки
- Обновление расходников: Supply переходят в статус "confirmed" (ожидает отгрузки)
- Подготовка к отгрузке: Поставщик готовит товар к отправке
Этап 7: Доставка и приемка
- Отгрузка товара: Поставщик отправляет товар логистической компании
- Обновление статуса расходников: Supply переходят в статус "in-transit" (в пути)
- Транспортировка: Логистическая компания доставляет товар в фулфилмент-центр
- Статус "IN_TRANSIT": Заказ переходит в статус "в пути"
- Приемка на фулфилменте: Менеджер фулфилмента принимает товар
- Обновление остатков: currentStock обновляется на фактически полученное количество
- Статус "DELIVERED": Заказ завершается со статусом "доставлен"
- Обновление расходников: Supply переходят в статус "in-stock" (на складе)
4.4 Особенности процесса
4.4.1 Отличия от основного процесса
- Прямое взаимодействие: Фулфилмент напрямую заказывает у поставщика
- Самостоятельная приемка: Фулфилмент принимает товар на свой склад
- Управление остатками: Автоматическое управление минимальными остатками
- Без посредников: Логистика может быть внешней или встроенной
4.4.2 Типы расходников
- Упаковочные материалы: Коробки, пакеты, скотч
- Защитные материалы: Пупырчатая пленка, стрейч-пленка
- Маркировочные материалы: Этикетки, стикеры, маркеры
- Инструменты: Ножи, степлеры, весы
- Расходные материалы: Батарейки, картриджи, канцелярия
4.4.3 Автоматизация
- Автоматический расчет минимальных остатков: 10% от заказанного количества
- Уведомления: Автоматические уведомления всем участникам процесса
- Обновление данных: Синхронизация статусов между всеми системами
- Отчетность: Автоматическое обновление складских отчетов
4.5 Интеграция с основной системой
- Единая база контрагентов: Использование общего справочника партнеров
- Общие товары: Поставщики управляют единым каталогом товаров
- Единая система уведомлений: Общий мессенджер для коммуникаций
- Общая отчетность: Интеграция с общей системой аналитики
5. МОДЕЛЬ ДАННЫХ
5.1 Основные сущности
5.1.1 Organization (Организация)
- id: String (CUID)
- inn: String (уникальный)
- type: OrganizationType
- name, fullName: String
- address, addressFull: String
- apiKeys: ApiKey[]
- employees: Employee[]
- products: Product[]
- services: Service[]
5.1.2 Product (Товар)
- id: String (CUID)
- name: String
- article: String
- price: Decimal
- quantity: Int
- type: ProductType (PRODUCT/CONSUMABLE)
- categoryId: String
- organizationId: String
- images: Json
5.1.3 Supply (Поставка)
- id: String (CUID)
- name: String
- price: Decimal
- quantity: Int
- status: String (planned/in-transit/delivered/in-stock)
- organizationId: String
5.1.4 SupplyOrder (Заказ поставки)
- id: String (CUID)
- partnerId: String
- status: SupplyOrderStatus
- totalAmount: Decimal
- deliveryDate: DateTime
- items: SupplyOrderItem[]
5.2 Статусы заказов
PENDING - Ожидает подтверждения
CONFIRMED - Подтвержден
IN_TRANSIT - В пути
DELIVERED - Доставлен
CANCELLED - Отменен
5. ПРОЦЕССЫ СОЗДАНИЯ ПОСТАВОК СЕЛЛЕРАМИ
5.1 Описание процессов
Селлеры имеют несколько способов создания поставок в зависимости от источника товаров и типа поставки.
5.2 Типы поставок селлеров
5.2.1 Поставка через карточки товаров
Процесс: Селлер → Мои поставки → Создать поставку → Карточки
- Выбор типа: Селлер выбирает "Карточки" как источник товаров
- Интеграция с WB: Система загружает карточки товаров из Wildberries API
- Выбор товаров: Селлер выбирает нужные карточки из своего каталога WB
- Настройка количества: Указание количества для каждой карточки
- Выбор услуг: Выбор услуг фулфилмента и расходников
- Выбор фулфилмента: Выбор фулфилмент-центра для обработки
- Указание даты: Установка даты поставки
- Создание поставки: Формирование WildberriesSupply в системе
5.2.2 Поставка через поставщиков
Процесс: Селлер → Мои поставки → Создать поставку → Поставщик
- Выбор типа: Селлер выбирает "Поставщик" как источник товаров
- Выбор поставщика: Выбор из списка контрагентов типа WHOLESALE
- Просмотр каталога: Просмотр товаров выбранного поставщика
- Выбор товаров: Добавление товаров в корзину с указанием количества
- Выбор фулфилмента: Выбор фулфилмент-центра для доставки
- Создание заказа: Формирование SupplyOrder через основной процесс
5.2.3 Поставка расходников селлера
Процесс: Селлер → Расходники → Создать поставку
- Выбор поставщика: Выбор поставщика расходников (WHOLESALE)
- Выбор расходников: Выбор необходимых расходных материалов для селлера
- Выбор фулфилмента: Обязательный выбор фулфилмент-центра для доставки
- Создание заказа: Формирование SupplyOrder с типом CONSUMABLE
Важно: Расходники селлера отличаются от расходников фулфилмента назначением и получателем. Расходники селлера заказываются селлером для своих товаров, но доставляются в фулфилмент-центр.
5.3 Особенности процессов селлера
5.3.1 Прямое создание поставки
- DirectSupplyCreation: Создание поставки с выбранными товарами
- Расчет стоимости: Автоматический расчет общей стоимости товаров и услуг
- Валидация: Проверка наличия всех обязательных полей
- Интеграция: Сохранение данных в WildberriesSupply и WildberriesSupplyCard
5.3.2 Управление объемами и весом
- Расчет объема: Автоматический расчет объема товаров для логистики
- Количество мест: Определение количества грузовых мест
- Стоимость услуг: Расчет стоимости услуг фулфилмента и логистики
6. ПРОЦЕССЫ УПРАВЛЕНИЯ ПАРТНЕРАМИ
6.1 Описание системы партнерства
Система партнерства позволяет организациям находить друг друга, отправлять заявки на сотрудничество и управлять контрагентами.
6.2 Процесс поиска партнеров
6.2.1 Поиск в маркете
- Переход в маркет: Организация заходит в раздел "Маркет"
- Выбор типа партнера: Выбор вкладки (Фулфилмент, Селлеры, Логистика, Поставщики)
- Поиск организаций: Использование SEARCH_ORGANIZATIONS запроса
- Фильтрация: Поиск по названию, ИНН, адресу
- Просмотр карточек: Изучение информации о потенциальных партнерах
6.2.2 Отправка заявки на партнерство
- Выбор организации: Клик на карточку интересующей организации
- Отправка заявки: Нажатие кнопки "Отправить заявку"
- Добавление сообщения: Опциональное сообщение к заявке
- Создание запроса: Система создает CounterpartyRequest со статусом PENDING
- Уведомление: Получатель видит входящую заявку в разделе "Партнеры"
6.2.3 Обработка заявок
- Просмотр заявок: Заявки отображаются в разделе "Партнеры" → "Мои контрагенты"
- Принятие заявки: Изменение статуса на ACCEPTED, создание связи Counterparty
- Отклонение заявки: Изменение статуса на REJECTED
- Автоматическое обновление: Обновление списков во всех связанных компонентах
6.3 Управление контрагентами
6.3.1 Типы контрагентов
- FULFILLMENT: Фулфилмент-центры для обработки товаров
- SELLER: Селлеры для продажи товаров
- LOGIST: Логистические компании для доставки
- WHOLESALE: Поставщики товаров и расходников
6.3.2 Функции управления
- Просмотр списка: Все принятые контрагенты в одном разделе
- Поиск и фильтрация: Поиск по различным критериям
- Статусы заявок: Отслеживание входящих и исходящих заявок
- Интеграция с процессами: Использование контрагентов в поставках
7. ПРОЦЕССЫ УПРАВЛЕНИЯ СКЛАДАМИ
7.1 Типы складских систем
7.1.1 Собственный склад организации
Процесс: Склад → Управление товарами
- Создание товаров: Добавление новых товаров в каталог
- Редактирование: Изменение характеристик товаров
- Управление остатками: Отслеживание количества товаров
- Категоризация: Привязка к категориям товаров
- Медиафайлы: Загрузка изображений товаров
7.1.2 Склад Wildberries (для селлеров)
Процесс: Склад WB → Просмотр остатков
- Интеграция с WB API: Получение данных через Wildberries API
- Загрузка карточек: Получение всех карточек товаров селлера
- Получение аналитики: Индивидуальные запросы по каждому nmId
- Комбинирование данных: Объединение карточек с данными остатков
- Отображение складов: Группировка по складам WB
- Статистика: Расчет общих показателей по остаткам
7.1.3 Фулфилмент склады
Процесс: Фулфилмент → Склад → Управление
- Приемка товаров: Получение товаров от поставщиков
- Размещение: Указание места хранения товаров
- Обработка: Подготовка товаров к отправке
- Контроль качества: Проверка товаров на брак
- Отгрузка: Подготовка к отправке селлерам
7.2 Интеграция складских процессов
7.2.1 Синхронизация остатков
- Автоматическое обновление: Регулярная синхронизация с внешними API
- Кэширование: Сохранение данных для быстрого доступа
- Уведомления: Оповещения о критических остатках
7.2.2 Аналитика складов
- Статистика по товарам: Общее количество, остатки, резерв
- Статистика по складам: Активные склады, загруженность
- Товары в пути: Отслеживание товаров в доставке
8. ПРОЦЕССЫ УПРАВЛЕНИЯ СОТРУДНИКАМИ
8.1 Система управления персоналом
8.1.1 Добавление сотрудников
- Создание профиля: Ввод основных данных сотрудника
- Документы: Загрузка паспортных данных и фотографий
- Контакты: Указание телефонов, email, мессенджеров
- Должность и зарплата: Установка позиции и оплаты
- Экстренные контакты: Контакты на случай чрезвычайных ситуаций
8.1.2 Управление статусами
Статусы сотрудников:
- ACTIVE: Активно работает
- VACATION: В отпуске
- SICK: На больничном
- FIRED: Уволен
8.1.3 Система табельного учета
- Создание расписания: Планирование рабочих дней
- Отметка статусов: Ежедневная отметка статуса работы
- Типы дней:
- WORK: Рабочий день (8 часов)
- WEEKEND: Выходной (0 часов)
- VACATION: Отпуск (8 часов)
- SICK: Больничный (8 часов)
- ABSENT: Отсутствие (0 часов)
- Автоматический расчет: Подсчет отработанных часов
- Отчетность: Генерация табелей учета рабочего времени
8.2 Интеграция с бизнес-процессами
- Назначение ответственных: Привязка сотрудников к заказам и процессам
- Уведомления: Система уведомлений для сотрудников
- Права доступа: Разграничение доступа по ролям
9. ПРОЦЕССЫ ЛОГИСТИКИ
9.1 Управление перевозками
9.1.1 Создание маршрутов
- Планирование маршрута: Определение точек отправления и назначения
- Расчет параметров: Расстояние, время в пути, стоимость
- Назначение груза: Привязка конкретных товаров к маршруту
- Статусы маршрутов:
- planned: Запланировано
- in_transit: В пути
- delivered: Доставлено
- cancelled: Отменено
9.1.2 Отслеживание доставок
- Мониторинг статусов: Отслеживание текущего состояния доставок
- Уведомления: Автоматические уведомления об изменении статусов
- Аналитика: Статистика по доставкам и эффективности
- Интеграция: Связь с процессами фулфилмента и поставок
9.2 Типы логистических операций
- Доставка от поставщика к фулфилменту: Входящая логистика
- Доставка от фулфилмента к селлеру: Исходящая логистика
- Межскладские перемещения: Внутренняя логистика
- Возвраты: Обратная логистика
10. СИСТЕМА АУТЕНТИФИКАЦИИ
10.1 Процесс регистрации/входа
- Ввод телефона: Пользователь вводит номер телефона
- SMS-код: Система отправляет код подтверждения через SMS Aero
- Выбор типа кабинета: Пользователь выбирает тип организации
- Ввод ИНН: Для B2B пользователей обязательно указание ИНН
- Проверка через DaData: Автоматическое получение данных организации
- API ключи маркетплейсов: Для селлеров - настройка интеграций
- Подтверждение: Завершение регистрации
10.2 Типы аутентификации
- Пользователи: JWT токены, хранение в localStorage
- Админы: Отдельная система с админскими токенами
- API интеграции: Bearer токены для внешних сервисов
11. ВНЕШНИЕ ИНТЕГРАЦИИ
11.1 Wildberries API
- Назначение: Получение данных по складам и товарам
- Эндпоинты:
/ping
- проверка валидности ключа/api/v1/seller-info
- информация о продавце/api/v1/stocks
- остатки товаров/api/v1/warehouses
- список складов
11.2 Ozon API
- Назначение: Интеграция с маркетплейсом Ozon
- Аутентификация: API ключ + Client ID
11.3 DaData API
- Назначение: Получение информации об организациях по ИНН
- Данные: Реквизиты, адреса, статусы организаций
11.4 SMS Aero API
- Назначение: Отправка SMS для аутентификации
- Аутентификация: HTTP Basic Auth (email + API key)
11.5 AWS S3
- Назначение: Хранение файлов (изображения, документы, голосовые сообщения)
12. СИСТЕМА СООБЩЕНИЙ
12.1 Типы сообщений
TEXT - Текстовые сообщения
VOICE - Голосовые сообщения
IMAGE - Изображения
FILE - Файлы
12.2 Функциональность
- Чаты между организациями
- Прикрепление файлов
- Голосовые сообщения
- История переписки
13. УПРАВЛЕНИЕ СОТРУДНИКАМИ (СТАРОЕ)
13.1 Статусы сотрудников
ACTIVE - Активный
VACATION - В отпуске
SICK - На больничном
FIRED - Уволен
13.2 Система расписания
WORK - Рабочий день
WEEKEND - Выходной
VACATION - Отпуск
SICK - Больничный
ABSENT - Отсутствие
14. СИСТЕМА УСЛУГ И РАСХОДНИКОВ
14.1 Типы продуктов
PRODUCT - Основной товар
CONSUMABLE - Расходные материалы
ВАЖНОЕ ПРАВИЛО: В системе существуют два различных типа расходников:
- Расходники селлера - расходные материалы, которые заказывает селлер для своих нужд
- Расходники фулфилмента - расходные материалы, которые заказывает фулфилмент-центр для своих операций
Эти типы расходников имеют разные процессы заказа, разных получателей и разное назначение. В системе не должно быть просто "расходники" без указания принадлежности.
14.2 Услуги фулфилмента
- Приемка товара
- Хранение
- Упаковка
- Отгрузка
- Контроль качества
15. СИСТЕМА УВЕДОМЛЕНИЙ И СТАТУСОВ
15.1 Отслеживание изменений
- Все изменения статусов синхронизируются между кабинетами
- Участники процесса получают уведомления о важных событиях
- История изменений сохраняется для аудита
15.2 Критические точки процесса
- Одобрение заявки поставщиком
- Подтверждение логистикой
- Приемка товара на фулфилменте
- Завершение обработки товара
16. БЕЗОПАСНОСТЬ И ДОСТУПЫ
16.1 Разграничение доступа
- Каждый тип организации видит только свои разделы
- Общие модули (мессенджер, партнеры, настройки) доступны всем
- Админ имеет полный доступ к системе
16.2 Защита данных
- JWT токены с ограниченным временем жизни
- Валидация всех входящих данных
- Логирование критических операций
17. ИНИЦИАЛИЗАЦИЯ СИСТЕМЫ
17.1 Автоматическая настройка
При первом запуске система автоматически:
- Создает админа (admin/admin123)
- Инициализирует 20 базовых категорий товаров
- Настраивает базовую структуру БД
17.2 Команды управления
npm run db:seed # Инициализация БД
npm run db:reset # Полный сброс БД
npm run postinstall # Генерация Prisma Client
18. ОСОБЕННОСТИ РЕАЛИЗАЦИИ
18.1 Адаптивность
- Система поддерживает различные размеры экранов
- Мобильная версия для основных функций
- Прогрессивные веб-приложения (PWA) возможности
18.2 Производительность
- Кэширование данных маркетплейсов
- Оптимизированные GraphQL запросы
- Ленивая загрузка компонентов
18.3 Масштабируемость
- Модульная архитектура
- Возможность добавления новых типов организаций
- Расширяемая система интеграций
19. КРИТИЧЕСКИ ВАЖНЫЕ МОМЕНТЫ
19.1 Синхронизация статусов
Система должна обеспечивать консистентность данных между всеми участниками процесса. При изменении статуса в одном кабинете, изменения должны отражаться во всех связанных кабинетах.
19.2 Обработка ошибок API
Все внешние интеграции должны иметь fallback механизмы и graceful degradation при недоступности внешних сервисов.
19.3 Аудит операций
Все критические операции (создание заказов, изменение статусов, финансовые операции) должны логироваться для возможности аудита.
19.4 Разделение типов расходников
КРИТИЧЕСКИ ВАЖНО: В системе должно быть четкое разделение между расходниками селлера и расходниками фулфилмента:
- Расходники селлера: Заказываются селлером, доставляются в фулфилмент-центр, используются для товаров селлера
- Расходники фулфилмента: Заказываются фулфилмент-центром, доставляются на склад фулфилмента, используются для внутренних операций фулфилмента
Недопустимо использование общего термина "расходники" без указания принадлежности. Это может привести к ошибкам в учете, доставке и использовании материалов.
ВНИМАНИЕ: Данная логика является основой для всех разработок в системе. Любые изменения в бизнес-процессах должны быть отражены в этом документе. Разработчики должны использовать этот документ как источник истины при реализации новых функций.
Документ создан: $(date) Версия системы: Sfera V Статус: ЗАЩИЩЕН ОТ ИЗМЕНЕНИЙ БЕЗ РАЗРЕШЕНИЯ