IT и Разработка Реализован в июле 2026

Двусторонняя интеграция amoCRM и торговой платформы ABCP для магазина автозапчастей: статусы возвратов в обе стороны, сделки едут по воронке сами. Node.js, TypeScript, Express

Двусторонняя интеграция amoCRM и торговой платформы ABCP для магазина автозапчастей: статусы возвратов в обе стороны, сделки едут по воронке сами. Node.js, TypeScript, Express

Интернет-магазин автозапчастей: продажи идут через платформу ABCP, а возвраты ведутся в amoCRM. Пока связи не было, менеджер переставлял статусы руками в двух окнах, а изменения в ABCP сделка не видела: статусы расходились, сделки зависали, автоматизация воронки не срабатывала.

Задача в два этапа. Первый: поле в сделке меняет статус позиции заказа в ABCP. Второй: любое изменение статуса в ABCP само приходит в сделку и переводит её на нужный этап. У ABCP нет вебхуков, в тарифе amoCRM нет триггера на изменение поля, а это боевой продакшн с тысячами сделок, где нельзя дублировать, откатывать или терять события.

Что сделано:
- сервис на Node.js и TypeScript (Express) под pm2: прямой канал по вебхукам amoCRM, обратный - опрос истории статусов ABCP каждые 5 минут;
- по каждой позиции хранится отпечаток последней обработанной записи: в сделку попадает только новое и только чужое, без циклов;
- защита от эха: собственная запись не возвращается обратно и не откатывает статус менеджера;
- устойчивость к API: очередь с лимитом запросов, повторы, деление «отравленных» пачек;
- соответствия статусов и этапов в трёх JSON-конфигах, правки без программиста и без перезапуска;
- деплой push в main => GitHub Actions => сервер с проверкой /health, включение обратного канала через режим DRY-RUN.

Результат: обе системы синхронны, менеджер работает в одном окне amoCRM. Около 5 000 сделок в воронке, около 800 позиций под наблюдением, ни одного дубля, отката или потерянного события за время работы.

Стек: Node.js, TypeScript, Express, amoCRM API v4, ABCP API, pm2, GitHub Actions.

Мхитар Манасян
Мхитар Манасян
Эксперт Гильдии · № 24 в Рейтинге России
12

Публикуйте свои проекты в Гильдии

Проект в профиле участника — это подтверждённая работа рядом с компетенциями и рейтингом, а не просто картинка в портфолио.