Salebot.pro
Search…
Getcourse
Интеграция с Геткурсом - получение вебхуков, регистрация на вебинар
Работает только на тарифе "Премиум"
Для того, чтобы успешно заполнить поля, перейдите в вашем Геткурсе на эту страницу: http://ВАШ_АККАУНТ.getcourse.ru/saas/account/api Если у вас собственный домен, то токен находится по адресу: https://<Ваш домен>/saas/account/api
На открывшейся странице нам нужны поля 1. Account name и 2. «Ваш секретный ключ». (фото ниже)
Далее переходим в проект на salebot в раздел Настройки и добавляем переменные проекта:
    1.
    getcourse_account_name - Account name
    2.
    getcourse_secret - Ваш секретный ключ

Создание в Getcourse дополнительного поля клиента sb_id

Дополнительное поле создается в Геткурсе в разделе Пользователи – Дополнительные поля
Кликните Добавить поле. Выберите Строка.
В поля Заголовок и Название при выводе впишите sb_id. Поставьте галочку "Является ключевым", если хотите видеть это поле на странице списка пользователей (для удобства поиска клиентов из чат-бота). Нажмите Сохранить.
Теперь у вас в списке и карточке клиента появилось это дополнительное поле.

Добавление пользователя:

Этот метод в Getcourse работает только на платных тарифах Getcourse. На тестовом периоде - нет.
Можно не использовать этот метод, а сразу создавать заказ для клиента (например, регистрация на вебинар), используя функцию Добавление заказа (она описана чуть ниже).
В блоке, где надо в Геткурс сделать добавление клиента, заполните поле “Назначение переменных при переходе” следующим образом:
getcourse_add_user(refresh, email, phone, name, user_data, system_data, session_data)
Важен порядок передаваемых данных!
Обязательные параметры:
    refresh - обновлять ли данные существующего пользователя 1 - да, 0 - нет
    емейл и\или телефон
Дополнительные параметры:
    name - имя пользователя
    user_data - объект с данными пользователя
    partner_email - email партнера (для пользователя)
    session_data - дополнительные параметры
Параметры email, phone и name, можно заменить на две двойные кавычки, их значение автоматически подтянется из переменных: email, phone и getcourse_name соответственно, если они существуют у клиента. Пример: getcourse_add_user(1,””, “7811111111”)
user_data - '{"last_name": "Фамилия", "city": "город", "country": "страна"}'
partner_email - email партнера (для пользователя)
    Если указанный для создаваемого/обновляемого пользователя партнер существует, то пользователь в системе будет помечен как реферал этого партнера.
    Если пользователь-партнер не существует — будет возвращена ошибка.
    Если пользователь-партнер существует, но не является партнером, то указанный пользователь автоматически получит статус партнера.
session_data - '{"utm_source":"", "utm_medium":"", "utm_content":"", "utm_campaign":"", "utm_group":"", "gcpc":"", "gcao":"", "referer":""}'
Данные из объекта session будут зафиксированы как параметры регистрации нового пользователя. Если происходит обновление данных (только при refresh == 1), то предыдущие будут заменены.
Функция возвращает True при успешном добавлении или сообщении с ошибкой (например, если не переданы группы: groups list not send).
Также при успехе клиенту запишется переменная getcourse_user_id (идентификатор клиента в геткурс) и getcourse_user с ответом сервера.
Примечания:
    1.
    Если не передан какой-то параметр, но передан следующий за ним, то его пропуск нужно заменить двумя символами кавычек (двойными “” или одинарными ‘’)
    2.
    Обязательным для регистрации пользователя является только email или телефон, все остальное – по желанию.
    3.
    Если в системе не существует пользователя с указанным email — будет создан новый пользователь.
Примеры вызова функции:
result = getcourse_add_user('0', '[email protected]', '', 'Nilson', '', '[email protected]', '{ "utm_source": "4545", "utm_medium": "55555"}')
result = getcourse_add_user('1', '[email protected]')
result = getcourse_add_user('1', '[email protected]', '7811111111', 'Nilson', '{"last_name": "Tesla", "city": "Москва", "country": "Россия"}', '[email protected]', '{ "utm_source": "4545", "utm_medium": "55555"}')

Добавление пользователя в группу

Для добавления пользователя в группы, нужно вызвать функцию getcourse_add_user_to_groups(список групп, идентификатор пользователя)
Функция принимает два параметра:
    список названий групп, в которые нужно добавить пользователя
    идентификатор пользователя в геткурс (не обязателен, если у пользователя есть переменная getcourse_user_id)
В результате выполнения запроса пользователь будет состоять во всех группах, указанных в списке group_name. Если ранее пользователь состоял в каких-либо группах, не указанных в group_name — он будет удален из этих групп.
Пример вызова функции:
getcourse_add_user_to_groups('["Группа 1", "Группа 2"]', 199388144)
Функция возвращает True при успешном добавлении или сообщении с ошибкой (например, если не переданы группы: groups list not send).

Добавление заказа

Для создания заказа необходимо перейти в геткурс, раздел Продажи – Продукты . Зайдите в нужное предложение, вкладка – Настройки. Здесь нужно придумать и вписать Уникальный код предложения.
Возвращаемся в воронку в Salebot. В настройках того блока, где нужно сделать добавление заказа для Геткурс, заполните поле “Назначение переменных при переходе” следующим образом:
getcourse_add_deal(email, phone, offer_code, deal_cost, deal_data, user_data, system_data, session_data)
Важен порядок передаваемых данных!
Обязательные параметры:
    емейл и\или телефон
    offer_code - уникальный код предложения (введенный выше в настройках)
    deal_cost - сумма заказа
Дополнительные параметры:
    deal_data - объект с данными заказа
    user_data - объект с данными пользователя
    system_data - email партнера (для пользователя)
    session_data - дополнительные параметры
Параметры email и phone, можно заменить на две двойные кавычки, значение туда автоматически подтягиваются из переменных: email, phone соответственно, если они существуют у клиента.
Если не передан какой-то параметр, но передан следующий за ним, его пропуск нужно заменить двумя символами кавычек (двойными “” или одинарными ‘’)
Если пользователь с указанным email уже есть в системе, то заказ добавляется к нему. Если его в системе еще нет, то он создается.
Далее описаны параметры, в которых можно передать как одно значение, так и несколько.
deal_data - '{"product_title":"наименование предложения", "product_description":"описание предложения", "quantity":1, "deal_status":"код статуса заказа", "deal_is_paid": "нет", "manager_email":"email менеджера", "deal_created_at":"дата заказа", "deal_finished_at":"дата оплаты/завершения заказа", "deal_comment":"комментарий", "payment_type":"тип платежа из списка", "payment_status":"статус платежа из списка", "partner_email":"email партнера (для заказа)", "deal_currency":"код валюты заказа"}'
user_data - '{"first_name":"имя", "last_name":"фамилия", "city":"город", "country":"страна"}'
system_data - '{"refresh_if_exists":1, "partner_email":"email партнера (для пользователя)*", "multiple_offers":0, "return_payment_link":1}'
session_data - '{"utm_source":"", "utm_medium":"", "utm_content":"", "utm_campaign":"", "utm_group":"", "gcpc":"", "gcao":"", "referer":""}'
Объект session_data при импорте сделки содержит UTM-параметры, которые фиксируются как контекст создания заказа.
Дополнительно, если при импорте сделки происходит создание нового пользователя, то объект session используется так же и как контекст регистрации пользователя. Однако, при обновлении данных пользователя при импорте сделки объект session используется только для сделки, но не для пользователя.
Функция возвращает True при успешном добавлении или сообщение с описанием ошибки.
Также при успехе у клиента появятся переменные getcourse_deal_number (номер заказа используется для редактирования заказа и изменения статуса), getcourse_deal_id (идентификатор заказа в геткурс) и getcourse_payment_link с ссылкой на оплату (если не было передано в system_data - "return_payment_link":0)
Примеры вызова функции:
result = getcourse_add_deal('[email protected]', '', '123456', '23', '{"product_description":"Описание", "quantity":"1"}')
result = getcourse_add_deal('[email protected]', '', '123456', '24', '{"product_description":"Описание", "quantity":"1"}', '{"last_name": "Tesla", "city": "Ростов", "country": "Россия"}', '', '{ "utm_source": "#{name}", "utm_medium": "#{utm_medium}"}')
result = getcourse_add_deal('[email protected]', '', '123456', '24', '{"product_description":"Описание", "quantity":"1"}', '{"last_name": "Tesla", "city": "Ростов", "country": "Россия"}', ' '{"refresh_if_exists":1, "multiple_offers":0, "return_payment_link":1}'', '{ "utm_source": "#{name}", "utm_medium": "#{utm_medium}"}')

Редактирование заказа

В блоке, где нужно отредактировать заказ Геткурс, в Salebot заполните поле “Назначение переменных при переходе” следующим образом:
getcourse_update_deal(email, phone, deal_number, multiple_offers, deal_data, user_data, system_data, session_data)
Важен порядок передаваемых данных!
Обязательные параметры:
    емейл и\или телефон
    deal_number - номер заказа, если не передан “”, то берется из переменной getcourse_deal_number
    multiple_offers - 1 - переданные позиции в сделке добавляются к существующим, 0 - заменяют их
Дополнительные параметры:
    deal_data - объект с данными заказа
    user_data - объект с данными пользователя
    system_data - email партнера (для пользователя)
    session_data - дополнительные параметры
Параметры email и phone, можно заменить на две двойные кавычки, значение туда автоматически подтягиваются из переменных: email, phone соответственно, если они существуют у клиента.
Если не передан какой-то параметр, но передан следующий за ним, его пропуск нужно заменить двумя символами кавычек (двойными “” или одинарными ‘’)
Далее описаны параметры, в которых можно передать как одно значение, так и несколько.
deal_data - '{"product_title":"наименование предложения", "product_description":"описание предложения", "quantity":1, "deal_status":"код статуса заказа", "deal_is_paid": "нет", "manager_email":"email менеджера", "deal_created_at":"дата заказа", "deal_finished_at":"дата оплаты/завершения заказа", "deal_comment":"комментарий", "payment_type":"тип платежа из списка", "payment_status":"статус платежа из списка", "partner_email":"email партнера (для заказа)", "deal_currency":"код валюты заказа"}'
user_data - '{"first_name":"имя", "last_name":"фамилия", "city":"город", "country":"страна"}'
system_data - '{"refresh_if_exists":1, "partner_email":"email партнера (для пользователя)*","return_payment_link":1}'
session_data - '{"utm_source":"", "utm_medium":"", "utm_content":"", "utm_campaign":"", "utm_group":"", "gcpc":"", "gcao":"", "referer":""}'
Функция возвращает True при успешном результате или сообщении с ошибкой (например, если не передан номер заказа и его нет в переменных: deal_number not send and not found in variable getcourse_deal_number).
Примеры вызова функции:
result = getcourse_update_deal('[email protected]', '', '124563', '0', '{"product_description":"Описание22", "partner_email":"[email protected]", "quantity":"1"}')
result = getcourse_update_deal('[email protected]', '7811111111', '124563', '0', '{"product_description":"Описание22", "deal_comment":"комментарий", "quantity":"1"}', '{"last_name": "Tesla2", "city": "#{city}", "country": "Каир"}', '', '{ "utm_source": "SOURSE", "utm_medium": "#{utm_medium}"}')

Изменение статуса заказа

getcourse_change_deal_status(status, email, phone, deal_number)
Важен порядок передаваемых данных!
Емейл и телефон можно не указывать, тогда они подтянутся из переменных клиента email и phone
Можно передать оба значения: емейл и телефон, или одно значение (емейл или телефон). Если передаете одно значение, то второе нужно заменить на две двойные кавычки.
Если заказ был создан из бота и/или у клиента (в переменных Информация о сделке) присутствует переменная getcourse_deal_number, то deal_number можно не передавать, функция автоматически подтянет это значение.
Список возможных статусов заказа:
    not_confirmed - Не подтвержден
    in_work - В работе
    payed - Завершен
    cancelled - Отменен
    false - Ложный
    payment_waiting - Ожидаем оплаты
    part_payed - Частично оплачен
    waiting_for_return - Ожидаем возврата
    pending - Отложен
Тестовые заказы отмечают статусом false, чтоб не отображались в списке всех заказов, так как возможности удаления заказов геткурс не предоставляет
Примеры:
result = getcourse_change_deal_status("in_work", '[email protected]', "", 1455)
result = getcourse_change_deal_status("in_work")

Отправка вебхук из Геткурс

Вебхук может понадобиться, если, например, вы захотите передавать в бота информацию об оплате ваших товаров. В сервисе Геткурс для отправки параметров в бот необходимо настроить Процесс:
Перейдите в Задачи – Процессы – Создать процесс.
Введите название процесса, выберите объект, данные которого будете передавать. Нажмите Создать. Перейдите на вкладку Процесс и нажмите Добавить блок. Выберите Операция – Вызвать URL.
Выставьте Метод POST.
В URL впишите адрес для вебхука, включающий передаваемые параметры:
Если отправляете параметры клиенту с Ватсап (в том числе, если хотите написать ему первым), то обязательными являются следующие параметры:
При настройке процесса по заказам:
https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?phone={object.user.phone}&callback_text=send&…
(также рекомендуется добавить емейл &email={object.user.email})
При настройке процесса по пользователям:
https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?phone={object.phone}&callback_text=send&…
(также рекомендуется добавить емейл &email={object.email})
Если отправляете параметры пользователю с другим мессенджером, то обязательными являются следующие параметры:
При настройке процесса по заказам:
https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?client_id={object.user.sb_id}&callback_text=any_message&… -
(также рекомендуется добавить емейл &email={object.user.email})
При настройке процесса по пользователям:
https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?client_id={object.sb_id}&callback_text=any_message&…
(также рекомендуется добавить емейл &email={object.email})
Email рекомендуется передавать, так как по нему ищется клиент в сейлбот, если не найден по номеру телефона или не передан client_id.
<Ваш токен из настроек Salebot> - вместо этого вставьте токен из раздела Настройки в Salebot phone – здесь подтягиваете номер телефона пользователя client_id – здесь подтягиваете значение, которое записано в дополнительное поле в Геткурсе (в нем значение #{client_id} из Salebot) callback_text – текст, который служит Условием в зеленых или серых блоках Salebot, чтобы отправлять сообщения пользователю. Только в условии к нему добавится еще getcourse
Здесь подробная инструкция по тому как передавать значения из переменных Геткурса в другие системы (в Salebot) https://getcourse.ru/blog/275857
Для отлова этих вебхуков в вашей воронке создайте блок, в поле Условие которого впишите фразу, состоящую из слова getcourse + тот текст, который отправляете в Вебхуке в параметре callback_text:
Например, если отправите из Геткурса callback_text=send, то в Условие блока надо поставить getcourse send
Если не приходит вебхук, проверьте правильность передачи параметров client_id, phone или email

Передать Salebot client_id при регистрации клиента через лендинг Getcourse

Если вы хотите, чтобы клиент регистрировался в Геткурс не через бота, а через лендинг Геткурса, но при этом получал в свой мессенджер вебхуки из Геткурса, то внесите следующие правки в настройки лендинга.
1. Проверьте, чтобы в карточке клиента в Getcourse было создано дополнительное поле sb_id. Как его создавать описано выше.
2. Пройдите в настройки своего лендинга (или создайте его). Сайт – Страницы – клик по нужному лендингу.
3. Внутри настроек лендинга кликните по кнопке Редактор страницы
4. Создайте форму регистрации клиента или пройдите в Настройки уже существующей
5. Теперь добавьте Поле пользователя
6. В списке Поле выбираем название нашего поля sb_id. Заголовок поля тоже ставим sb_id. Для того, чтобы поле стало невидимым для пользователей прописываем CSS- класс элемента hide. И для связи с нашим полем прописываем там же sb_id
7. Сохраняем настройки формы.
8. Внизу Настроек лендинга создайте новый элемент
9. Выберите Вставка – JAVA-Script код
10. Перейдите в Настройки этого элемента. Название можно написать любое, а вот в поле Значение впишите следующий код:
$(document).ready(function(){ var regex = new RegExp('[\\?&]sid=([^&#]+)'); var match = regex.exec(window.location.href); if (match && match.length) { $('.sb_id input').val(decodeURIComponent(match[1])); } });
11. Сохраните этот элемент. Опубликуйте изменения страницы.
12. Теперь вы можете из бота выдать клиенту ссылку на этот лендинг с дополнительным параметром sid после знака вопроса:
https://salebot2.getcourse.ru/salebot?sid=#{client_id}
Он перейдёт по ней, зарегистрируется в форме и у вас в Геткурсе появится новый пользователь, у которого дополнительное поле sb_id заполнено значением client_id из Salebot
Далее вы можете отправлять вебхуки из Геткурса в аккаунт этого пользователя в Сейлбот.
Last modified 14d ago