Не портфолио скриншотов, а разбор решений
Здесь нет «сделали красиво». Есть задача, инженерные решения и компромиссы, которые за ними стоят. Если после прочтения вы поймёте, как я мыслю, — мы уже сэкономили время друг другу.
ДЛ Коннект — интеграция «Деловых Линий» с inSales и amoCRM
SaaS-сервис для интернет-магазинов и отделов продаж: расчёт стоимости доставки, оформление заявок и синхронизация статусов «Деловых Линий» — прямо в привычном интерфейсе. Сейчас открыт набор первых пользователей: сервис обкатывается в реальных рабочих процессах.
Посмотреть вживую
Версия для inSales — receptly.ru →
Версия для amoCRM — amo.dev.receptly.ru →
Задача
Компании, которые возят «Деловыми Линиями», день за днём гоняют один и тот же ручной цикл: менеджер открывает заказ, копирует адрес в личный кабинет перевозчика, заполняет десятки полей, возвращается — а позже снова заходит проверить статус, потому что клиент уже спрашивает «где мой груз?». Каждое действие — мелочь, но из этих мелочей складываются потерянные часы, ошибки в габаритах и забытые статусы. Проблема не в людях — в процессе.
Цель была не «написать ещё одну интеграцию», а построить систему, после установки которой сотрудники перестают замечать, что где-то существует API перевозчика: вся работа происходит там, где менеджер и так проводит день. И подключается это за один вечер по инструкции — без программиста на стороне клиента.
Архитектура: один движок, два фронта
Самым быстрым вариантом было написать две отдельные интеграции — одну для inSales, вторую для amoCRM. Через несколько месяцев это превратилось бы в две кодовые базы, две разные логики и двойную стоимость поддержки.
Вместо этого вся бизнес-логика живёт в едином серверном ядре, а платформы подключаются к нему как тонкие клиенты: модуль в админке inSales и AMD-виджет в карточке сделки amoCRM с OAuth2-авторизацией. Новая функция, добавленная в ядро, автоматически появляется во всех интеграциях — и там же одинаково чинится, если что-то идёт не так.
Инженерные решения — и зачем каждое
Проверка подписи вебхуков. Сервис принимает только запросы, действительно отправленные платформой, — подделать входящее событие снаружи нельзя.
Кэширование API-сессий с инвалидацией. Меньше обращений к API перевозчика, быстрее ответ пользователю; при этом протухшая сессия сбрасывается и пересоздаётся автоматически, незаметно для менеджера.
Rate limiting. Ошибка чужой интеграции или циклический запрос не способны положить сервис.
CSP-заголовки. Даже случайно попавший на страницу сторонний скрипт не выполнится — страховка от XSS.
Собственная VPS-инфраструктура. Полный контроль над окружением, без зависимости от чужих платформ и их тарифных сюрпризов.
Каждое решение здесь — не «так принято», а ответ на конкретный способ, которым системы ломаются в реальной эксплуатации.
Инженерия
- Бэкенд на PHP 8.4, MariaDB
- Единое ядро для всех платформ
- Модуль inSales + виджет amoCRM
- Деплой и администрирование VPS
Продукт
- Лендинг для прямых продаж
- Гайд по настройке
- Аналитика Matomo (self-hosted)
- UX админ-панели настроек
Право
- Соответствие 152-ФЗ
- Политика обработки ПДн
- Уведомление Роскомнадзора
- Self-hosted шрифты и скрипты
Три колонки выше — обычно три разные команды. Здесь это один человек: от первой строки кода до юридического оформления.
Что получает компания после подключения
Менеджеры оформляют перевозки, не выходя из CRM или админки магазина. Статусы подтягиваются автоматически, ручное копирование исчезает вместе с ошибками, которые оно порождало. Новому сотруднику не нужно изучать личный кабинет перевозчика — он работает в интерфейсе, который и так знает.
Хотите проверить это на своих процессах одним из первых — напишите: первым пользователям достаётся моё максимальное внимание к их сценарию работы.
Я не продаю часы разработки. Я проектирую системы, которые должны работать годами: сначала разбираюсь в процессе, затем предлагаю архитектуру — и только после этого пишу код. Если задачу можно решить без сложной разработки, скажу об этом сразу.
Ваш проект — следующий кейс
Если ваши сотрудники ежедневно копируют данные между системами — этот процесс, скорее всего, можно автоматизировать. Опишите задачу в двух-трёх предложениях: изучу процесс, предложу решение, честно скажу, стоит ли вообще его автоматизировать, и дам ориентир по срокам и бюджету.