Описание
Интеграция позволяет передавать информацию о новых заказах, оплатах и возвратах заказов с сохранением UTM-меток и доп. полей.
Дополнительная информация.
Можно работать с партнером заказа в ГК и передавать информацию о партнере отсюда. Но иногда бывают ситуации, что в куках остался другой партнер, что плохо влияет на партнерские отношения. Чтобы это избежать мы делаем доп. поле fuid, которое напрямую берёт GET параметр и вставляет его в доп. поле, и далее мы передаём информацию именно из этого доп. поля в процессы.
Инструкция
- Получить ключ для работы с API EdproBiz, а также ApiKey в разделе Настройки — Интеграции.
- В ГК нужно зайти в раздел Заказы — Продажи — Заказы, и добавить доп. поля, которые необходимо передавать.
- Добавляем 6 доп полей, все значения строковые. Рекомендуемые доп. поля для передачи:
- fuid — ID партнера
- utmSource — utm метка
- utmMedium — utm метка
- utmCampaign — utm метка
- utmTerm — utm метка
- utmContent — utm метка
Создание формы с полями
- Создаем страницу в ГК по адресу домен/pl/cms/page
- Создаем обычную форму с полями
- Имя
- Телефон
- Предложение
- А так же указываем доп поля — поле заказа
- fuid
- utmSource
- utmMedium
- utmCampaign
- utmTerm
- utmContent
- !!! Важно в полях заказа указать класс элемента hidden, чтобы пользователь не видел визуально данные поля
- !ВАЖНО для страницы нужно разместить js с помощью добавления области Javascript-код и поместить скрипт
Вариант А
setTimeout(function(){
var params = window
.location
.search
.replace('?', '')
.split('&')
.reduce(
function(p,e){
var a = e.split('=');
p[ decodeURIComponent(a[0])] = decodeURIComponent(a[1]);
return p;
},
{}
);
console.log(params)
if(params['utmSource']!=undefined) {
var str = params['utmSource'];
$("#field-input-1634516").val(str);
}
if(params['utmMedium']!=undefined) {
var str = params['utmMedium'];
$("#field-input-1637965").val(str);
}
if(params['utmCampaign']!=undefined) {
var str = params['utmCampaign'];
$("#field-input-1637966").val(str);
}
if(params['utmTerm']!=undefined) {
var str = params['utmTerm'];
$("#field-input-1637967").val(str);
}
if(params['utmContent']!=undefined) {
var str = params['utmContent'];
$("#field-input-1637968").val(str);
}
if(params['fuid']!=undefined) {
var str = params['fuid'];
$("#field-input-1637964").val(str);
}
}, 1000);
Вариант Б
function getGet(name) {
var s = window.location.search;
s = s.match(new RegExp(name + '=([^&=]+)'));
return s ? decodeURI(s[1]) : false;
}
$(function(){
$("#field-input-1654809").val(getGet("utmSource"));
$("#field-input-1654810").val(getGet("utmMedium"));
$("#field-input-1654811").val(getGet("utmCampaign"));
$("#field-input-1654813").val(getGet("utmContent"));
$("#field-input-1654812").val(getGet("utmTerm"));
$("#field-input-1654808").val(getGet("fuid"));
});
!!! Тут главное сопоставить поля инпутов со значением параметра
Чтобы проверить правильность, перейдите на вашу созданную страницу с параметрами — Вашастраница/?utmSource=testSours&utmMedium=testMedium&utmCampaign=testCampaign&utmTerm=testTerm&utmContent=testContent&fuid=123123 и создайте тестовый заказ. В итоге вы должны получить
Если все данные передались, значит Вы верно сопоставили значения в скрипте.
Создаем позиции на Edpro
Необходимо создать список позиций с теми же названиями, что и предложения в ГК.
- В разделе Продажи — позиции нажимаете создать позицию
- Указываете название как предложение из ГК
- Наборы позиций — можно все предложения сортировать по направлениям, категориям и тд, тут пока просто можно создать один набор и положить туда, при желании потом можно отсортировать все позиции для аналитики.
- Цена подтянется из ГК при автосоздании, но можно указать на всякий случай
- Остальные поля не заполняем
- В разделе дополнительно указываем id внешний — это id предложения из ГК
Далее настроить процессы Вы можете, используя один из доступных методов API. Мы рекомендуем использовать 2 вариант — Единый метод API.
Это позволит Вам более гибко передавать информацию о сделках, если пользователь и заказ существуют, то данные обновятся.
Вариант 1. Создание процессов по методу API V 1.0
Создаем процесс создания заказа
- После этих шагов создаем процессы в разделе Задачи — Процессы.
Работаем только с Заказами, так как при создании заказа будем автоматически передавать и клиента. - Создаем процесс
- Название — Создание заказа
- Тип объекта — Заказы
- Шаблон процесса — Без шаблона
- В Массовое создание задач указываем — Периодическая проверка
- Правило вхождения объекта — Дата создания, ставим любую из прошедших дат
- Сохраняем
- Далее во вкладке — Процесс — Нажимаем добавить блок — Операция — Вызвать url
- В описание для менеджера указываем любое понятное название (к примеру — Заказ)
- Метод — GET
- Url — https://accountN.edpro.biz/api/course/order/create?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&fuid={object.partner.id}&partner={object.partner.email}&utmSource={object.utmSource}&utmMedium={object.utmMedium}&utmCampaign={object.utmCampaign}&utmTerm={object.utmTerm}&utmContent={object.utmContent}&fuid={object.fuid}&token=ВАШТОКЕН&apiKey=ВАШКЛЮЧ
Где N — id вашей школы на EdproBiz
token — Ваш токен из пункта 1
apiKey — Ваш ключ из пункта 1 - Сохраняем
- Создаем еще 1 блок — Завершение процесса
- Далее завязываем все в цепочку просто перетаскивая стрелочки от блока к блоку. Сохраняем и запускаем процесс.
Создаем процесс передачи оплат
- Создаем процесс для первой оплаты с названием Оплата 1.
- Все то же самое, что и для первого процесса, разница только в правилах вхождения объекта
- Для первой оплаты ставим
- Есть платеж — от-до 1/1
- Статус — Получен, списание с баланса
- Далее во вкладке — Процесс все то же самое, как и в варианте заказа, но меняется немного url.
- https://accountN.edpro.biz/api/course/order/create?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&token=ВАШТОКЕН&apiKey=ВАШКЛЮЧ&paymentNumber=1
Где N — id вашей школы на EdproBiz
token — Ваш токен из пункта 1
apiKey — Ваш ключ из пункта 1
- https://accountN.edpro.biz/api/course/order/create?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&token=ВАШТОКЕН&apiKey=ВАШКЛЮЧ&paymentNumber=1
- Повторяем действие 13 еще 3 раза, меняя название на Оплата 2, Оплата 3 и т.д
- Статус — Получен, списание с баланса
- В url будет меняться только параметр paymentNumber=1 на paymentNumber=2, далее paymentNumber=3 и paymentNumber=4
- Есть платеж — от-до 2/2 или Есть платеж — от-до 3/3
Создаем процесс завершенного заказа
- Все то же самое
- в правилах вхождения объекта — Завершен — Да
- Url — https://accountN.edpro.biz/api/course/order/create?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&token=ВАШТОКЕН&apiKey=ВАШКЕЙ
Создаем процесс возврата платежа
- Все то же самое, кроме
- Правило вхождения объекта — Статус платежа — Возвращен
- Статус заказа — Ожидаем возврата
- Url — https://accountN.edpro.biz/api/course/order/update?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&token=ВАШТОКЕН&apiKey=ВАШКЕЙ
!!!Важно
В карточке заказа нужно указать при возврате необходимо указать
А) Платеж — Возвращен
Б) Статус сделки — Ожидаем возврата
Готово! Заказы передаются из ГК в EdproBiz.
Дополнительно
При желании, можно настроить проверку на наличии у заказа значения в доп. поле fuid, и тогда делать вызов разных url. Например:
- Добавляем условие fuid задано.
- Если есть значение в поле fuid, то передаем URL — https://accountN.edpro.biz/api/course/order/create?admitad_uid={object.admitad_uid}&utmSource={object.utmSource}&utmMedium={object.utmMedium}&utmCampaign={object.utmCampaign}&utmTerm={object.utmTerm}&utmContent={object.utmContent}&positionIds={object.offers}&positions={object.positions}&email={object.user.email}&price={object.cost_money}&pricePaid={object.payed_money}&discount={object.user.iva_discount}&orderId={object.number}&status={object.status}&comment=&token=ВАШТОКЕН&apiKey=ВАШКЕЙ&fuid={object.fuid}¤cy=RUB
- Если нет значения в поле fuid, то передаем URL —
https://accountN.edpro.biz/api/course/order/create?admitad_uid={object.admitad_uid}&utmSource={object.utmSource}&utmMedium={object.utmMedium}&utmCampaign={object.utmCampaign}&utmTerm={object.utmTerm}&utmContent={object.utmContent}&positionIds={object.offers}&positions={object.positions}&email={object.user.email}&price={object.cost_money}&pricePaid={object.payed_money}&discount={object.user.iva_discount}&orderId={object.number}&status={object.status}&comment=&token=ВАШТОКЕН&apiKey=ВАШКЕЙ&partner={object.partner.email}¤cy=RUB
Вариант 2. Создание процессов по единому методу API
Документация по единому методу API https://edpro.notion.site/API-V-1-0-9165aa24bc254618bb0e049eac8efb78
Создаем процесс создания заказа
- После этих шагов создаем процессы в разделе Задачи — Процессы.
Работаем только с Заказами, так как при создании заказа будем автоматически передавать и клиента. - Создаем процесс
- Название — Создание заказа
- Тип объекта — Заказы
- Шаблон процесса — Без шаблона
- В Массовое создание задач указываем — Периодическая проверка
- Правило вхождения объекта — Дата создания, ставим любую из прошедших дат
- Сохраняем
- Далее во вкладке — Процесс — Нажимаем добавить блок — Операция — Вызвать url
- В описание для менеджера указываем любое понятное название (к примеру — Заказ)
- Метод — GET
- Url -https://accountN.edpro.biz/api/v1/edprobiz/create?u_email={object.user.email}&u_phone={object.user.phone}&u_name={object.user.first_name}&u_id_ext={object.user.id}&o_id_ext={object.number}&o_price={object.cost_money_value}&o_offer_name={object.positions}&o_offer_id_ext={object.offers}¤cy=RUB&o_status={object.status}&o_parent_fuid={object.partner.id}&o_parent_email={object.partner.email}&o_utm_source={object.utmSource}&o_utm_medium={object.utmMedium}&o_utm_campaign={object.utmCampaign}&o_utm_term={object.utmTerm}&o_utm_content={object.utmContent}&funnelAuto=1&token=токен&apiKey=ключ
Где N — id вашей школы на EdproBiz
token — Ваш токен из пункта 1
apiKey — Ваш ключ из пункта 1 - Сохраняем
- Создаем еще 1 блок — Завершение процесса
- Далее завязываем все в цепочку просто перетаскивая стрелочки от блока к блоку. Сохраняем и запускаем процесс.
Создаем процесс передачи оплат
- Создаем процесс для первой оплаты с названием Оплата 1.
- Все то же самое, что и для первого процесса, разница только в правилах вхождения объекта
- Для первой оплаты ставим
- Есть платеж — от-до 1/1
- Статус — Получен, списание с баланса
- Далее во вкладке — Процесс все то же самое, как и в варианте заказа, но меняется немного url.
- https://accountN.edpro.biz/api/v1/edprobiz/create?u_email={object.user.email}&u_phone={object.user.phone}&u_name={object.user.first_name}&u_id_ext={object.user.id}&o_id_ext={object.number}&o_price={object.cost_money_value}&o_offer_name={object.positions}&o_offer_id_ext={object.offers}¤cy=RUB&o_status={object.status}&o_parent_fuid={object.partner.id}&o_parent_email={object.partner.email}&o_utm_source={object.utmSource}&o_utm_medium={object.utmMedium}&o_utm_campaign={object.utmCampaign}&o_utm_term={object.utmTerm}&o_utm_content={object.utmContent}&p_sum={object.payed_money}&funnelAuto=1&token=токен&apiKey=ключ&paymentNumber=1
Где N — id вашей школы на EdproBiz
token — Ваш токен из пункта 1
apiKey — Ваш ключ из пункта 1
- https://accountN.edpro.biz/api/v1/edprobiz/create?u_email={object.user.email}&u_phone={object.user.phone}&u_name={object.user.first_name}&u_id_ext={object.user.id}&o_id_ext={object.number}&o_price={object.cost_money_value}&o_offer_name={object.positions}&o_offer_id_ext={object.offers}¤cy=RUB&o_status={object.status}&o_parent_fuid={object.partner.id}&o_parent_email={object.partner.email}&o_utm_source={object.utmSource}&o_utm_medium={object.utmMedium}&o_utm_campaign={object.utmCampaign}&o_utm_term={object.utmTerm}&o_utm_content={object.utmContent}&p_sum={object.payed_money}&funnelAuto=1&token=токен&apiKey=ключ&paymentNumber=1
- Повторяем действие 13 еще 3 раза, меняя название на Оплата 2, Оплата 3 и т.д
- Статус — Получен, списание с баланса
- В url будет меняться только параметр paymentNumber=1 на paymentNumber=2, далее paymentNumber=3 и paymentNumber=4
- Есть платеж — от-до 2/2 или Есть платеж — от-до 3/3
Создаем процесс завершенного заказа
- Все то же самое
- в правилах вхождения объекта — Завершен — Да
- Url — https://accountN.edpro.biz/api/course/order/create?email={object.user.email}&phonenumber={object.user.phone}&firstname={object.user.first_name}&userId={object.user.id}&orderId={object.number}&price={object.cost_money_value}&positions={object.positions}&positionIds={object.offers}¤cy=RUB&pricePaid={object.payed_money}&status={object.status}&token=ВАШТОКЕН&apiKey=ВАШКЕЙ
Создаем процесс возврата платежа
- Все то же самое, кроме
- Правило вхождения объекта — Статус платежа — Возвращен
- Статус заказа — Ожидаем возврата
- Url — https://accountN.edpro.biz/api/v1/edprobiz/create?u_email={object.user.email}&u_phone={object.user.phone}&u_name={object.user.first_name}&u_id_ext={object.user.id}&o_id_ext={object.number}&o_price={object.cost_money_value}&o_offer_name={object.positions}&o_offer_id_ext={object.offers}¤cy=RUB&o_status=возврат&o_parent_fuid={object.partner.id}&o_parent_email={object.partner.email}&o_utm_source={object.utmSource}&o_utm_medium={object.utmMedium}&o_utm_campaign={object.utmCampaign}&o_utm_term={object.utmTerm}&o_utm_content={object.utmContent}&funnelAuto=1&token=токен&apiKey=ключ
!!!Важно
В карточке заказа нужно указать при возврате необходимо указать
А) Платеж — Возвращен
Б) Статус сделки — Ожидаем возврата
Готово! Заказы передаются из ГК в EdproBiz.