Интеграции

Getcourse интеграция

Интеграция amoCRM с платформой онлайн-обучения Getcourse для автоматизации продаж курсов

Возможности

Синхронизация с Getcourse
Автоматическое создание сделок
Передача данных о клиентах
Отслеживание оплат

Инструкция по установке и настройке

Подробное руководство по работе с виджетом "Getcourse интеграция"

Простой сценарий: таблица статусов и одна ссылка

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

Что подготовить в GetCourse

  1. Создайте дополнительное поле заказа amoCRM: ID сделки с типом «Число». По нему виджет обновляет уже созданную сделку, а не плодит дубли.
  2. API-ключ и аккаунт GetCourse берутся из настроек Digital Pipeline / Salesbot. После создания сделки виджет по возможности запишет её ID в поле amoCRM: ID сделки.
  3. В таблице статусов сопоставьте статусы заказа GetCourse (Новая, Ожидает оплаты, Оплачено, Отменено и другие) с воронкой и этапом amoCRM.

Сделка цепляется к существующему контакту по email или телефону. Если контакта нет — виджет создаёт новый. Связка заказа и сделки идёт по номеру заказа в поле Номер заказа / N_GETCOURSE_ORDER_ID.

Как вставить ссылку в процесс

  1. Скопируйте готовую ссылку из блока «Простой режим». Переменные имени, телефона, email, номера заказа, суммы, названия, статуса и ссылки на оплату уже подставлены.
  2. В GetCourse создайте процесс по заказам: фильтр + один блок «Вызвать URL».
  3. Вставьте скопированную ссылку в блок «Вызвать URL». Отдельная схема на каждый статус не нужна: этап amoCRM берётся из таблицы статусов по {object.status}.

GetCourse умеет вызывать внешний URL только из процесса. Готовая ссылка — это и есть входящий хук: при смене статуса заказа процесс дергает её, а виджет обновляет контакт и сделку в amoCRM.

Со стороны amoCRM → GetCourse ничего менять не нужно: Digital Pipeline и Salesbot по-прежнему создают и обновляют заказ. Если нужен свой набор полей, UTM или отдельный этап в ссылке — откройте блок «Конструктор сложных сценариев» внизу настроек виджета.

Как создать процесс

Для простого режима достаточно процесса с фильтром и одним блоком «Вызвать URL». Схема ниже — пример более сложного процесса, если нужно отдельно обрабатывать частичную и полную оплату.

  • В меню на вкладке "CRM" выбираем пункт "Процессы".
  • В открывшемся окне нажать на "Создать процесс".
  • Далее в следующем окне в поле "Название" прописать "Интеграция с amoCRM", тип объектов выбрать "заказы", выбрать "без шаблона" и нажимаем "Создать".

Делаем схему
Обычно стандартная/простая схема

Схема состоит из блоков
Блок "операция" название "создан заказ", в url вписывается сформированная ссылка (пример ссылки описан далее)

Блок "ожидание условия" - в этом блоке происходит ожидание любого из указанного события по новому заказу

Блок "задержка"

Блок "Частично оплачен?" проверяет заказ на событие о том что он частично оплачен

Блок "Полностью оплачен?" - данный блок нужен для проверки заказа на событие полной оплаты, если заказ был ранее частично оплачен

Используйте "или" вне блоков, для добавления сегментов

Конструктор сложных сценариев

Этот раздел нужен, если простого режима недостаточно: разные ссылки на разные статусы, свои допполя, UTM, вытаскивание сделки из закрытого этапа. Конструктор находится внизу настроек виджета в блоке «Конструктор сложных сценариев».
Настройки можно разделить на 4 логические области — разберём каждую подробнее.

В данном блоке выбирается какого типа будет формироваться итоговая ссылка URL для нашего процесса. Выбор типа URL соответствует с типом процесса который настраиваем в нашем аккаунте GC.

В данном блоке приведены ключи для того, чтобы подготовить URL, необходимый для вашего процесса в GC. Использовать эти ключи будем в "3 логическом блоке".

В данном блоке производится сама настройка URL.
1. Название сделки - в блоке ввода прописывается ключ , который будет выводить значение из ГК и который будет отображаться в название сделки
2. Бюджет - в блоке ввода прописывается ключ , который будет выводить значение из ГК и который будет отображаться в одноименном поле в сделке в amoCRM.
3. Выбор воронки/статуса - здесь необходимо выбрать в какой этап воронки необходимо выгружать данные из GC.
4. Теги - здесь прописываются теги которые необходимо добавлять в сделку когда будет выгружаться заказ из GC.
5. Выбор доп. полей - здесь необходимо выбрать поля в которые необходимо выгружать какие то данные из GC необходимые для вас
6. Сделка: ссылка на оплату - пример доп.поля из amoCRM в которое будет прописываться ссылка на оплату из GC согласно настроенному ключу.

Вытаскивать сделку из закрытой - виджет вытаскивает сделку из этапа закрыто и не реализовано, если вы передаете в поле ID заказа значение переменной {object.number}

Получение оплаты - при вызове УРЛ в сделку добавляется примечание о том, что оплата была получена.

В данном блоке уже сформирован наш URL который мы подготовили для процесса в GC. Копируем его и вставляем в процесс.

Маппинг переменных GetCourse

В официальной статье GetCourse переменные перечислены в базовом виде: {first_name}, {email}, {number} и т.д. В реальном URL для процесса к ним нужно добавлять префикс в зависимости от объекта процесса.

Если процесс по пользователям:
{first_name} -> {object.first_name}
{email} -> {object.email}

Если процесс по заказам:
{number} -> {object.number}
{payment_link} -> {object.payment_link}
{first_name} -> {object.user.first_name}
{email} -> {object.user.email}

Если процесс по покупкам:
{product_title} -> {object.product_title}
{first_name} -> {object.user.first_name}
{email} -> {object.user.email}

Источник пользователя/заказа:
{create_session.utm_source} -> {object.create_session.utm_source}

Главное правило: object.* используется для текущего объекта процесса, а object.user.* — когда вы находитесь в процессе по заказам или покупкам и хотите взять данные пользователя, вложенного в этот объект.

Если нужно передать значение из дополнительного поля, укажите полный заголовок поля внутри переменной. Пример: {object.Название дополнительного поля} — для поля текущего объекта процесса, {object.user.Название дополнительного поля} — для дополнительного поля пользователя внутри заказа или покупки.

Какой префикс использовать

  • {object.*} — если переменная относится к самому объекту процесса
  • {object.user.*} — если в процессе по заказам или покупкам нужно передать данные пользователя
  • {object.partner.*} — если нужно передать данные партнера пользователя
  • {object.create_session.*} — если нужно передать данные источника: UTM, gcpc, clickid и другие параметры

Пользователь

Ниже переменные для процесса по пользователям. Здесь используется синтаксис {object.*}. Если те же пользовательские данные нужны в процессе по заказам или покупкам, используйте такой же ключ, но через {object.user.*}. Например: {object.first_name} → {object.user.first_name}.

  • {object.first_name} — имя
  • {object.last_name} — фамилия
  • {object.name} — полное имя
  • {object.id} — идентификатор
  • {object.email} — email
  • {object.phone} — телефон
  • {object.city} — город
  • {object.avatar_url} — ссылка на аватар
  • {object.Название дополнительного поля} — значение дополнительного поля пользователя
  • {object.personal_manager} — имя персонального менеджера
  • {object.personal_manager_email} — email персонального менеджера
  • {object.personal_manager_phone} — телефон персонального менеджера

Заказ

Ниже переменные самого заказа в процессе по заказам. Для них используется синтаксис {object.*}, потому что текущий объект процесса — заказ.

  • {object.number} — номер заказа
  • {object.id} — идентификатор заказа
  • {object.positions} — состав заказа (названия предложений)
  • {object.offers} — состав заказа (ID предложений)
  • {object.created_at format='d-m-Y'} — дата создания заказа
  • {object.payed_at format='d-m-Y'} — дата оплаты заказа
  • {object.cost_money} — стоимость заказа с пробелом
  • {object.cost_money_value} — стоимость заказа без пробела
  • {object.left_cost_money} — осталось оплатить
  • {object.payed_money} — уже оплачено
  • {object.status} — статус заказа
  • {object.payment_link} — ссылка на оплату
  • {object.promocode} — промокод из заказа
  • {object.Название дополнительного поля} — значение дополнительного поля заказа
  • {object.manager} — имя менеджера заказа
  • {object.manager_email} — email менеджера заказа
  • {object.manager_phone} — телефон менеджера заказа
  • {object.positions_price} — предложения, количество, стоимость и валюта
  • {object.funnel_id} — ID доски продаж
  • {object.funnel_stage_id} — ID этапа на доске продаж

У заказа есть вложенный объект пользователя. Поэтому в процессе по заказам пользовательские данные передаются только через {object.user.*}: например, {object.user.first_name}, {object.user.email}, {object.user.phone}, {object.user.city} и т.д.

Покупка

Ниже переменные самой покупки в процессе по покупкам. Для них также используется синтаксис {object.*}, потому что текущий объект процесса — покупка.

  • {object.product_title} — название продукта
  • {object.start_at} — дата начала покупки
  • {object.finish_at} — дата окончания покупки
  • {object.start_at_ago} — сколько прошло с начала
  • {object.finish_at_ago} — сколько осталось до окончания
  • {object.period_string} — период доступа
  • {object.state} — статус покупки
  • {object.link} — ссылка на покупку
  • {object.training_link} — ссылка на тренинг
  • {object.training_title} — название тренинга
  • {object.training_teacher_full_name} — ФИО основного преподавателя
  • {object.training_teacher_avatar_src} — путь к аватару преподавателя

У покупки также есть вложенный объект пользователя. Поэтому в процессе по покупкам пользовательские данные передаются через {object.user.*}: например, {object.user.first_name}, {object.user.email}, {object.user.phone} и другие поля пользователя.

Для переменных менеджеров personal_manager, personal_manager_email, personal_manager_phone, manager, manager_email и manager_phone в GetCourse должны быть заполнены данные в разделе «Партнерская программа».

Партнер пользователя

Если нужно передать данные партнера пользователя, используйте вложенный объект {object.partner.*}.

  • {object.partner.uid} — идентификатор партнера
  • {object.partner.first_name} — имя партнера
  • {object.partner.last_name} — фамилия партнера
  • {object.partner.real_name} — автоматическое русскоязычное имя партнера
  • {object.partner.email} — email партнера
  • {object.partner.phone} — телефон партнера
  • {object.partner.created_at} — дата регистрации партнера

Источник пользователя или заказа

Для UTM-меток, партнерского кода и других параметров источника используйте {object.create_session.*}. Это актуально для пользователя и для заказа.

  • {object.create_session.gcpc} — партнерский код
  • {object.create_session.utm_source} — utm_source
  • {object.create_session.utm_medium} — utm_medium
  • {object.create_session.utm_campaign} — utm_campaign
  • {object.create_session.utm_content} — utm_content
  • {object.create_session.utm_term} — utm_term
  • {object.create_session.utm_group} — utm_group
  • {object.create_session.clickid} — clickid

Также можно передавать и другие параметры источника: если пользователь пришел по ссылке с кастомным параметром и затем зарегистрировался или создал заказ, этот параметр можно использовать через {object.create_session.имя_параметра}.

Запуск процесса

После завершения настройки процесса, необходимо:

  • вернуться на вкладку "Общее"
  • выбрать пункт "Периодическая проверка"
  • поставить условие вхождения в процесс (в данном случае устанавливаем фильтр по дате создания заказа, т.е. с какого числа выгружать заказы)
  • нажать на кнопку "Запустить".

Обратная синхронизация

Важно! Для корректной передачи статуса при помощи обратной синхронизации поле в сделке Бюджет должно быть заполнено.

Также эта интеграция работает и наоборот: можно из amoCRM создавать заказы в GetCourse.
Для того чтобы заказ выгрузился из amoCRM в GetCourse, в контакте обязательно должны быть заполнены Имя, Фамилия, Телефон и почта.
Для этого необходимо:
1. Пройти по адресу http://ВАШ_АККАУНТ.getcourse.ru/saas/account/api, нажать кнопку "Сгенерировать секретный ключ" и скопировать его.
Это нужно сделать для того, чтобы получить API-ключ GetCourse.

Так же понадобится субдомен, найти его можно на страницах:
http://ВАШ_АККАУНТ.getcourse.ru/saas/account/api Для системного адреса аккаунта
http://ВАШ_ДОМЕН/saas/account/api Для привязанного домена

  1. Переходим в воронку и нажимаем Настроить
  2. На нужном этапе жмем Добавить триггер
  3. В появившемся окне в строке поиска ввести Интеграция с GetCourse и нажать Добавить
  1. В появившемся окне выбрать условие, по которому происходит действие
  2. В поле API-ключ вставить сгенерированный ключ
  3. В поле субдомен вставить ваш субдомен
  4. В выпадающем списке выбрать действие

Если выбрать Добавить в группу, появится выпадающий список с группами. Нужно выбрать группу, в которую добавится контакт.

Если выбрать Создать заказ, то в поле ID предложения для заказ нужно ввести уникальный код предложения.

Создать ID предложение можно перейдя в Предложения в GetCourse:
1. Кликнуть на вкладку Предложения
2. Кликнуть на название предложения

3. Кликнуть на вкладку Настройки

4. В поле Уникальный код предложения ввести код
5. Обязательно сохранить

Можно выбрать с каким статусом произойдет создание заказа в GetCourse

Также можно выбрать, с каким статусом платежа создастся заказ

Можно выгружать данные в заказ из дополнительных полей
1. Доп поля в GETCOURSE
2. Поле в amoCRM

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

Чтобы создать доп.поля в GETCOURSE необходимо зайти в Заказы

В настройках в поле Поле в GETCOURSE ввести Менеджер, а в выпадающем списке выбрать Сделка.Ответственный

Обязательно нажать на Готово и Сохранить

Обновить данные в GetCourse

Если произошли какие-то изменения в сделке, данные можно автоматически обновить в GETCOURSE.
Для этого необходимо перейти в сделку, кликнуть на три точки и нажать на Обновить заказ.

Как заказы распределять в разные воронки

Если требуется распределять заказы в одном процессе:
1. Необходимо добавить блок Условие

2. В поиске ввести предложение и выбрать предложение из списка

3. Распределить вызов УРЛ (воронка/статус выбираются в настройках виджета при формировании УРЛ) по воронкам согласно условиям

Если требуется распределять заказы в разных процессах:
1. Во вкладке общие выбрать предложение
2. Настроить процесс для выгрузки по данному предложению в одну воронку.

Как задать входной сегмент в процессе https://getcourse.ru/blog/275875