API предоставляет возможность пакетной загрузки пользовательского поведения. В теле вызова метода передается список пользовательских событий. Вызов гарантирует сохранение порядка переданных в него событий.
Специфика использования пакетной загрузки
Метод API visitorEvents решает проблему сохранения порядка пользовательских событий. К примеру, при потере соединения с сетью интернет, когда нельзя передать события в режиме реального времени, но действия совершаются в приложении. Как только у приложения появится доступ к сети интернет, нам важно получить эти события, но если отправить их с помощью обычных вызовов view, addToBasket - есть вероятность потерять порядок, из-за того, что каждый из вызовов view, addToBasket обработается разным сервером. Для сохранения порядка действий есть метод visitorEvents, принимающий набор событий и гарантирующий, что события будут сохранены в том порядке в котором они переданы.
Особенности использования
Для отправки двух пакетов событий, содержащих разное поведение одного пользователя, нужно отправить первый, дождаться успешного статуса ответа и после этого отправить второй;
Нельзя параллельно совершать более одного вызова, в которых есть события по одному пользователю - это может нарушить порядок;
Из-за необходимости вернуть подтверждение сохранения событий и порядка время ответа visitorEvents, как правило, на порядки больше времени ответа обычных (не пакетных) вызовов трекинга и может составлять порядка 1.5 секунд и более. В связи с этим не следует использовать данный вызов для передачи realtime-событий;
В вызове можно передать события для разных пользователей
Можно параллельно вызывать visitorEvents с пакетами для разных пользователей, т.к. порядок важен только в рамках одного пользователя;
Тело запроса
В теле запроса передается список пользовательских событий любого из следующих типов:
Имя поля | Тип | |
---|---|---|
ViewEventEnvelope | view | ViewEvent |
GroupEventViewEnvelope | groupView | GroupViewEvent |
AddToBasketEventEnvelope | addToBasket | addToBasketEvent |
OrderEventEnvelope | order | OrderEvent |
CategoryViewEventEnvelope | categoryView | CategoryViewEvent |
SearchViewEventEnvelope | search | SearchViewEvent |
ImpressionContentViewedEventEnvelope | impressionContentViewed | ImpressionContentViewedEvent |
ImpressionContentClickedEventEnvelope | impressionContentClicked | ImpressionContentClickedEvent |
EmailClickEventEnvelope | emailClick | EmailClickEvent |
WelcomeSequenceEventEnvelope | welcomeSequence | WelcomeSequenceEvent |
SetContactEventEnvelope | setContact | SetContactEvent |