← Вернуться к каталогу
Кейс · Школа искусстваGetCourse + amoCRM

Собственная интеграция GetCourse и amoCRM

Связал заказы и оплаты в GetCourse с карточками покупателей в amoCRM. Интеграция обновляет этап сделки, сумму заказа и историю покупок, учитывает отмены и возвраты.

Моя работа: разработка интеграции, настройка правил обновления CRM, запуск на VPS и исправление ошибок синхронизации.

Задача

В школе продавались курсы и другие обучающие продукты через GetCourse, а с клиентами работали в amoCRM. Нужно было связать сделки с историей покупок: отличать неоплаченный заказ от покупки, показывать последнюю сумму заказа и все оплаты клиента отдельно.

Что сделал

Разработал интеграцию под правила школы. Настроил получение событий и регулярную сверку данных. Сервис работает на VPS, находит контакт и сделку в amoCRM, обновляет поля и добавляет примечания по заказам.

Процессы в GetCourse

Настроил отдельные процессы для создания заказа, частичной и полной оплаты, повторной частичной оплаты и отмены. Они отправляют вебхуки в собственный сервис интеграции, который обновляет данные в amoCRM.

Список пяти процессов GetCourse: создание заказа, частичная оплата, оплата, вторая частичная оплата и отмена заказов.
Процессы для передачи событий по заказам в amoCRM. Для каждого события настроен отдельный процесс.
Процесс «Оплата AMO»: начало работы, действие «Вызвать url» и завершение процесса.
На примере «Оплата AMO»: действие «Вызвать url» отправляет вебхук. Такой же шаг настроен во всех процессах из списка выше.

Что меняется в CRM

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

Что пришлось исправить

Одновременная обработка событий могла создавать дубли сделок. Добавил защиту от повторного создания. Отдельно исправил дубли примечаний: amoCRM убирала начальный эмодзи, и сравнение текста считало уже записанное примечание новым.

Была и ошибка в определении листа ожидания: дата в названии продукта срабатывала как признак заявки. Исправил распознавание, чтобы обычный заказ не попадал в эту категорию.

Результат

Настроена передача данных из GetCourse в amoCRM: в карточках отражаются заказы, оплаты и история покупок, а изменения статусов обрабатываются по правилам школы.

Менеджеру доступны две разные суммы: текущего заказа и всех оплат клиента. Неоплаченные заказы выделены в отдельный этап, а по примечаниям можно проследить изменения заказа.

Обсудим интеграцию?

Напишите, какие данные нужно передавать между GetCourse и amoCRM и что сейчас приходится обновлять вручную.