Getcourse

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

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

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

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

Обязательным для регистрации пользователя является только 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": 0, "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": 0, "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":"значение"} }

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

В сервисе Геткурс для отправки параметров в бот необходимо настроить Процесс:

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

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

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

Если отправляете параметры клиенту с Ватсап (в том числе, если хотите написать ему первым) 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&…

<Ваш токен из настроек Salebot> - вместо этого вставьте токен из раздела Настройки в Salebot phone – здесь подтягиваете номер телефона пользователя client_id – здесь подтягиваете значение дополнительного поля с #{client_id} Salebot callback_text – текст, который служит Условием в зеленых или серых блоках Salebot, чтобы отправлять сообщения пользователю. Только в условии к нему добавится еще getcourse

Здесь подробная инструкция по тому как вытягивать значения из переменных Геткурса для вызова url в процессе https://getcourse.ru/blog/275857

Например, если отправите из Геткурса callback_text=send, то в Условие блока надо поставить getcourse send

Если не приходит вебхук, проверьте правильность передачи параметров client_id или phone