Подписаться

API

API (client-side)

Для сохранения взаимодействий с Персоной в историю событий на сайте предусмотрено API, которое позволяет регистрировать как сам факт события, так и контактные данные, которые были переданы в рамках события.

События, регистрируемые в сервисе, отображены в таблице.

На странице событий отражена информация о количестве регистрируемых типов событий, количестве лидов с событиями, а также общему количеству событий, регистрируемых в Системе. 

В текущей версии предусмотрены также вкладки, позволяющие отделять события, регистрируемые через API и события в каналах обслуживания LiveTex. 

С помощью функции leadhub.sendEvent можно регистрировать происходящие с пользователем события и сохранять полученные от него контакты.

Синтаксис

Без контактов

leadhub.sendEvent(eventName[, options])

С контактами

leadhub.sendEvent(eventName, contacts, [, options])

Параметры

  • eventName - название события (напр, "registration"),
  • contacts - массив контактов (опционально),
  • options - объект с дополнительными настройками вызова,
  • callback - функция, которая будет вызвана после завершения запроса,
  • timeout - таймаут (в миллисекундах) для вызова коллбэка.

Типы контактов

  • leadhub.contact.Name - имя,
  • leadhub.contact.Email - email,
  • leadhub.contact.Phone - телефон,
  • leadhub.contact.CompanyPhone - телефон организации,
  • leadhub.contact.CompanyEmail - email организации,
  • leadhub.contact.CompanyName - организация,
  • leadhub.contact.Post - должность,
  • leadhub.contact.Address - почтовый адрес,
  • leadhub.contact.SocialNetworkUrl - ссылка на профиль в соцсети (вконтакте, facebook, twitter, linkedin),
  • leadhub.contact.SiteUrl - ссылка на сайт,
  • leadhub.contact.Skype - skype.

Примеры

без контактов

leadhub.sendEvent("checkout");

с контактами

leadhub.sendEvent("registration", [
  new leadhub.contact.Name("Петр Петров"),
  new leadhub.contact.Email("petr@petrov.com")
]);

Логирование событий при отправке формы

Если события логируются при отправке формы или нажатии на ссылку, при этом страница закрывается, прежде чем браузер успевает отправить данные на сервер, то для данной проблемы имеется два способа решения: 

  1. Открывать ссылки в новой вкладке через установку html-атрибута target="_blank".
  2. В обработчкиках блокировать отправку формы или переход по ссылке, пока данные не отправятся на сервер.
    Этого можно достичь используя параметры callback и timeout (в миллисекундах).
    Callback - функция, которая будет вызвана после того, как данные будут доставлены на сервер. В этой функции можно разместить код, который произведет событие отправки формы.
    Через параметр timeout регулируется максимально допустимая задержка (по умолчанию 500 миллисекунд).

Пример с использованием JQuery:

$('input[type="submit"]').click(function(e) {
  e.preventDefault();
  var self = this;

  leadhub.sendEvent('checkout', {
    callback: function() {
      $(self).parents('form').submit();
    },
    timeout: 500
  });
});


В примере отправка формы блокируется (максимум на 500 миллисекунд)до тех пор, пока не будет отправлено событие в сервис. После этого происходит отправка формы и пользователь переходит на следующую страницу.

API (server-side) 

API серверной части Системы управления лидами позволяет получать с серверной части вашей системы (биллинга, CRM и т.д.) события, совершённые посетителями сайта в рамках одного аккаунта. Также, серверный API позволяет фиксировать параметры событий, такие как время и название, а также контактные данные посетителей и их атрибуты, такие как тип данных и значение.

Organisations. Методы для действий с организациями

Метод: /v1/organisations/{organisationId}/events

Тип метода: POST-запрос

Описание: Метод добавляет к идентификатору организации в вашей системе те события, которые были совершены посетителями в рамках одного аккаунта. Дополнительно могут сохраняться контактные данные пользователей и произвольные атрибуты этих событий.
Все события логируются. 

Параметр Описание Тип Опциональность Примечание
organizationId Идентификатор организации в вашей системе path, string обязательно Параметр используется только при работе с серверным API LeadHub.
body Сообщение с названием события и списком атрибутов  посетителя body обязательно  
access-token Передача ключа API через заголовок в http-запросе header обязательно Чтобы получить access-token – обратитесь в техническую поддержку через Telegram

Пример:

curl -X POST --header 'access-token: test_token' -d '
  "eventName": "purchase",
  "contacts": [
{
  "contactType": "1",
  "value": contact@email.dot
}
                  ],
  "attributes": [
{
  "key": "Price",
  "value": "60.2",
  "timestamp": "1454407547"
}
                    ]
}

'http://leadhub-api.sandbox.livetex/v1/organisations/my_org_id_here/events' 

Атрибуты AddEventMessage:

Параметр Описание Тип Опциональность
eventName Название события
(устанавливается пользователем)
string обязательно
contacts Список контактных данных  

Array[contact]*

обязательно
attributes  Список произвольных параметров Array[attribute]** обязательно

*Массив Contact: 

Параметр Описание Тип Опциональность
contactType Тип контакта*** integer Обязательно
value Значение параметра
(контакт)

 string

Обязательно

**Массив Attribute: 

Параметр Описание Тип Опциональность
key Название атрибута  string обязательно
value Значение атрибута  string обязательно
timestamp Время создания атрибута  integer обязательно

*** Типы контактных данных:

0 – неизвестен;
1 – email;
2 - телефон;
3 - имя;
4 - телефон организации;
5 - email организации;
6 – организация;
7 – должность
8 - почтовый адрес
9 - ссылка на профиль в соцсети (вконтакте, facebook, twitter, linkedin);
10 - ссылка на сайт;
11 – skype;
12- идентификатор организации.

Ответы сервера:

Код Пояснение
201  Событие успешно сохранено
422

Невалидный тип контакта

500 Внутренняя ошибка сервера

Проверить работу методов API можно на специальной странице.

 

Метод: /v1/organisations/{organisationId}/visitors/{visitorId}

Тип метода: POST-запрос

Описание: Связывает посетителя сайта с идентификатором организации в вашей системе.

Параметр Описание Тип Опциональность Примечание
organizationId Идентификатор организации в вашей системе path, string обязательно Параметр используется только при работе с серверным API LeadHub
visitorId Идентификатор посетителя сайта path, string обязательно  
access-token Передача ключа API через заголовок в http-запросе header обязательно Чтобы получить access-token – обратитесь в техническую поддержку, напрямую к руководителю проекта через Telegram

Пример:

curl -X POST --header 'access-token: test_token' '
http://leadhub-api.sandbox.livetex/v1/organisations/my_org_id_here/visitors/leadhub_visitor_id_here'

Ответы сервера:

Код Пояснение
201  Посетитель успешно связан с клиентом LeadHub
500 Внутренняя ошибка сервера

Проверить работу методов API можно на специальной странице.

VisitorID

Получение через cookie

Чтобы предоставить возможность получить идентификатор посетителя на сервере, Система управления лидами сохраняет его в cookie.

По умолчанию идентификатор сохраняется под названием lt_uid.
Чтобы изменить этот и другие параметры нужно перед кодом вставки сервиса создать объект с названием LeadHubConfig, который будет переопределять настройки по умолчанию.

Поле Тип Значение по умолчанию Пояснение
cookieName string "lt_uid" Имя cookie
cookieDomain string document.location.hostname Домен cookie
cookieExpires number null Срок хранения (в секундах)
setCookie boolean true Устанавливать ли cookie

Например, чтобы передавать cookie под названием "my_cookie_name" на все поддомены сайта mysite.com нужно создать такой объект:

window.LeadHubConfig = {
  cookieName: "my_cookie_name",
  cookieDomain: ".mysite.com"
}

Получение через api-метод

Кроме того идентификатор пользователя можно получить через метод leadhub.getVisitorId.

Синтаксис

leadhub.getVisitorId(callback)

Параметры

callback - Функция обратного вызова, принимающая идентификатор пользователя (string).

Пример

leadhub.getVisitorId(function(visitorId){
  console.log(visitorId);
});

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии