Skip to main content

GetCourse – Как загружать клиентов через Webhook

Чтобы система работала, необходимо, чтобы Telegram ID каждого пользователя сохранялся в дополнительное поле в GetCourse.

В момент создания заказа срабатывает автоматизация, и данные передаются в Vortex через вебхук. После этого вы получаете доступ к сквозной аналитике – от источника трафика до конечной продажи.

Для проектов, где воронки в Telegram построены на стандартном конструкторе GetCourse, передача данных возможна через GET-запросы прямо из системы.

Важно!
GetCourse по умолчанию не сохраняет Telegram ID. Чтобы настроить интеграцию, сначала нужно научить систему автоматически записывать этот идентификатор в дополнительное поле пользователя. Только после этого можно создавать процесс и передавать данные в Vortex через вебхук.

Без этого шага интеграция работать не будет.

Этап 1. Сохранение Telegram ID в дополнительное поле GetCourse

Существует несколько способов сохранения Telegram ID в дополнительное поле – выбор зависит от вашей воронки и используемых инструментов. Ниже приведены основные рабочие варианты:

Вариант 1: плагин Telegram User Data от GetCourse

Если ваша воронка в Telegram собрана в GetCourse, вы можете «вытащить» telegram_id прямо из системы.

Недавно появилась официальное расширение от GetCourse, которое позволяет автоматически сохранять user_id и username в дополнительные поля. Это удобное и проверенное решение стоит всего 500 рублей в месяц. 

IMG_9957.jpeg

Вариант 2: сайт упакован в MiniApp

Если вы используете наше более продвинутое решение с проксированием ссылок через MiniApp, то нужно действовать несколько иначе. В Vortex реализована технология автоматической передачи Telegram ID в UTM-метку при переходе пользователя по ссылке. Вам остаётся лишь передать значение в дополнительное поле пользователя в GetCourse — для дальнейшей интеграции с Vortex.

1. При настройках прокси-ссылки (MiniApp) необходимо указать передачу сервисных UTM-меток.

Метка telegram_id по умолчанию включается при установке соответствующей галочки – её значение будет подставляться динамически.
Кроме telegram_id, в UTM-метках можно передавать и другие служебные параметры: username, ФИО пользователя, наличие Telegram Premium. Если в вашей системе уже используется поле для сбора Telegram ID (например, tg_id, telegram, user_id и другие), просто укажите его название в соответствующее поле.

photo_2025-09-03_17-05-48.jpg

2. Далее необходимо записать telegram_id из UTM-метки в дополнительное поле GetCourse. Для большинства технических специалистов эта задача является стандартной и несложной. Во многих образовательных проектах уже используется скрипт, автоматически сохраняющий UTM-метки в дополнительные поля пользователя.

Как настроить передачу Telegram ID в доп. поле GetCourse

Для начала нужно создать дополнительное поле у пользователя. 

1. Переходим в «Ученики» ➡️ «Пользователи» ➡️ «Дополнительные поля»

photo_1_2025-09-01_12-51-36.jpg

photo_1_2025-09-02_16-00-24.jpg

2. Далее добавляем доп. поле:
•    Тип – число
•    Заголовок – telegram_id

Сохраняем.

dsgfd.jpg

3. Добавляем поле в форму на лендинге.

Переходим в раздел «Сайт» ➡️ «Страницы». В настройках формы добавляем «Поле пользователя». Обязательно указываем CSS класс элемента:
•    telegram_id – с помощью этого класса скрипт будет распознавать поле и подставлять в него Telegram ID
•    hidden – скрываем поле

photo_4_2025-09-01_12-51-36.jpgphoto_3_2025-09-02_16-00-24.jpg

4. Добавляем блок «HTML». В него вставляем код:

<script>
function getParam(name) {
  const params = new URLSearchParams(window.location.search);
  return params.get(name) || '';
}
document.addEventListener('DOMContentLoaded', function () {
  const telegramId = getParam('telegram_id');
  const wrappers = document.querySelectorAll('.telegram_id');
  wrappers.forEach(function (wrapper) {
    const input = wrapper.querySelector('input');
    if (input) input.value = telegramId;
  });
});
</script>

Сохраняем и опубликовываем страницу.

5. Далее нам необходимо обернуть наш сайт в мини-приложение. 

Как работать с прокси-ссылками показано в этой статье.

Чтобы использовать продвинутые функции прокси-ссылок, помимо передачи telegram_id в дополнительное поле, необходимо установить в HEAD вашего сайта уникальный скрипт от Vortex!

<script type="text/javascript" src="https://app.vortex.pro/static/webapp_integration.js"></script>

Подробнее о том, где найти и как установить скрипт на свой сайт, в этой статье.


Теперь при заполнении формы Telegram ID пользователя будет автоматически сохраняться в дополнительное поле пользователя в GetCourse.

Чтобы проверить работу скрипта, перейдите по созданной в Vortex ссылке. Для этого скопируйте её в интерфейсе сервиса и вставьте в адресную строку браузера. Убедитесь, что данные подставляются корректно.

Снимок экрана 2025-09-05 141242.png

 


Видео-инструкция

 

 

Как работать с прокси-ссылками

Вариант 3: связка GetCourse и Salebot

Если ваша воронка построена на Salebot, вы можете динамически передать telegram_id в дополнительное поле пользователя GetCourse. Для этого необходимо выполнить следующие шаги:

1. Настроить интеграцию Salebot и GetCourse

Как настроить интеграцию Salebot и GetCourse

2. Получить прокси-ссылку на Telegram для запуска воронки в Telegram-боте

Как получить ссылку на Telegram-бота в Salebot

1. Создайте лендинг в разделе «Сайты»

Снимок экрана 2025-09-05 171428.png

2. В поле «Тег» укажите значение из поля «Условие» первого блока вашей воронки.

Снимок экрана 2025-09-05 212026.png

Снимок экрана 2025-09-05 171542.png

3. Перейдите в раздел «Ссылки на мессенджеры» и скопируйте прокси-ссылку на Telegram – она будет использоваться для запуска воронки.

Снимок экрана 2025-09-05 171702.png

3. Далее нужно связать пользователя Salebot с пользователем GetCourse. Для этого передадим email пользователя GetCourse в Salebot.

Добавим в полученную ссылку переменную email:

Пример ссылки:
https://sbsite.pro//ab123a12aa1a1a1a1ab12345a1ab1a12_1?email={email}

Именно эту ссылку необходимо вставить на страницу благодарности.

Так как в кнопке переменные пользователя не подставляются, ссылку можно «вшить» в текст и поставить галочку «Заменять переменные пользователя».

Снимок экрана 2025-09-05 213831.png

Если вы хотите использовать именно кнопку, можно создать форму с единственным полем – email, и скрыть это поле с помощью CSS-класса hidden.

Снимок экрана 2025-09-05 214235.png

В обработчике формы указать переадресацию на прокси-ссылку на Telegram-бот с переменной email и поставить галочку «Заменять переменные в URL».

Снимок экрана 2025-09-05 214503.png

При переходе по ссылке – вшитой в текст или через кнопку – в Salebot будет передан email пользователя.

4. Теперь необходимо передать telegram_id из Salebot в дополнительное поле пользователя GetCourse.

Для этого сначала нужно создать дополнительное поле пользователя на стороне GetCourse.

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

1. Переходим в «Ученики» ➡️ «Пользователи» ➡️ «Дополнительные поля»

photo_1_2025-09-01_12-51-36.jpg

photo_1_2025-09-02_16-00-24.jpg

2. Далее добавляем доп. поле:
•    Тип – число
•    Заголовок – telegram_id

Сохраняем.

dsgfd.jpg

После этого можно реализовать передачу Telegram ID.

Это делается с помощью функций в так называемом «Калькуляторе» в Salebot.
Калькулятор – это поле в редакторе блока, где можно выполнять логические и арифметические действия, а также вызывать API-запросы к конструктору и подключённым интеграциям.

Добавим в первый блок воронки функцию. В поле «Калькулятора» вставим следующее:

result=getcourse_add_user(1, email, '', '', '{"addfields":{"telegram_id": #{platform_id}}}')

Сохраняем.

Снимок экрана 2025-09-05 212248.png

5. Остаётся только протестировать процесс, пройдя по пути клиента. При успешном выполнении функция возвращает True, а в переменную сделки getcourse_user в Salebot записывается ответ сервера:

{"success":true,"user_id":123456789,"user_status":added,"error_message":"","error":false}

Если произошла ошибка (например, в GetCourse нет активной подписки), в переменную result запишется сообщение об ошибке:
This method in Getcourse only works on paid Getcourse plans. During the test period - no.


Если ваша воронка построена таким образом, что пользовтель переходит из бота на сайт с формой, а не наоборот, то вы также можете передать telegram_id в дополнительное поле пользователя GetCourse через лендинг – по аналогии со способом, реализованным через мини-приложение.

Как передать Telegram ID из Salebot в GetCourse через лендинг

Для этого в GetCourse создайте дополнительное поле у пользователя (см. инструкцию выше). Затем в форму на лендинге добавьте «Поле пользователя», укажите CSS класс элемента (telegram_id и hidden) и вставьте в блок «HTML» следующий код:

<script>
function getParam(name) {
    const params = new URLSearchParams(window.location.search);
    return params.get(name) || '';
}
document.addEventListener('DOMContentLoaded', function () {
    const telegramId = getParam('telegram_id');
    const telegramWrappers = document.querySelectorAll('.telegram_id');
    telegramWrappers.forEach(function (wrapper) {
        const input = wrapper.querySelector('input');
        if (input) {
            input.value = telegramId;
        }
    });
});
</script>

Сохраните и опубликуйте страницу.

Теперь, чтобы значение telegram_id записалось в дополнительное поле, необходимо выдать пользователю через бота ссылку типа https://[ваш_аккаунт].getcourse.ru/[ссылка_на_лендинг]?telegram_id=#{platform_id} или https://[ваш_домен]/[ссылка_на_лендинг]?telegram_id=#{platform_id}


Видео-инструкция

 

Как настроить интеграцию Salebot и GetCourse


Важно отметить, что передача telegram_id через мини-приложение (вариант 2) – наиболее надёжный способ. При его использовании telegram_id фиксируется в GetCourse у 100% пользователей, оставивших заявку.
В сравнении с этим, остальные способы сопряжены с потерями: от 20% до 40% пользователей не переходят в Telegram-бота со страницы благодарности после регистрации на бесплатный продукт, и их telegram_id в систему не попадает.

Этап 2. Передача данных в Vortex

После того как вы настроили сохранение telegram_id в дополнительное поле пользователя в GetCourse, следующий шаг – передача данных поступающих заказов в Vortex. Это необходимо для построения сквозной аналитики: от источника трафика до конечной продажи.

Передача осуществляется через процесс, созданный в конструкторе GetCourse, с использованием вебхука.

Что нужно для передачи данных из GetCourse в Vortex через вебхук?

1. Убедиться, что telegram_id сохраняется в дополнительном поле пользователя

2. Создать группу конверсий в Vortex и выбрать вебхук в качестве источника

Как в Vortex создать группу конверсий

Подробнее о группах конверсий вы можете прочитать в этой статье.

1. Перейдите в Продажи ➡️ Управление конверсиями. Укажите название группы и нажмите «Создать»

1.jpg

2. Добавьте вебхук в качестве источника, нажав на значок «+» в столбце «Действия». Укажите название связки и нажмите «Добавить»

2.jpg

3.jpg

3. Перед вами откроется окно настройки вебхука. Здесь вы можете скопировать или перегенерировать ключ, а также указать название и сумму покупки по умолчанию. Если при передаче заказа не будут переданы название и сумма, в Vortex автоматически подставятся значения по умолчанию. Таким образом, приоритет всегда отдается данным, переданным через вебхук.

Вы также можете установить часовой пояс в настройках.

Важно учитывать, что время в Telegram фиксируется в формате UTC, тогда как в системах вроде GetCourse оно отображается по московскому времени (UTC+3). Из-за этой разницы при прямой передаче данных могут возникать несоответствия. Чтобы избежать путаницы, Vortex нормализует время к единому стандарту – UTC. Это позволяет корректно сопоставлять события, зафиксированные в разных системах.

Снимок экрана 2025-09-05 124308.png

3. Получить ссылку для отправки вебхука

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

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

Пример ссылки, в которой передаются Telegram ID пользователя, стоимость, название и UTM-метки заказа: 
https://proxy.vortex.pro/webhooks/sale?key=a1234b5c6789012d34e56789f01g2345?telegram_id={object.user.telegram_id}&purchase_priсe={object.cost_money_value}&purchase_name={object.positions}&utm_source={object.create_session.utm_source}&utm_medium={object.create_session.utm_medium}&utm_campaign={object.create_session.utm_campaign}&utm_content={object.create_session.utm_content}&utm_term={object.create_session.utm_term}

1. Ключ вебхука. Ссылка для запроса с необходимым ключом копируется напрямую из нашего сервиса – вносить в неё изменения не требуется. При успешном копировании у вас всплывёт уведомление «Ключ веб-хука скопирован».

4.jpg

2. Переменные. Так как мы передаем в Vortex данные заказа, то и процесс нужно выстраивать по заказам. При этом в процессах по заказам используются переменные по:

  • заказу,
  • пользователю, которому принадлежит заказ.

Чтобы использовать переменные по заказу, нужно добавить к ним приставку object. Таким образом мы можем передать состав заказа (название предложения), его стоимость, дату создания/оплаты, UTM-метки.
Пример: {object.cost_money_value} – стоимость заказа.

Чтобы в процессе по заказу использовать переменные по пользователю, нужно добавить приставки object и user. Так как мы записываем telegram_id в дополнительное поле пользователя, то и используем переменную по пользователю. Пример: {object.user.telegram_id}

Важно!
Если вы используете собственное обозначение для Telegram ID (например, chat_id, tg_id и т.п.), убедитесь, что именно это значение передаётся в переменной. 
Критически важно, чтобы название дополнительного поля в GetCourse, UTM-метка с Telegram_ID перешедшего в Vortex (при использовании MiniApp) и переменная в ссылке были полностью идентичны.

Это обязательный параметр запроса – без него сервис не сможет корректно добавить конверсию.

Описание всех доступных параметров и переменных
Особенность Параметр Описание
*обязательный telegram_id 

integer (целое число), Telegram ID покупателя

*обязательный username  string (строка), Telegram Username покупателя

Для отправки вебхука необходимо указать либо telegram_id, либо username – достаточно передать хотя бы один из этих параметров.

Если вы передаёте telegram_id, отправка username не требуется.

/опциональное purchase_price 

float (число), цена конверсии


Для передачи этого значения используйте переменную {object.cost_money_value}

/опциональное purchase_name 

string (строка), название конверсии

 

Для передачи этого значения используйте переменную {object.positions}

/опциональное purchased_at 

datetime (дата и время), время совершения конверсии

Можно не указывать. В этом случае подставится время отправки webhook.
Если отсутствует – подставится дата отправки настоящего запроса.

Для передачи этого значения используйте одну из переменных: {object.created_at format='d.m.Y H:i'} (дата создания заказа) или {object.payed_at format='d.m.Y H:i'} (дата оплаты заказа)

/опциональное

utm_source

utm_medium

utm_campaign

utm_content

utm_term

string (строка), значения UTM-меток

 

Можно передать как одну из UTM-меток, так и все сразу.

Каждая из них будет привязана к соответствующей конверсии и отправлена вместе с ней.

Важно: названия UTM-меток должны точно соответствовать установленным стандартам – любое отклонение может привести к некорректному сбору данных.

 

Пример объекта create_session с указанием источника и его UTM-меток:

 

image.png

 

Для того, чтобы передать эти значения, нужно использовать специальные переменные.

 

Чтобы использовать переменные по заказу, добавьте к ним приставку object:

  • {object.create_session.utm_source}

Чтобы в процессе по заказу использовать переменные по пользователю, добавьте приставки object и user:

  • {object.user.create_session.utm_source}

Для передачи UTM-меток используются следующие переменные:

  • {create_session.utm_source}
  • {create_session.utm_medium}
  • {create_session.utm_campaign}
  • {create_session.utm_content}
  • {create_session.utm_term}

Более подробная информация – по этой ссылке.

 

Подробные инструкции:

4. Настроить процесс передачи данных по заказу в Vortex

Теперь, когда мы получили ссылку для передачи данных, нужно создать процесс по заказам в GetCourse.

Как в GetCourse создать процесс передачи данных в Vortex

Процессы в GetCourse бывают разного типа. Нам необходим процесс по заказам.

1. Перейдем в раздел «CRM» ➡️ «Процессы»

1.jpg

2. Создадим новый процесс с типом объекта «Заказы»

2.jpg

3. В настройках выберите пункт «Периодическая проверка» и укажите правило вхождения объекта — то есть конкретное предложение или тип заказа, который нужно передавать в Vortex. В нашем примере — это бесплатный тестовый заказ.

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

3.jpg

4. Сохраняем и переходим во вкладку «Процесс». Добавляем блок «Операция» ➡️ «Заказ» ➡️ «Вызвать url»

4.jpg

5.jpg

5. Здесь мы используем GET-запрос и в поле «URL» вставляем ту ссылку, которую мы получили на предыдущем этапе. Сохраняем.

6.jpg

6. Добавляем блок «Завершение процесса» и соединяем

7.jpg

7. Наш процесс готов. Осталось его протестировать и запустить.

Как проверить успешность отправки вебхука на сервис

Вы можете сохранить ответ от сервера в дополнительное поле GetCourse. Для этого создайте дополнительное поле заказа, а при добавлении блока «Вызов URL» в процессе укажите это поле в параметре «Записать результат в доп. поле».

После успешной отправки вебхука вы получите ответ от сервера в следующем формате:

{
  "detail": "Successfully added sale",
  "data": {
    "telegram_id": 12321312,
    "first_name": null,
    "last_name": null,
    "username": null,
    "has_premium": null,
    "register_date": null,
    "joined_at": null,
    "left_at": null,
    "purchased_at": "2025-07-02T08:45:48",
    "purchase_name": null,
    "purchase_price": null,
    "seconds_until_purchase": null,
    "time_until_purchase_humanreadable": null,
    "source": {
      "is_tgads": false,
      "name": "Не найдены в базе"
    },
    "audience": null,
    "creative": null,
    "is_bot": null
  },
  "utm_tags": {
    "utm_source": "test",
    "utm_medium": "test",
    "utm_campaign": "test",
    "utm_content": "test",
    "utm_term": "test"
  }
}

Обратите внимание: приведённый ответ – это пример структуры данных. В реальном запросе значения будут уникальными: telegram_id, имя, username, UTM-метки и другая информация зависят от конкретного пользователя и источника перехода. Некоторые поля могут быть пустыми, если данные недоступны или не переданы.

Ответ от сервера состоит из двух основных частей:

  • detail – статус обработки вебхука. Указывает, была ли отправка успешной или произошла ошибка.
  • data – подробная информация о добавленной конверсии, включая данные о клиенте.

Информативную часть ответа data можно отключить с помощью указания параметра запроса:

response_with_data=false

В этом случае вы получите только поле detail с подтверждением статуса, без дополнительных данных.

Пример ссылки:
https://proxy.vortex.pro/webhooks/sale?key=a1234b5c6789012d34e56789f01g2345?telegram_id={object.user.telegram_id}&purchase_prise={object.cost_money_value}&purchase_name={object.positions}&response_with_data=false

После проверки перед запуском процесса отключите сохранение ответа от сервера в дополнительное поле GetCourse. Это может мешать реальной обработке запроса.

Видео-объяснение с примером
Связка BotHelp и GetCourse

Если ваша воронка построена на конструкторе BotHelp, передача данных заказа из GetCourse в Vortex осуществляется по другому сценарию.

В этом случае нам не нужно сохранять telegram_id в дополнительное поле клиента в GetCourse.

Процесс состоит из двух этапов: сначала данные о заказе передаются из GetCourse в BotHelp, а затем – из BotHelp в Vortex.

Как настроить передачу данных из GetCourse в Vortex через BotHelp?

Шаг 1. Настройка интеграции между GetCourse и BotHelp

Прежде всего, необходимо подключить интеграцию GetCourse и BotHelp. Подробная инструкция доступна здесь:
https://help.bothelp.io/integracziya-s-getcourse/

Шаг 2. Связывание подписчика BotHelp с пользователем GetCourse

Для корректной работы интеграции важно, чтобы система понимала, кто есть кто. Для этого нужно связать профиль пользователя в GetCourse с подписчиком в BotHelp.

Ключевым элементом связи является уникальный ID подписчика в BotHelp – CUID (или CUser ID). Его необходимо передать в GetCourse и сохранить в пользовательском поле bothelp_id.

Как это сделать – подробно описано в статье:
https://help.bothelp.io/integracziya-s-getcourse-na-storonnih-konstruktorah-sajtov/

После того как вы настроили передачу CUID через ссылку и создали скрытое поле bothelp_id в форме GetCourse, можно переходить к следующему шагу.

Шаг 3. Создание пользовательских полей в BotHelp

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

Перейдите в раздел «Настройки» ➡️ «Настраиваемые поля»

Снимок экрана 2025-09-15 1749233.png

Создайте три новых текстовых поля:

  • purchase_name – для названия заказа
  • purchase_price – для стоимости заказа
  • purchase_at – для даты и времени создания или оплаты заказа

Снимок экрана 2025-09-15 174931.png

Шаг 4. Настройка процесса в GetCourse

В GetCourse создайте новый процесс по заказам

Правило вхождения объекта: выберите «Периодическая проверка» и укажите нужное предложение, по которому должны фиксироваться заказы. Если хотите передавать только оплаченные заказы, то укажите через оператор «И» условие «Оплачен».

Снимок экрана 2025-09-15 175441.png

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


Важно!

{Ваш домен в Bothelp} 
= название кабинета Bothelp
{Ваш SecretKey из кабинета BotHelp} = Ключ BotHelp SecretKey в разделе «Настройки», «Интеграции», блок с GetCourse

Значения переменных записываются без скобок { }.
Данные переменные будут использоваться в вебхуках.

photo_2025-09-15_18-05-48.jpg

Вебхук 1. Передача названия заказа

Добавьте блок «Операция» ➡️ «Вызов URL». Метод – POST.

Вставьте ссылку, заменив выделенные переменные на свои:

https://gc.bothelp.io/callback?domain_name={Ваш домен в Bothelp}&token={Ваш SecretKey из кабинета BotHelp}&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_name&actions[set_field_value]={object.positions}

Пример готовой ссылки:
https://gc.bothelp.io/callback?domain_name=testosh&token=aad03d44cbd13a57770d4344e56bb227e3f7bebe268c7fb9ag7f329948371438&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_name&actions[set_field_value]={object.positions}

Снимок экрана 2025-09-15 175635.png


Вебхук 2. Передача стоимости заказа

Добавьте еще один блок «Операция» ➡️ «Вызов URL». Метод – POST.

Вставьте ссылку, заменив выделенные переменные на свои:

https://gc.bothelp.io/callback?domain_name={Ваш домен в Bothelp}&token={Ваш SecretKey из кабинета BotHelp}&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_price&actions[set_field_value]={object.cost_money_value}

Пример готовой ссылки:
https://gc.bothelp.io/callback?domain_name=testosh&token=aad03d44cbd13a57770d4344e56bb227e3f7bebe268c7fb9ag7f329948371438&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_price&actions[set_field_value]={object.cost_money_value}


Вебхук 3. Передача даты и времени создания или оплаты заказа

Добавьте третий вебхук (блок «Операция» ➡️ «Вызов URL». Метод – POST). Вы можете выбрать передачу времени создания заказа или времени его оплаты.
Замените выделенные переменные на свои.

Вариант А. Время создания заказа:

https://gc.bothelp.io/callback?domain_name={Ваш домен в Bothelp}&token={Ваш SecretKey из кабинета BotHelp}&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_at&actions[set_field_value]={object.created_at format='d.m.Y H:i'}

Вариант Б. Время оплаты заказа:

https://gc.bothelp.io/callback?domain_name={Ваш домен в Bothelp}&token={Ваш SecretKey из кабинета BotHelp}&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_at&actions[set_field_value]={object.payed_at format='d.m.Y H:i'}

Пример (время создания):
https://gc.bothelp.io/callback?domain_name=testosh&token=aad03d44cbd13a57770d4344e56bb227e3f7bebe268c7fb9ag7f329948371438&idBotHelp={object.user.bothelp_id}&actions[set_field]=purchase_at&actions[set_field_value]={object.created_at format='d.m.Y H:i'}


Вебхук 4. Запуск бота и передача данных в Vortex

Этот шаг нужен, чтобы активировать бота и отправить данные в Vortex.

Подготовка:

1. В Vortex создайте новую группу конверсий и выберите в качестве источника – вебхук. Скопируйте предоставленный вебхук ➡️ Инструкция

2. В BotHelp создайте нового бота. Добавьте блок «Действия» ➡️ «Отправить данные подписчика через Webhook» и вставьте скопированный из Vortex вебхук.

3. Перейдите в настройки бота:

  • Нажмите на значок шестерёнки ➡️ «Настройки»

Снимок экрана 2025-09-15 180816.png

  • Раскройте «Дополнительные настройки»
  • Найдите поле «Ref бота» и скопируйте его значение

Снимок экрана 2025-09-15 180828.png

Настройка вебхука в GetCourse:

Добавьте блок «Операция» ➡️ «Вызов URL». Метод – POST.

Вставьте ссылку, заменив выделенные переменные на свои. {Ref вашего бота} мы скопировали в настройках бота. Значения переменных записываются без скобок { }.

https://gc.bothelp.io/callback?domain_name={Ваш домен в Bothelp}&token={Ваш SecretKey из кабинета BotHelp}&idBotHelp={object.user.bothelp_id}&actions[run_bot]={Ref вашего бота}

Пример готовой ссылки:
https://gc.bothelp.io/callback?domain_name=testosh&token=aad03d44cbd13a57770d4344e56bb227e3f7bebe268c7fb9ag7f329948371438&idBotHelp={object.user.bothelp_id}&actions[run_bot]=c1757845236982


Соедините блоки и запустите процесс.

Снимок экрана 2025-09-15 175624.png

Готово! Осталось только протестировать.

1. Отправьте себе через бота ссылку на лендинг (через который передается bothelp_id) с параметром sid={%cuid%}
Например: https://test.getcourse.ru/page27?sid={%cuid%}
В обработчике формы должно быть указано создание заказа (по предложению, которое вы выбрали в качестве условия запуска процесса)

2. Перейдите по ссылке и заполните форму. Убедитесь, что в GetCourse поле bothelp_id заполнилось значением поля CUser ID.

3. После обработки заказа процесс автоматически сработает.

4. Через некоторое время вы увидите нового пользователя в списке конверсий Vortex, с указанием:

  • Названия заказа
  • Даты и времени
  • Стоимости (если заказ платный) 

Снимок экрана 2025-09-15 181243.png

Типовые ошибки при передаче данных через вебхук

1. Некорректное название дополнительного поля в GetCourse

В параметрах вебхука указано имя поля с ошибками – например, содержатся пробелы, точки или другие недопустимые символы. Убедитесь, что имя поля соответствует формату, ожидаемому системой (латиница, без пробелов и специальных символов). 

2. Передача тестовой конверсии без обязательных идентификаторов

Попытка отправить тестовую конверсию без указания telegram_id или username. Для корректной обработки необходимо передавать хотя бы один из этих идентификаторов.

3. Сохранение ответа вебхука в переменную во время отладки

При локальной отладке некоторые разработчики сохраняют ответ вебхука в переменную, что может мешать реальной обработке запроса. Убедитесь, что вебхук корректно отправляется на сервер, а не «заглушается» в коде.

4. Несоответствие типа переменной в GetCourse

GetCourse может некорректно интерпретировать данные, если тип поля (текстовое/числовое) не совпадает с передаваемым значением. Например, telegram_id лучше указывать как числовое поле. При настройке рекомендуется проверить и при необходимости изменить тип поля.

5. Передача значения в виде строкового нуля («0»)

Иногда одно из полей передаётся как строка «0», что может интерпретироваться как пустое или некорректное значение.
Рекомендация: начните с минимального набора параметров (например, только telegram_id), а затем постепенно добавляйте остальные, чтобы выявить проблемное поле.

6. При тестировании не включена опция «Выполнять действия по-настоящему» в GetCourse

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

8.jpg