Getcourse

Интеграция с Геткурсом - поучение вебхуков, регистрация на вебинар

Для того, чтобы успешно заполнить поля, перейдите в вашем геткурсе на эту страницу: http://ВАШ_АККАУНТ.getcourse.ru/saas/account/api Если у вас собственный домен, то токен находится по адресу: https://<Ваш домен>/saas/account/api

На открывшейся странице нам нужны поля Account name и «Ваш секретный ключ». (фото ниже)

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

Этот метод в Getcourse работает только на платных тарифах Getcourse. На тестовом периоде - нет.

Можно не использовать этот метод, а сразу создавать заказ для клиента (например, регистрация на вебинар), используя функцию Создание заказа (она описана чуть ниже).

Обязательным для регистрации пользователя является только email, все остальное – по желанию. Если в дальнейшем хотите настроить отправку вебхука из Геткурс в бота(например, для получения информации об оплате), то необходимо в Геткурсе создать Дополнительное поле с названием sb_id. Дополнительное поле создается в Геткурсе в разделе Пользователи – Пользователи – Дополнительные поля

В блоке, где надо в Геткурс сделать запрос на добавление клиента заполните поля следующим образом: URL-запроса: https://store.salebot.pro/function/getcourse Сохраняемые значения из JSON-ответа: status-> status; getcourse_user_id-> getcourse_user_id; user_status-> user_status; error-> error; JSON POST-параметров: Достаточный вариант параметров: { "command": "import_acc", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}", "phone": "телефон клиента", "first_name": "имя клиента", "addfields": {"sb_id": "#{client_id}"}, "refresh_if_exists": 1 } Если не добавите Имя, телефон и addfields то пользователь все-равно создастся, только без этих данных. Как передать значения для других полей смотрите ниже в разделе Расширенные настройки.

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

Для создания заказа необходимо передать несколько обязательных параметров: · offer_code – надо создать в разделе Продажи – Продукты . Зайдите в нужное предложение – Настройки, придумайте и впишите Уникальный код предложения. · deal_cost - сумма заказа (число без кавычек) · email - email пользователя

Для редактирования существующего заказа — те же параметры, но также: deal_number - номер заказа (число без кавычек) refresh_if_exists - параметр refresh_if_exists = 1 означает, если пользователь с таким e-mail уже есть в системе, то его данные надо перезаписать этими данными (число без кавычек)

Если пользователь с указанным email уже есть в системе, то заказ добавляется к нему. Если его в системе еще нет, то он создается.

Если в дальнейшем хотите настроить отправку вебхука из Геткурс в бота(например, для получения информации об оплате), то необходимо в Геткурсе создать Дополнительное поле с названием sb_id. Дополнительное поле создается в Геткурсе в разделе Пользователи – Пользователи – Дополнительные поля

Тип запроса: POST-json URL-запроса: https://store.salebot.pro/function/getcourse Сохраняемые значения из JSON-ответа: status-> status; getcourse_user_id-> getcourse_user_id; user_status-> user_status; error-> error;

JSON POST-параметров: Достаточный вариант параметров для добавления нового заказа: { "command": "import_order" , "acc_name": "rokso1987", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}", "phone": "телефон клиента", "first_name": "имя клиента", "refresh_if_exists": 1, "addfields_acc": {"sb_id": "#{client_id}"}, "offer_code": 2568, "deal_cost": 560 }

Достаточный вариант параметров для обновления информации о существующем заказе:

{ "command": "update_order", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}", "phone": "телефон клиента", "first_name": "имя клиента", "addfields_acc": {"sb_id": "#{client_id}"}, "deal_number": 78954, "refresh_if_exists": 1 } Телефон, имя и addfields можно не добавлять, если нет в этом необходимости.

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

Вебхук может понадобиться, если, например, вы захотите передавать в бота информацию об оплате ваших товаров. В сервисе Геткурс для отправки параметров в бот необходимо настроить Процесс:

Перейдите в Задачи – Процессы – Создать процесс.

Введите название процесса, выберите объект, данные которого будете передавать. Нажмите Создать. Перейдите на вкладку Процесс и нажмите Добавить блок. Выберите Операция – Вызвать URL.

Выставьте Метод POST. А в URL впишите адрес для вебхука, включающий передаваемые параметры:

Если отправляете параметры клиенту с Ватсап (в том числе, если хотите написать ему первым), то обязательными являются следующие параметры: https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?phone={object.user.phone}&callback_text=send&… - при настройке процесса по пользователям

https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?phone={object.phone}&callback_text=send&… - при настройке процесса по заказам

Если отправляете параметры пользователю с другим мессенджером, то обязательными являются следующие параметры:

https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?client_id={object.user.sb_id}&callback_text=any_message&… - при настройке процесса по заказам

https://chatter.salebot.pro/getcourse_webhook/<Ваш токен из настроек Salebot>?client_id={object.sb_id}&callback_text=any_message&… - при настройке процесса по пользователям

<Ваш токен из настроек 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

Расширенные настройки интеграции

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

Этот метод в Getcourse работает только на платных тарифах Getcourse. На тестовом периоде - нет.

Обязательным для регистрации пользователя является только email, все остальное – по желанию:

group - для добавления пользователя в группы (простое добавление и добавление с указанием произвольных параметров). ["Группа1", ["Группа2", "2018-08-01 21:21"], ["Группа4", "2018-08-02"]]

addfields - для добавления дополнительных полей пользователя {"Доп.поле1": "значение", "Доп.поле2": "значение"} Для того, чтобы чат-бот мог различить пользователя геткурса при получении вебхуков необходимо передать значение #{client_id} в дополнительное поле. Например, это поле будет называться sb_id, тогда массив будет выглядеть: {"sb_id": "#{client_id}", "Доп.поле2": "значение"}

Дополнительное поле создается в Геткурсе в разделе Пользователи – Пользователи – Дополнительные поля

refresh_if_exists - обновлять ли существующего пользователя 1/0 да/нет (int). Обязательный параметр для редактирования существующего пользователя partner_email - email партнера (для пользователя)

Если в системе не существует пользователя с указанным email — будет создан новый пользователь.

Если пользователь существует и refresh_if_exists == 1 — данные пользователя будут обновлены, а список его групп дополнен группами, указанными в параметре group_name. Если этот флаг не установлен, то никакие данные пользователя изменены не будут.

Данные из объекта session будут зафиксированы как параметры регистрации нового пользователя. Если происходит обновление данных (только при refresh_if_exists == 1), то предыдущие будут заменены.

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

а) с помощью параметра partner_email; б) с помощью параметра gcpc (имеет более высокий приоритет).

Если указанный для создаваемого/обновляемого пользователя партнер существует, то пользователь в системе будет помечен как реферал этого партнера.

Если пользователь-партнер не существует — будет возвращена ошибка.

Если пользователь-партнер существует, но не является партнером, то указанный пользователь автоматически получит статус партнера.

Тип запроса: POST-json URL-запроса: https://store.salebot.pro/function/getcourse Сохраняемые значения из JSON-ответа: status-> status; getcourse_user_id-> getcourse_user_id; user_status-> user_status; error-> error; JSON POST-параметров: Достаточный вариант параметров: { "command": "import_acc", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}" } Расширять можно любым набором из нижеуказанных параметров: { "command": "import_acc", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": " Ваш секретный ключ", "email": "#{имейл_клиента}", "phone": "телефон клиента", "first_name": "имя клиента", "last_name": "фамилия клиента", "city": "город клиента", "country": "страна клиента ", "group": ["Группа1"], "addfields": {"sb_id": "#{client_id}", "par2": "par2_moi"}, "refresh_if_exists": 1, "partner_email": "", "utm_source": "", "utm_medium": "", "utm_content": "", "utm_campaign": "", "utm_group": "", "gcpc": "", "gcao": "", "referer": "" }

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

Для создания заказа необходимо передать несколько обязательных параметров: · offer_code – надо создать в разделе Продажи – Продукты . Зайдите в нужное предложение – Настройки, придумайте и впишите Уникальный код предложения. · deal_cost - сумма заказа (число без кавычек) · email - email пользователя

Для редактирования существующего заказа — те же параметры, но также: deal_number - номер заказа (число без кавычек) refresh_if_exists - параметр refresh_if_exists = 1 означает, что надо обновлять существующую запись (число без кавычек)

Для импорта сделки обязательно должен существовать пользователь — владелец сделки. Если переданный пользователь не существует — он создается. Если существут пользователь с указанным email, то он используется как владелец заказа. Если передан параметр system.refresh_if_exists == 1 И пользователь существует, то его данные будут обновлены аналогично операции импорта пользователя (за исключением объекта session — см. далее)

При импорте сделки проверяется, существует ли сделка с указанным номером. В зависимости от этого создается новая сделка, или обновляется существующая. Если флаг system.multiple_offers == 1 и обновляется существующий заказ, то переданные позиции в сделке добавляются к существующим, а не заменяют их.

Параметр system.refresh_if_exists никак не влияет на создание/обновление сделки (этот параметр используется только для пользователей!).

Объект session при импорте сделки содержит UTM-параметры, которые фиксируются как контекст создания заказа. Дополнительно, если при импорте сделки происходит создание нового пользователя, то объект session используется так же и как контекст регистрации пользователя. Однако, при обновлении данных пользователя при импорте сделки объект session используется только для сделки, но не для пользователя.

Заказ может иметь указание на партнера, отличное от партнера пользователя. Партнер заказа может быть установлен двумя способами: а) с помощью параметра deal.partner_email; б) с помощью параметра session.gcpc (имеет более высокий приоритет). Если указанный для сделки партнер существует, то для нее будет установлен этот партнер. Если пользователь-партнер не существует — будет возвращена ошибка. Если пользователь-партнер существует, но не является партнером, то указанный пользователь автоматически получит статус партнера.

multiple_offers - добавлять несколько предложений в заказ (значения 1 или 0 без кавычек) return_payment_link - возвращать ссылку на оплату (значения 1 или 0 без кавычек) return_deal_number - возвращать номер заказа (значения 1 или 0 без кавычек) deal_status - код статуса заказа

Тип запроса: POST-json URL-запроса: https://store.salebot.pro/function/getcourse Сохраняемые значения из JSON-ответа: status-> status; getcourse_user_id-> getcourse_user_id; user_status-> user_status; error-> error;

JSON POST-параметров: Достаточный вариант параметров для добавления заказа: { "command": "import_order", "acc_name": "rokso1987", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}", "offer_code": 2568, "deal_cost": 560, }

Достаточный вариант параметров для обновления информации о заказе:

{ "command": "update_order", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": "Ваш секретный ключ", "email": "#{имейл_клиента}", "deal_number": 78954, "refresh_if_exists": 1, }

Расширять можно любым набором из нижеуказанных параметров: { "command": "update_order_order", "acc_name": "Название вашего аккаунта в геткурс (он содержится в адресной строке)", "secret_key": "Ваш секретный ключ"", "email": "#{имейл_клиента}", "phone": "телефон клиента", "first_name": "имя клента", "last_name": "фамилия клиента", "city": "город клиента", "country": "страна клиента", "group": ["Группа1"], "addfields_acc": {"sb_id": "#{client_id}", "par2": "par2_moi"}, "refresh_if_exists": 1, "partner_email_acc": "имейл партнера", "multiple_offers": 1, "return_payment_link": 1, "return_deal_number": 1, "utm_source": "", "utm_medium": "", "utm_content": "", "utm_campaign": "", "utm_group": "", "gcpc": "", "gcao": "", "referer": "", "deal_number": 78954, "offer_code": 2568, "product_title": "название товара", "product_description": "Описание товара", "quantity": 5, "deal_cost": 560, "deal_status": 787, "deal_is_paid": "Да", "manager_email": "mymanager@mail.ru", "deal_comment": "Комментарий к заказу", "payment_type": "тип платежа из списка", "payment_status": "статус платежа из списка", "partner_email_order": "email партнера (для заказа)", "addfields_order": {"Доп.поле1":"значение","Доп.поле2":"значение"} }

Видеоверсия