panfilov.digital panfilov.digital
React, TypeScript, NestJS, PostgreSQL, OpenAPI, Битрикс, 1С
ВЕСТ: личный кабинет покупателей с интеграцией в 1С

ВЕСТ: личный кабинет покупателей с интеграцией в 1С

О ПРОЕКТЕ

ВЕСТ продаёт стоматологические материалы. Для покупателей работа с магазином продолжается после оформления заказа: нужно следить за его состоянием, получать документы и управлять реквизитами для следующих покупок.

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

Список заказов на ноутбуке и карточка заказа на телефоне

ЗАДАЧА: СОБРАТЬ ОБСЛУЖИВАНИЕ ПОКУПАТЕЛЯ В ОДНОМ ИНТЕРФЕЙСЕ

Кабинет должен был объединить заказы, документы и данные покупателя, сохранив привычный вход через магазин. Для этого требовалось связать три разные сущности: пользователя сайта, его запись в кабинете и контрагента в 1С.

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

ПРИВЫЧНЫЙ ВХОД В ОТДЕЛЬНЫЙ СЕРВИС

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

В механизме проверки разделили два состояния — недействительную сессию и временную недоступность сервиса авторизации. Это позволяет обрабатывать сбой связи отдельно от необходимости войти в аккаунт.

Архитектура ВЕСТ: покупатель, торговый сайт на Битриксе, личный кабинет, 1С и менеджер

ЗАКАЗЫ: СВЯЗЬ МАГАЗИНА, КАБИНЕТА И 1С

Заказ проходит из магазина через кабинет в 1С. Для этого мы разработали API приёма заказов и очередь исходящей передачи. Обновления статусов кабинет получает из 1С по расписанию.

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

ДОКУМЕНТЫ И РЕКВИЗИТЫ РЯДОМ С ЗАКАЗОМ

В кабинете реализовали список документов по заказам и получение счёта в PDF. Готовность счёта зависит от данных и подтверждения со стороны 1С: документ появляется в контексте заказа, к которому относится.

Список счетов и УПД в кабинете ВЕСТ на мониторе

ПРОФИЛИ ЗАКАЗА

Для реквизитов предусмотрели профили заказа. Их можно создавать, редактировать и удалять; для связи с магазином подготовили обмен профилями. Это объединяет управление данными покупателя с обслуживанием его заказов.

ЕДИНЫЙ КОНТРАКТ ДЛЯ ИНТЕРФЕЙСА И API

Кабинет разрабатывали как самостоятельный продукт. Взаимодействие интерфейса и сервера описали в OpenAPI, а клиент для обращения к API генерируется из этого контракта. Так обе части приложения используют одно описание данных и операций.

Профили покупателей на ноутбуке и форма редактирования адресов на лежащем рядом телефоне

ПОДПИСКИ НА ПОСТУПЛЕНИЕ

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

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

Подписки на планшете и подтверждение отписки на телефоне

ЗАЯВЛЕНИЕ НА ВОЗВРАТ

Покупатель скачивает бланк, заполняет его и прикладывает заявление к заказу. Вместе с файлом можно оставить комментарий.

Заявление и комментарий сохраняются в кабинете. Отдельных статусов возврата здесь нет; дальнейшее проведение возврата выполняется отдельно в 1С.

Приложенное заявление и комментарий для менеджера в карточке заказа на телефоне

РЕЗУЛЬТАТ

Мы разработали отдельный покупательский сервис, в котором собраны заказы, документы, профили реквизитов, подписки и заявки на возврат. Реализовали сквозной вход через магазин и механизмы обмена с 1С.

Кабинет дополняет действующую торговую систему: покупательская часть развивается как самостоятельное приложение, связанное с магазином и учётом через согласованные интерфейсы обмена.

w-stom.ru

Технологии

React, TypeScript, Vite, Mantine, TanStack Query, NestJS, Prisma, PostgreSQL, OpenAPI, orval, Битрикс SSO, 1С, Docker

Услуга по этому проекту

B2B-порталы и личные кабинеты

Заказы, документы, профили покупателей и персональные условия. Кабинет для клиентов с интеграцией в магазин, 1С или CRM.

Следующий проект

MONNSHE: интернет-магазин лимитированных коллекций