Callback-вызов, или вызов URL, представляет собой операцию в процессах, направленную на отправку сообщений с данными во внешний сервис посредством API.
Для чего это используется: Например, если у вас есть данные о клиентской базе, которые хранятся и обрабатываются во внешнем сервисе, и вы хотите передавать туда информацию о новых регистрациях, заказах и других изменениях, вам потребуется настроить callback-вызов.
В данной статье мы расскажем о:
- Настройке callback-вызова.
- Переменных, доступных для использования при callback-вызове.
- Способах сохранения ответа от сервера в дополнительном поле.
- Процессе тестирования callback-вызова.
Как настроить callback-вызов
Создание и настройка процессов доступны для:
- владельца,
- администратора.
Для настройки callback-вызова в процессе добавьте операцию "Вызвать URL".
Важно учесть, что операция "Вызвать URL" не предназначена для массовой передачи данных. В таких случаях рекомендуется использовать экспорт объектов в файл формата .CSV с последующей обработкой во внешней системе или экспорт через API.
Для настройки callback-вызова в процессе, укажите адрес (URL) внешнего сервиса в ссылке и перечислите данные, которые необходимо передать из GetCourse.
Пример использования синтаксиса в процессе по пользователям может выглядеть следующим образом:
api_url/?var_1={object.first_name}&var_2={object.email}&...
Таким образом, в запросе будут переданы данные, такие как имя пользователя вместо {object.first_name} и адрес электронной почты пользователя вместо {object.email}. Вы можете использовать и другие переменные, а полный список предоставлен ниже.
Вы также можете выбрать метод передачи данных: GET или POST. Однако, вне зависимости от выбранного метода, все данные будут передаваться в ссылке, указанной в поле URL.
Обратите внимание на следующие моменты:
- Важно указывать переменные в правильном формате, как показано в соответствующей статье.
- Операции "Вызвать URL" выполняются последовательно, поэтому задавать завышенные значения для полей "Время на ожидание соединения" и "Время на соединение" не рекомендуется, чтобы избежать задержек в выполнении задач.
- Для корректной отправки запроса на внешний сервис рекомендуется использовать только буквы латинского алфавита, цифры, знак дефиса и знак нижнего подчеркивания.
Переменные, которые можно использовать для callback-вызова
Ниже представлен полный список переменных, которые можно использовать в ссылке в поле URL:
Пользователь:
— имя,
— фамилия,
— имя полностью,
— идентификатор,
— эл. адрес,
— телефон,
— город,
/public/img/default_profile_50.png — ссылка на аватар пользователя,
{Название дополнительного поля} — данные из дополнительного поля пользователя (нужно вписать полный заголовок поля, значение которого должно передаваться),
— имя персонального менеджера пользователя,
— эл. адрес персонального менеджера пользователя,
— телефон персонального менеджера пользователя.
Заказ:
{number} — номер заказа,
— идентификатор заказа,
{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 будут взяты из профиля менеджера.
Партнёр пользователя:
— идентификатор партнёра,
— имя партнёра,
— фамилия партнёра,
— автоматическое русскоязычное имя партнёра,
— эл. адрес партнёра,
— номер телефона партнёра,
— дата регистрации партнёра.
Источник пользователя (сессия, во время которой он зарегистрировался):
— партнёрский код,
— UTM-метки,
и т.д.
Вы можете добавить в ссылку любой кастомный параметр — если новый посетитель пройдёт по этой ссылке и зарегистрируется, параметр запишется в источник пользователя и его можно будет передавать по 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}
Результат:
авторизуйтесь