Собственная CRM для заявок с сайта Yabeard
Связали форму контактов и калькулятор собственного сайта с CRM: контекст обращения, поиск, статусы, заметки и резервные копии перед изменением хранилища.
Внутренняя разработка Yabeard. Описание основано на исходном коде форм, калькулятора, API и CRM; показатели продаж и эксплуатационной надёжности не измерялись в рамках этого кейса.

Задача
Нужно было связать обращения с собственного сайта с ежедневной работой менеджера. Посетитель выбирает тип проекта, сроки и функции в калькуляторе, а затем отправляет заявку. Важно сохранить эти параметры вместе с контактами и сообщением, чтобы продолжить разговор с конкретной задачи. Для обработки обращений требовались общая очередь, поиск, понятные статусы и место для рабочих заметок.
Ограничения
- Очередь записи действует внутри одного процесса приложения. Многоролевая модель, назначение ответственных и отдельный журнал изменений не входят в текущую версию CRM.
Решение
Связали калькулятор с формой контактов: выбранные параметры подставляются в сообщение и передаются в CRM как структурированные данные. Форма и сервер используют общую схему проверки полей. Скрытое антиспам-поле и ограничение частоты запросов помогают отсеивать нежелательные обращения. API присваивает заявке идентификатор и сохраняет даты создания и обновления. При ошибке почтового провайдера обращение остаётся в CRM, а посетитель получает предупреждение. Записи хранятся в JSON: перед изменением создаётся резервная копия, затем временный файл заменяет основной. Вход по учётным данным и проверка сессии ограничивают доступ к списку и редактированию. Менеджер видит контакты, сообщение и параметры проекта в одной карточке, меняет статус и сохраняет заметку. Поиск, фильтры и счётчики помогают ориентироваться в очереди обращений.
Результаты
| Метрика | До | После | Изменение |
|---|---|---|---|
| Контекст обращения | Сравнение версий не проводилось | Тип проекта, сроки, оценка и функции в карточке | Подтверждено исходниками |
| Работа с заявками | Время обработки не измерялось | Поиск, фильтры, статусы и заметки | Реализованные функции |
| Изменение хранилища | Частота потерь не измерялась | Резервная копия перед записью | Предусмотрено в коде |
| Ошибка почтового провайдера | Доставляемость не измерялась | Сохранение заявки и предупреждение | Обработано в API |
Технологии
Артефакты
- Форма контактов с проверкой данных, подстановкой расчёта и понятными состояниями отправки, успешного сохранения и ошибки.
- API приёма заявок и файловое хранилище с последовательной записью и резервной копией предыдущей версии.
- CRM с поиском, фильтрами, карточкой обращения и статусами: новая, в работе, успешно, потеряно, архив.
- Редактируемая заметка менеджера, обновление списка, вход и выход из CRM, интеграция почтовых уведомлений через Resend.
Разборы по теме
Формы сайта и CRM: как доставлять заявки без потерь и дублей
Приём заявки, очередь доставки, повторные попытки и дедупликация: что проверить в интеграции сайта с CRM до запуска рекламы.
Техническое SEO сайта услуг: что исправлять и как измерять результат
Индексация, канонические адреса, страницы услуг и измерение заявок: практический план технического SEO без обещаний первых мест.