# Метод достижения цели
В некоторых случаях требуется вручную передать информацию о том, что какой-то клиент достиг какой-то цели. Например, если достижение цели происходит не на сайте (в мобильном приложении или вообще в вашей ЦРМ).
Данный функционал является аналогом офлайн-конверсий в Яндекс.Метрике (opens new window)
# Описание метода
POST: https://api.sales-ninja.me/outer/v1.0/goal/reach
Тело запроса:
{
"Ip": "<IP клиента (пользователя). Необязательно>",
"GoalId": "<Id цели в Sales Ninja. Обязательно>",
"CustomerId": "<Id клиента в Sales Ninja. Обязательно>",
"SessionId": "<Id сессии клиента в Sales Ninja. Необязательно>",
"CreatedOnUtc": "<время совершения конверсии по UTC. Необязательно>",
"CustomUserScopeParams": "<параметры пользователя. Необязательно>",
"CustomPageScopeParams": "<параметры пользователя. Необязательно>"
}
# Примеры тела запроса
{
"Ip": "185.237.80.128",
"GoalId": "299837db-9b51-45a4-996b-844d3fd05bbd",
"CustomerId": "2eccd743-4164-4892-a416-dc5c16f44971",
"SessionId": "123212db-9b51-a416-996b-844d3fd09b51",
"CreatedOnUtc": "2022-10-27 12:23:25.367999",
"CustomUserScopeParams": {
"Revenue": "12350",
"NetProfit": "900"
},
"CustomPageScopeParams": {
}
}
Или
{
"GoalId": "299837db-9b51-45a4-996b-844d3fd05bbd",
"CustomerId": "2eccd743-4164-4892-a416-dc5c16f44971",
"CustomPageScopeParams": {
"Revenue": "12350",
"NetProfit": "900"
}
}
# Ip
IP адрес пользователя, совершившего конверсию - необязательно, но желательно передавать для обогащения данных на стороне Sales Ninja.
# GoalId
GoalId - это уникальный ID цели в системе Sales Ninja. Обратите внимание — именно в системе Sales Ninja, а не в системе, откуда передаются данные.
GoalId можно получить, например, в адресной строке редактора цели:
https://app.sales-ninja.me/goal/<Id будет ут>/edition
Представляет собой GUID/UUID (opens new window) - например, ea565c1b-70b1-4165-bd39-4df0d4e4f9bc.
# CustomerId
CustomerId можно получить через вызов JS-метода внутри вашего сайта:
//Устаревший вариант
window.SalesNinja.getCustomerId() // Это синхронная функция, будет работать только при window.SalesNinja.ready == true
//Новый вариант (асинхронное получение) - вариант 1
ninja('getCustomerIdAsync').then(id => {
//id в параметре придет customer id
})
//Новый вариант (асинхронное получение) - вариант 2
const id = await ninja('getCustomerIdAsync')
# SessionId
SessionId можно получить через вызов JS-метода внутри вашего сайта:
//Вариант 1
ninja('getSessionIdAsync').then(id => {
//id в параметре придет session id
})
//Вариант 2
const id = await ninja('getSessionIdAsync')
# CustomUserScopeParams
В параметре CustomUserScopeParams можно передать пользовательские параметры клиента в виде объекта ключ-значение.
Пользовательские параметры клиента используются для обогащения данных. В том числе так можно передать выручку или чистую прибыль. Значение каждого параметра обязательно должно быть строкой (не 12500, а "12500").
# CustomPageScopeParams
В параметре CustomUserScopeParams можно передать пользовательские параметры страницы в виде объекта ключ-значение.
Пользовательские параметры страницы используются для обогащения данных. В том числе так можно передать выручку или чистую прибыль. Значение каждого параметра обязательно должно быть строкой (не 12500, а "12500").
В случае успешного выполнения, метод вернет пустой ответ со статусом 200 OK (opens new window).
Информация о достигнутой цели (конверсии) появится в системе через какое-то время.