Админка сайта Navix

В проде

Сайт, который наполняется из CRM сам

  • Next.js
  • PostgreSQL
  • Prisma
  • Docker
  • API CRM
Админка сайта Navix

Результат. Технику заводят один раз — в CRM. Карточка на сайте и заявка в CRM появляются сами.

Сайт Navix мы перенесли с конструктора на свой движок (отдельный кейс), а CRM компании сделали сами (ещё один). Эта работа — о том, что между ними: админка сайта и связка, благодаря которой сайт и CRM работают как одна система, а не как две базы, которые кто-то сверяет руками.

Что это даёт компании

  • Технику заводят один раз — в CRM. Менеджеру не нужно знать, как устроен сайт: отправил

позицию из каталога CRM — на сайте появилась карточка.

  • Витрина не отстаёт от CRM. Повторная отправка обновляет цену и характеристики, поэтому

на сайте не висит старая цена.

  • У каждой заявки есть источник. В CRM видно, какая кампания привела клиента, — бюджет

на рекламу можно считать по заявкам, а не по кликам.

  • Маржа не покидает CRM. Сайт получает только то, что и так будет на публичной странице.
  • Работа маркетолога не пропадает. Его фотографии и дописанные строки характеристик

переживают любую повторную отправку из CRM.

  • О поломке узнают раньше клиентов. Сайт, CRM и хранилище роликов под присмотром:

упало — через несколько минут сообщение в Telegram.

  • Ролики — свои. Обзор техники загружается файлом прямо из админки и живёт на своём

сервере, а не у видеохостинга.

Что приходит из CRM на сайт

Менеджер отправляет технику из каталога CRM — через несколько секунд на сайте готовая карточка:

  • название, цена, характеристики (марка, модель, год, двигатель, состояние) и раздел каталога;

квадроцикл BRP попадает сразу в два раздела — «BRP» и «Квадроциклы»;

  • фотографии переезжают на сайт и ужимаются: снимки по 9 МБ становятся лёгкими WebP,

и карточка быстро открывается на телефоне;

  • в админке — кнопка «Обновить из CRM» с отчётом: что вышло на сайт, что осталось черновиком

и почему.

Карточка без фотографии на сайт не выходит — это правило заказчика. Держит его сервер, а не только погашенная кнопка: обойти его из устаревшей вкладки нельзя.

Что уходит с сайта в CRM

Каждая заявка — с формы раздела, всплывающего окна или расчёта доставки — попадает в воронку CRM вместе с рекламным источником: метками кампании и идентификаторами Яндекс.Директа и Google Ads. Источник не теряется, даже если человек пришёл по объявлению на главную, а заявку оставил через несколько дней на карточке техники. Параллельно менеджеру приходит сообщение в Telegram; если Telegram недоступен, сайт повторяет отправку ещё два часа.

Что не уходит из CRM

Наружу отдаётся только техника, город и цена для клиента. Себестоимость, наценка, клиенты и менеджеры остаются в CRM. Данные сайт забирает сам, по своему ключу, — CRM лишь сообщает, что есть обновление. Так сайт не складывает в свою базу то, что ему прислали по сети.

Админка

  • Страницы собираются из блоков: порядок, показ, тексты, ролики и фотографии. Изменения видны

в предпросмотре сразу, а текст можно править прямо на картинке страницы.

  • У каждого поля — предел длины со счётчиком: длинный заголовок не разъедет вёрстку.
  • Каталог, статьи, ставки доставки, контакты и соцсети — отдельными разделами. После каждого

сохранения человек видит, чем оно кончилось.

Сторож: сообщение в Telegram, если что-то сломалось

Каждые две минуты сторож открывает сайт и CRM и проверяет не только то, что сервер ответил, но и что в ответе есть сама страница: сайт умеет ответить «всё хорошо» пустым экраном, если сборка не прошла. Раз в сутки он же смотрит срок сертификата и место на диске — две поломки, которые приходят без предупреждения и в самый неудобный момент.

  • Сообщение — на смену состояния. Упало — одно сообщение, поднялось — одно

«снова работает». При получасовой аварии в группу не прилетит пятнадцать одинаковых тревог, и следующую настоящую не пропустят.

  • Тревога — со второй неудачи подряд. Разовый обрыв связи не будит людей ночью.
  • Два сервера смотрят друг на друга. Сторож на той же машине промолчит, если умрёт

она сама. Поэтому сервер в Алматы проверяет сайт и CRM снаружи, а сервер сайта — Алматы. Упадёт любой из двух — второй об этом скажет.

Проверили настоящей аварией: остановили хранилище роликов — через 4 минуты в группе тревога, после запуска — «снова работает».

Свои ролики: на своём сервере, а не на видеохостинге

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

  • Не на сервере сайта и CRM. Ролик — десятки и сотни мегабайт: он занимал бы общий диск,

раздувал ежедневные резервные копии, а каждый просмотр отнимал бы канал у CRM, где работают менеджеры.

  • Не на Google Диске. Прямой ссылки на файл там нет, при частых просмотрах доступ

закрывают на сутки, а из России он работает с перебоями.

  • Файл идёт из браузера прямо в хранилище, минуя сайт. Сайт выписывает только пропуск

на 30 минут с пределом размера; хранилище сверяет подпись, принимает только MP4 и не даёт записать поверх чужого файла.

  • Перед загрузкой ролик проигрывается в браузере маркетолога. Видео с iPhone бывает

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

  • Посетитель качает только то, что смотрит. До нажатия — картинка-превью, после —

видео кусками по мере просмотра. Страница с отзывами не тяжелеет от роликов, которые никто не включил.

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

Что это даёт в поиске

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

Как это выглядит

Техника из CRM: машины, уже доставленные клиентам, с ценой и городом — карточку заводят одной кнопкой
Техника из CRM: машины, уже доставленные клиентам, с ценой и городом — карточку заводят одной кнопкой
Карточка техники: у каждого поля предел длины со счётчиком, характеристики — строками
Карточка техники: у каждого поля предел длины со счётчиком, характеристики — строками
Редактор страницы: слева живой предпросмотр, текст правится прямо на нём; справа — как страница выглядит в поиске
Редактор страницы: слева живой предпросмотр, текст правится прямо на нём; справа — как страница выглядит в поиске

Другие проекты

Morris Deluxe

Сайт логистической компании: перевозки внутри Китая и доставка из Китая

Подробнее

Есть похожая задача?

Расскажите в двух словах — ответим, сколько это стоит и сколько займёт.