Собственная интеграция GetCourse и amoCRM
Связал заказы и оплаты в GetCourse с карточками покупателей в amoCRM. Интеграция обновляет этап сделки, сумму заказа и историю покупок, учитывает отмены и возвраты.
Моя работа: разработка интеграции, настройка правил обновления CRM, запуск на VPS и исправление ошибок синхронизации.
Задача
В школе продавались курсы и другие обучающие продукты через GetCourse, а с клиентами работали в amoCRM. Нужно было связать сделки с историей покупок: отличать неоплаченный заказ от покупки, показывать последнюю сумму заказа и все оплаты клиента отдельно.
Что сделал
Разработал интеграцию под правила школы. Настроил получение событий и регулярную сверку данных. Сервис работает на VPS, находит контакт и сделку в amoCRM, обновляет поля и добавляет примечания по заказам.
Процессы в GetCourse
Настроил отдельные процессы для создания заказа, частичной и полной оплаты, повторной частичной оплаты и отмены. Они отправляют вебхуки в собственный сервис интеграции, который обновляет данные в amoCRM.
Что меняется в CRM
| В GetCourse | В amoCRM |
|---|---|
| Создан заказ без оплаты | Для клиентов без покупок предусмотрен этап «Создан заказ». В сделке появляется примечание с информацией о заказе. |
| Получена оплата | Обновляются данные о покупках. Этап определяется по истории клиента: первая покупка и повторные заказы учитываются по-разному. |
| Клиент покупает снова | Сумма последнего заказа записывается в бюджет сделки. Общая сумма оплат — в отдельное поле LTV, чтобы не смешивать эти показатели. |
| Заказ отменён или деньги возвращены | Пересчитываются данные клиента с учётом статуса заказа и полученных денег. Если других покупок нет, действует отдельное правило закрытия сделки; покупателей с действующими покупками оно не затрагивает. |
Что пришлось исправить
Одновременная обработка событий могла создавать дубли сделок. Добавил защиту от повторного создания. Отдельно исправил дубли примечаний: amoCRM убирала начальный эмодзи, и сравнение текста считало уже записанное примечание новым.
Была и ошибка в определении листа ожидания: дата в названии продукта срабатывала как признак заявки. Исправил распознавание, чтобы обычный заказ не попадал в эту категорию.
Результат
Настроена передача данных из GetCourse в amoCRM: в карточках отражаются заказы, оплаты и история покупок, а изменения статусов обрабатываются по правилам школы.
Менеджеру доступны две разные суммы: текущего заказа и всех оплат клиента. Неоплаченные заказы выделены в отдельный этап, а по примечаниям можно проследить изменения заказа.