ИИ-бот GetCourse
ИИ-бот
Добрый день!
Я - бот-помощник по документации платформы Getcourse, помогу вам найти ответ на справочный вопрос по работе системы. Пожалуйста, сформулируйте свой вопрос одним сообщением.
Статья была полезной?
Callback-вызов (Вызов URL) — это операция в процессах, отправляющая сообщения с данными во внешний сервис по API.
Зачем использовать
Например, если вы храните и обрабатываете данные о своей клиентской базе в стороннем сервисе и хотите передавать туда данные о новых регистрациях, заказах и других изменениях, то для этого нужно будет настроить callback-вызов.
В статье расскажем:
Как настроить callback-вызов
Создавать и настраивать процессы могут:
- владелец,
- администратор.
Для настройки callback-вызова добавьте в процесс операцию «Вызвать URL».
Обратите внимание: операция «Вызвать URL» не предназначена для массовой передачи данных. Для этого используйте экспорт объектов в файл формата .CSV с последующей обработкой во внешней системе или экспорт API.
В ссылке указажите адрес (URL) внешнего сервиса и перечислите данные, которые необходимо передать из GetCourse.
Например, в процессе по пользователям может быть использован следующий синтаксис:
api_url/?var_1={object.first_name}&var_2={object.email}&...
Тогда вместо {object.first_name} в запросе будет передано имя пользователя, вместо {object.email} — адрес электронной почты пользователя. Можно использовать и другие переменные, полный список ниже.
Вы можете самостоятельно выбрать метод передачи данных: GET или POST (но при этом вне зависимости от выбранного вами варианта все данные будут передаваться в ссылке, указанной в графе URL).
Обратите внимание:
- Важно указывать переменные в правильном формате, как показано в этой → статье.
- Операции «Вызвать URL» выполняются последовательно, то есть выполнение следующей в очереди операции не начнется, пока не будет получен ответ от предыдущей. Поэтому задавать завышенные значения для полей «Время на ожидание соединения» и «Время на соединение» не рекомендуется. Это может приводить к более длительной обработке запросов, и, следовательно, к задержкам в передаче данных и выполнении задач. По умолчанию используются значения в 10 секунд.
- Для корректной отправки запроса на внешний сервис параметры в URL прописывайте только при помощи следующих символов:
- буквы латинского алфавита;
- цифры;
- знак дефиса «-»;
- знак нижнего подчеркивания «_».
Переменные, которые можно использовать для callback-вызова
Ниже представлен полный список переменных, которые можно использовать в ссылке в поле URL:
- Пользователь:
- {first_name} — имя,
- {last_name} — фамилия,
- {name} — имя полностью,
- {id} — идентификатор,
- {email} — эл. адрес,
- {phone} — телефон,
- {city} — город,
- {avatar_url} — ссылка на аватар пользователя,
- {Название дополнительного поля} — данные из дополнительного поля пользователя (нужно вписать полный заголовок поля, значение которого должно передаваться),
- {personal_manager} — имя персонального менеджера пользователя,
- {personal_manager_email} — эл. адрес персонального менеджера пользователя,
- {personal_manager_phone} — телефон персонального менеджера пользователя.
- Заказ:
- {number} — номер заказа,
- {id} — идентификатор заказа,
- {positions} — состав заказа (наименования предложений),
- {offers} — состав заказа (ID-идентификаторы предложений),
- {created_at format=’d-m-Y’} — дата создания заказа,
- {payed_at format=’d-m-Y’} — дата оплаты заказа,
- {cost_money} — стоимость заказа с пробелом,
- {cost_money_value} — стоимость заказа без пробела,
- {left_cost_money} — сколько осталось заплатить,
- {payed_money} — сколько оплачено,
- {status} — статус заказа,
- {payment_link} — ссылка на оплату,
- {promocode} — если в заказе использован промокод, можно передать его название,
- {Название дополнительного поля} — данные из дополнительного поля заказа (нужно вписать полный заголовок поля, значение которого должно передаваться),
- {manager} — имя менеджера заказа,
- {manager_email} — эл. адрес менеджера заказа,
- {manager_phone} — телефон менеджера заказа,
- {positions_price} — наименование и стоимость предложения, его количество в заказе и валюта (значения выводятся через точку с запятой). Важно! Если в заказе несколько предложений, то они будут разделены между собой переносом строки %0A.
- {funnel_id} — ID доски продаж, на которой находится заказ,
- {funnel_stage_id} — ID этапа на доске продаж, в котором находится заказ.
Также у заказа есть специальное поле user, по которому можно получить дополнительные данные о клиенте, оформившем заказ: user.first_name и т.п. (см. выше).
- Покупка:
- {product_title} — название продукта,
- {start_at} — дата начала покупки,
- {finish_at} — дата окончания покупки,
- {start_at_ago} — время, прошедшее от старта,
- {finish_at_ago} — время, оставшееся до окончания,
- {period_string} — период доступа,
- {state} — статус покупки (текущее состояние),
- {link} — ссылка на покупку,
- {training_link} — ссылка на тренинг (если продукт связан с тренингом),
- {training_title} — название тренинга,
- {training_teacher_full_name} — полное имя основного преподавателя тренинга,
- {training_teacher_avatar_src} — путь к файлу аватарки преподавателя.
У покупки, как и у заказа, есть специальное поле user, по которому можно получить дополнительные данные о клиенте, оформившем покупку: user.first_name и т.п. (см. выше).
Обратите внимание: для корректной работы переменных по персональному менеджеру пользователя и менеджеру заказа — personal_manager, personal_manager_email, personal_manager_phone и manager, manager_email, manager_phone — должны быть указаны данные в разделе «Партнерская программа».
Если данные в поле «Имя отправителя» не будут указаны, то для переменных personal_manager и manager значение будет получено из профиля менеджера.
- Партнёр пользователя:
- {partner.uid} — идентификатор партнёра,
- {partner.first_name} — имя партнёра,
- {partner.last_name} — фамилия партнёра,
- {partner.real_name} — автоматическое русскоязычное имя партнёра,
- {partner.email} — эл. адрес партнёра,
- {partner.phone} — номер телефона партнёра,
- {partner.created_at} — дата регистрации партнёра.
- Источник пользователя или заказа (сессия, во время которой пользователь зарегистрировался или создал заказ):
- {create_session.gcpc} — партнёрский код,
- {create_session.utm_source} — UTM-метки,
- {create_session.utm_medium}
- {create_session.utm_campaign}
- {create_session.utm_content}
- {create_session.utm_term}
- {create_session.utm_group}
- {create_session.clickid} и т.д.
Вы можете добавить в ссылку любой кастомный параметр — если пользователь пройдёт по этой ссылке и зарегистрируется или создаст заказ, параметр запишется в соответствующий источник и его можно будет передавать по API.
Как сохранить ответ сервера в доп.поле
После вызова URL вы можете получить ответ сервера и сохранить его в дополнительное поле пользователя, чтобы использовать в дальнейшем (например, в рассылке):
Как протестировать callback-вызов
Протестировать работу колбэка можно, например, через сервис RequestBin. Создайте RequestBin и на этот адрес отправьте вызов URL с необходимыми параметрами.
После этого вы увидите результат с переданными данными.
Пример запроса в процессе по заказам:
https://requestb.in/yiy4yryi?imya={object.user.first_name}&pochta={object.user.email}&telefon={object.user.phone}&nomer_zakaza={object.number}&soderzhimoe={object.positions}&stoimost={object.cost_money}
Результат:
авторизуйтесь
А можно ли данные отправить в теле запроса? Т.е. в body, а в URL по ссылке.
Ответили вам в рамках тех. поддержки.
Уже больше года жду, в тех. поддержке говорили, что есть планы добавить.
Callback будет вызван при создании и обновлении данных, правильно? Например на создании пользователя, чтобы его создать в целевой системе и при обновлении, чтобы актуализировать значения в целевой системе?
Напишите, пожалуйста, по этому вопросу в нашу техническую поддержку https://getcourse.ru/contacts . В обращении опишите подробно какую задачу требуется реализовать.
Показать еще комментарии (1)
Благодарим за обратную связь.. Напишите, пожалуйста, нам в поддержку подробнее, какие практические сложности вызывает наличие переключателя на GET.
Через callback отправляем на свой сервер, который хеширует и отправляет через SDK в facebook.
Благодарим за информацию. Данная схема является недокументированной и не у всех клиентов платформы есть возможность ею воспользоваться (как то наличие собственного сервера и возможность выполнять на нем настройки для приема/передачи данных в сторонние сервисы) без привлечения профильных сторонних специалистов. Поэтому мы придерживаемся рекомендаций, которые описаны в статье https://getcourse.ru/blog/714719 . Данная настройка доступна без привлечения сторонних специалистов и сервисов. В случае же возникновения каких-либо затруднений всегда можно обратиться к нам в поддержку https://getcourse.ru/contacts для получения более детальных рекомендаций.
- передать callback дату создания заказа
- передать callback данные по сессии заказа
- где информация о более широких возможностях с переменными, о которых я писала комментарием ниже, список давно не полный.
В планах есть реализация указанных вами возможностей.
Также, ваше пожелание по обновлению списка переменных в статье было передано профильным специалистам.
На текущий момент нет возможности сообщить какие-либо сроки или детали реализации. Вы можете следить за обновлениями в нашем телеграм-канале: https://t.me/getcourse_update .
Похоже можно гораздо больше данных передать. Как минимум в альбато предлагает к передаче больше данных. По пользователю, например, это дата регистрации и баланс депозита, и ещё количество ответов на уроке. А в этой статье такой информации нет. 😕
Передал ваше пожелание по обновлению статьи. Благодарим за обратную связь!
1) Появится ли возможность передать в процессах по заказам дату время заказа?
2) Появится ли возможность передать в процессах по заказам метки заказа?
3) Появятся ли процессы по платежам?
В планах есть реализация указанных вами обновлений функционала.
На данный момент нет возможности назвать конкретные сроки или другие детали, связанные с запланированным обновлением.
Задача - как только падает платеж, выгрузить строкой в гугл документ имя клиента, предложение, по которому упал платеж, сумму платежа (цену, которую заплатил клиент) и комиссию платежа (либо сумму, которая фактически пришла на счет)
Какой код указывать в урл в процессе?
Напишите, пожалуйста нам в поддержку https://getcourse.ru/contacts. Опишите детально стоящую перед вами задачу, чтобы наши специалисты могли предложить наиболее подходящее для неё решение.
Как понять по какому заказу оплата прошла? заказов же несколько может быть. а в покупке никакой информации нет. правильно понимаю, что никак?
Ответили в рамках технической поддержки.
в параметрах покупки нельзя вытащить айди заказа, по которой оплата прошла?
Ответили в рамках технической поддержки.
Напишите, пожалуйста, обращение в рамках технической поддержки https://getcourse.ru/contacts.
В обращении пришлите, пожалуйста, ссылку на процесс через который производится отправка данных, для анализа ситуации.
Показать еще комментарии (1)
Выбор типа запроса может зависеть от способа его обработки на стороне внешнего сервиса, на который отправляются данные.
Если у вас есть более детальные вопросы по работе callback-вызова, вы можете задать их в рамках технической поддержки https://getcourse.ru/contacts.
Ответили вам в рамках технической поддержки.
Ваш вопрос требует более детального рассмотрения. Напишите, пожалуйста, нам https://getcourse.ru/contacts, приложив ссылки на страницу на стороннем сервисе, где происходит заполнение формы и последующая передача данных по АПИ.
Готового решения для данной задачи у нас нет, вы можете обратиться к разработчикам, которые с помощью нашего API https://getcourse.ru/blog/276214 смогут настроить интеграцию по вашим условиям.
Ваше пожелание передано разработчикам.
/?utm_source={create_session.utm_source}
Показать еще комментарии (2)
Ваш вопрос требует детального рассмотрения. Напишите, пожалуйста, нам в поддержку https://getcourse.ru/contacts с подробным описанием вашей ситуации.
Сейчас не понимаю как получить список заказов с датами и суммой покупки.
В заказах нет дат. А в покупка нет суммы..
Есть ли решение?
Опишите, пожалуйста, вашу задачу подробнее и отправьте нам в поддержку https://getcourse.ru/contacts
Какое именно значение вам нужно, дата оплаты или дата создания заказа? Приведите, пожалуйста, пример в вашем обращении, как именно вы хотите что бы передавался список. Это поможет нам более точно ответить на ваш вопрос.
Вот, что мне ответила Техподдержка:
В процессе по пользователям для корректной передачи переменные необходимо указывать в фигурных скобках с приставкой object http://joxi.ru/BA0PYN0tMlRz8A, т.е. {object.vk_id}. У вас на данный момент переменная указана без object http://joxi.ru/DmBOYqLCJdp1R2. Внесите, пожалуйста, изменения и протестируйте повторно.
А вот как "выполняется" запрос:
http://requestbin.fullcontact.com/xj757jxj?inspect#t370cz
Т.е. он совсем не выполняется!
Ваш вопрос находится в работе. Ответ будет дан в обращении, отправленном в тех. поддержку.
Спасибо за ожидание.
Передаю запрос, но UID пользователя не заменяется автоматически
Ниже отправил ссылку на статью по работе с VK ID пользователя. Пожалуйста, скорректируйте ваш процесс относительно переменной {vk_id} Если у вас будут возникать трудности с передачей ID пользователя, напишите, пожалуйста, нам в поддержку https://getcourse.ru/contacts приложив ссылку на процесс, откуда отправляете запрос. Так же опишите максимально подробно вашу задачу.
https://getcourse.ru/blog/275857
Можно ли их туда добавить наподобие {object.vk_uid} ?
Для передачи ID пользователя VK используется переменная {vk_id} Более подробная информация по работе с переменной vk id есть в этой статье: https://getcourse.ru/blog/418420#id
Вы можете использовать для передачи подобных данных дополнительные поля пользователя, которые будут заполняться вручную менеджером. Для автоматической передачи подобных данных в API Геткурса нет нужных переменных.
В настоящее время такого параметра для передачи по API у Геткурса нет.
"После вызова URL вы можете получить ответ сервера и сохранить его в дополнительное поле пользователя, чтобы использовать в дальнейшем (например, в рассылке):"
http://prntscr.com/lkbxqs
Данная функция работает по объекту "пользователь" (при наличии доп. полей https://getcourse.ru/blog/276068): http://prntscr.com/lknwzh и http://prntscr.com/lknx4x, далее http://prntscr.com/lknxdo; при наличии доп. поля по заказам https://getcourse.ru/blog/342984 по объекту "заказы" http://prntscr.com/lknzgy
Для рассылок есть свои переменные, они указаны справа внизу непосредственно в рассылке.
В зависимости от объекта рассылки переменные разные. Например, для рассылок по заказам переменная с номером есть http://take.ms/FexX7
Спасибо за такое дополнение.
Единственный момент есть, который почему-то косячно работает (задала вопрос в поддержку).
Преимущество этой возможности в том, что вы можете передавать абсолютно любые параметры - главное, чтобы в ссылке, по которой прошёл пользователь, они тоже присутствовали.
А почему в источниках нет возможности передать одну из главных меток utm_source ?
Не совсем понятно, о каком важном дополнении речь?