Короткий ответ: связывайте ученика с контактом, отдельный заказ — со сделкой, а оплату и доступ к обучению храните как самостоятельные состояния. Тогда повторная покупка не затрёт старую продажу, доплата не создаст вторую сделку, а открытый курс не станет ложным подтверждением поступления денег.

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

Сначала разделите четыре объекта

В GetCourse заказ описывает оформленное предложение и условия продажи. Покупка — отдельный объект, связанный с доступом к продукту: она может появиться после полной или частичной оплаты, а также ручного завершения заказа. Следовательно, наличие покупки само по себе не доказывает поступление всей суммы. Основание: документация GetCourse о заказах и покупках.

ОбъектНа какой вопрос отвечаетКак предлагаем учитывать
УченикКто покупает или учится?Связка ID пользователя GetCourse и ID контакта amoCRM. Если платит родитель или компания, плательщика и ученика не объединять автоматически.
ЗаказЧто и на каких условиях оформлено?Отдельная сделка с ID заказа и составом предложения. Для стартовой модели — одна сделка на один заказ.
ПлатёжСколько поступило по конкретному заказу?Отдельная запись в журнале обмена; в сделке — проверенная сумма оплат и остаток. Несколько платежей могут относиться к одному заказу.
ДоступК какому продукту и до какого срока можно приступить?Состояние по конкретной покупке или продукту. Не выводить его из этапа сделки или суммы бюджета.

У этой модели есть границы. Если школа сначала ведёт консультацию, а заказ создаёт позднее, не нужно заводить вторую сделку автоматически: согласуйте, как новый ID заказа прикрепляется к уже открытой продаже. Если один заказ включает несколько курсов, одного поля «Доступ открыт» недостаточно — нужны сведения по каждому продукту либо ссылка на первоисточник.

Как связать GetCourse и amoCRM

  1. Определите начало маршрута. Заказ с сайта сначала возникает в GetCourse или менеджер создаёт его из amoCRM? Для каждого варианта запишите, кто создаёт объект и кто возвращает его ID. Два параллельных создателя одного заказа требуют отдельного правила согласования.
  2. Назначьте владельцев данных. В предлагаемой схеме GetCourse отвечает за состав заказа, сведения об оплате и доступе; amoCRM — за ответственного менеджера, следующий шаг и этап работы с клиентом. Обратное изменение разрешайте только для явно согласованных полей.
  3. Проверьте способ обмена. Готовый коннектор подходит, если передаёт нужные события и умеет обновлять существующую сделку. Для собственной интеграции GetCourse описывает callback через процесс и массовый экспорт по API; это разные механизмы. Официальное описание API.
  4. Проверьте исключения до покупки решения. Попросите показать доплату, повторный заказ того же ученика, ручной платёж, отмену и восстановление после ошибки. Общее обещание «двусторонней синхронизации» не отвечает на эти вопросы.
  5. Запустите ограниченный пилот. Выберите одно предложение, назначьте ответственного за сверку и только после контрольных примеров расширяйте обмен.

При собственной реализации callback отправляет данные через операцию «Вызвать URL». GetCourse отдельно предупреждает, что этот механизм не предназначен для массовой передачи; ошибки нужно обработать в соответствующей ветке процесса. Для начальной загрузки базы используйте подходящий экспорт, а для текущих изменений — проверенный маршрут событий. Настройка callback.

В API GetCourse массовый экспорт выполняется последовательно, с ограничениями числа запросов. Поэтому расписание сверки и допустимую задержку согласуйте с учётом действующей документации, а не обещания мгновенной синхронизации. Выбор технологии подробнее разобран в статье «Готовый коннектор или разработка API-интеграции».

Что передавать в сделку

Передавайте данные, которые нужны менеджеру для действия и позволяют найти первоисточник. В amoCRM API сделки предусматривает бюджет, этап, ответственного и дополнительные поля; конкретную карту полей необходимо настроить в аккаунте. Документация сделок amoCRM.

  • Идентификаторы: аккаунт школы, ID заказа, ID пользователя, ссылка на заказ; на стороне обмена — соответствующие ID сделки и контакта.
  • Предмет продажи: название и устойчивый идентификатор предложения, состав заказа, согласованная стоимость и валюта. Названия могут меняться, поэтому одного текста недостаточно для сопоставления.
  • Деньги: сумма подтверждённых оплат, возвраты отдельным значением и остаток по согласованной формуле. Бюджет сделки обозначает стоимость продажи; не подменяйте его суммой последнего платежа.
  • Обучение: продукт, состояние доступа, начало и окончание — только если эти сведения действительно доступны выбранному способу обмена. Не вычисляйте открытие доступа по факту оплаты.
  • Контроль: когда сведения получены, результат последнего обмена и ссылка на ошибку для ответственного. Если актуальность неизвестна, так и показывайте её менеджеру.

Это требования к карте данных, а не утверждение, что любой коннектор отдаёт все перечисленные поля. Для каждого поля в задании укажите источник, получателя, правило пустого значения и разрешённое направление изменения. Если поле недоступно, оставьте ссылку на GetCourse и ручной контроль вместо выдуманного статуса.

Повторная покупка, доплата и продление

Не используйте правило «найти любую сделку по телефону и обновить». Оно смешивает разные продажи одного человека. В базовой модели новый заказ с новым ID получает новую сделку, связанную с существующим контактом; новый платёж по прежнему ID заказа обновляет прежнюю сделку. Перед связыванием проверяйте роль контакта: ученик и плательщик могут различаться.

Учебный пример. У ученика есть заказ №101 на основной курс. Первый и второй взносы относятся к заказу №101, поэтому обновляют одну продажу. Позже он оформляет заказ №208 на другой курс: это новая сделка у того же контакта. Если продление оформлено отдельным заказом, применяйте тот же принцип; если изменяется существующий объект, сначала зафиксируйте его связь с исходной продажей.

При замене предложения или переоформлении заказа не стирайте прежнюю историю. Запишите связь старого и нового заказов и решите, какой из них участвует в отчёте продаж. Сумму нельзя складывать дважды только потому, что в двух карточках осталась одинаковая стоимость.

Как не создавать дубли

Разделите две проверки: принадлежность объекта и повтор доставки. Для заказа используйте ключ «аккаунт GetCourse + ID заказа». Для пользователя — отдельный ключ с ID пользователя. Для платежа нужен устойчивый идентификатор платежа, если источник его предоставляет; сумма и дата сами по себе не гарантируют уникальность.

Если ID платежа недоступен, не прибавляйте сумму каждого уведомления к итогу. Согласуйте получение и запись актуального подтверждённого итога по заказу либо отправляйте неоднозначную операцию на сверку. Первый поиск контакта по email или телефону допустим как этап сопоставления, но несколько совпадений должны приводить к проверке, а не случайному выбору.

Обработчик должен переживать повтор одного сообщения и одновременные запросы. После потери ответа сначала проверьте, создана ли сделка, и только потом повторяйте создание. Запоздавшее уведомление «не оплачен» не должно затирать более свежую оплату: сравнивайте версию или время изменения источника, а при отсутствии надёжного признака сверяйте текущее состояние. Время получения сообщения не равно времени изменения заказа.

Эти требования относятся к реализации обмена; они не появляются автоматически от добавления поля с внешним ID. Общий механизм разобран в материале о дублях при повторных запросах.

Карта событий онлайн-школы

Ниже — заготовка для обсуждения с интегратором. Это бизнес-события, а не обещание готовых одноимённых триггеров GetCourse. Для каждой строки исполнитель должен назвать реальный источник сигнала, доступные поля, допустимую задержку и способ сверки. Если автоматического сигнала нет, фиксируется ручной или периодический контроль.

Событие и источникДействие в amoCRMЧто проверить
Создан заказ в GetCourseНайти связь по ID; создать сделку или прикрепить заказ к существующей консультации по согласованному правилу.Повтор доставки не создаёт вторую продажу; ответственный назначен.
Зафиксирован первый неполный платёжОбновить сумму оплат и остаток; при необходимости поставить задачу на доплату.Вся стоимость заказа не записана как полученные деньги; доступ проверяется отдельно.
Получена доплатаОбновить ту же сделку; проверить условие завершения продажи и актуальность задачи.Не появилась новая сделка или повторная задача; итог совпадает с источником.
Появился новый заказ прежнего ученикаСоздать самостоятельную продажу, сохранить связь с контактом.Старая сделка, её сумма и история остались без изменений.
Заказ отменён или поступил запрос на возвратОтразить состояние; назначить разбор. Факт возврата денег фиксировать отдельным подтверждением.Отмена и запрос не представлены как уже выполненный возврат.
Изменён доступ к продуктуОбновить сведения о доступе либо задачу на проверку; не менять факт оплаты.Сверены нужный продукт и срок; ограничение доступа не переписало продажу.
Обмен прервался или выявлено расхождениеЗафиксировать ошибку и ответственного; после восстановления повторить обработку безопасно.Видны ID объекта и результат повтора; контрольная сверка закрыла расхождение.

Почему статусы заказа и сделки могут отличаться

Этап amoCRM обычно отвечает на вопрос, что сейчас делает отдел продаж. Статус заказа описывает состояние заказа, а покупка — условия доступа. Совпадение названий не делает их одним и тем же показателем.

Например, школа может считать продажу состоявшейся после первого взноса, оставив контроль доплаты отдельной задачей. Тогда успешная сделка и неполная оплата не противоречат друг другу, если правило явно зафиксировано и отчёт не выдаёт бюджет сделки за полученные деньги. Если критерием успеха выбрана полная оплата, такой же результат уже будет ошибкой настройки.

В GetCourse автоматическое завершение заказа при оплате зависит от настройки предложения; бесплатное предложение также может завершаться без денежного поступления. У покупки может быть будущая дата начала доступа. Поэтому при расхождении сначала сравните ID заказа, оплаты, настройку завершения и конкретную покупку, затем время последнего обмена. Эти особенности описаны в указанных выше официальных материалах о заказах и покупках.

Как принять интеграцию

Проведите испытания на тестовых пользователях и согласованных тестовых заказах. Для платежей используйте разрешённый вашей платёжной схемой способ тестирования; не отмечайте реальные неоплаченные заказы оплаченными ради проверки.

  1. Создайте заказ, передайте его повторно и убедитесь, что в amoCRM осталась одна нужная сделка.
  2. Проверьте два взноса по одному заказу и отдельный заказ того же ученика: ожидаются две продажи, а не три.
  3. Проверьте бесплатное предложение и доступ с будущей датой: отсутствие денежного поступления и ещё не открытое обучение должны быть различимы.
  4. Разберите отмену, запрос возврата и подтверждённый возврат как разные контрольные ситуации.
  5. Смоделируйте недоступность получателя, повтор и нарушение порядка уведомлений: восстановление не должно создавать дубли или возвращать устаревшее состояние.
  6. Сверьте выбранный период по ID заказов: наличие сделок, стоимость, оплаты, возвраты и доступ. Используйте одинаковые фильтры, валюту и границы времени; сравнения одной общей суммы недостаточно.

Результат проверки — таблица «сценарий → ID объектов → ожидаемое → фактическое → исправление → повторный тест». У каждой оставшейся ошибки должен быть ответственный. Запуск можно принимать, когда согласованные сценарии проходят, расхождения объяснены, а команда умеет находить и повторно обрабатывать сбой.

Для настройки или восстановления такой связи передайте карту событий в проект интеграции CHECK CRM. По ней можно определить состав обмена, проверить подходящий модуль и согласовать мониторинг после запуска. Условия сопровождения и границы ответственности фиксируются отдельно.

Источник и метод. Продуктовые сведения проверены 12 октября 2026 по официальной документации; ссылки и оговорки приведены в тексте. Рекомендации основаны на практике обследования, внедрения и сопровождения CRM.