Маршруты

Существуют запросы для трех типов маршрутов:

из точки A в точку B (route_start_finish)

из точки A / в точку A (route_in_out)

популярные маршруты (route_popular)

Запросы для этих типов имеют разные URL и набор передаваемых параметров, но возвращают данные в едином формате (массив массивов объектов JSON), где объект - элемент маршрута. Массив объектов - маршрут, массив массивов объектов - набор маршрутов, соответствующий переданным параметрам. Объект состоит из следующих полей:

id - уникальный идентификатор объекта на сервере Shopster,

name - наименование объекта,

floor - этаж, на котором находится объект,

value - количество посетителей на данном этапе маршрута.

Также существует вспомогательный запрос route_threshold_list, отдающий список возможных значений порогов вовлеченности для маршрутов. Одно из этих значений должно быть подставлено в параметр engagement_threshold в запросах по маршрутам. В маршрутах будут учтены только посетители, проведшие в каждой точке маршрута более выбранного значения времени.

URL

/reports/route_threshold_list

Method

GET

Headers

x-token=[string]

Response

[ { "threshold": "30 second", "name_ru": "30 секунд" }, { "threshold": "1 minute", "name_ru": "1 минута" }, { "threshold": "2 minute", "name_ru": "2 минуты" }, { "threshold": "3 minute", "name_ru": "3 минуты" }, { "threshold": "5 minute", "name_ru": "5 минут" }, { "threshold": "10 minute", "name_ru": "10 минут" }, { "threshold": "20 minute", "name_ru": "20 минут" }, { "threshold": "30 minute", "name_ru": "30 минут" } ]

Request:

curl 'https://api-public.getshopster.com/reports/route_threshold_list' -H 'x-token: xxxx'

URL

/reports/route_start_finish

GET Params:

from=[date]

to=[date]

object_start=[int]

object_finish=[int] - объект того же типа, что и object_start

top=[int] - количество выведенных в ответ маршрутов, отсортированных по убыванию популярности

engagement_threshold=[string] - порог вовлеченности. Может принимать значения, содержащиеся в поле threshold ответа метода /reports/route_threshold_list

include_objects=[[]int]*

exclude_objects=[[]int]*

num_steps=[int]* - количество шагов в маршруте

*необязательные

URL

/reports/route_in_out

GET Params:

from=[date]

to=[date]

object=[int]

type=[in|out|in,out]

num_steps=[int] - количество шагов в маршруте

top=[int] - количество выведенных в ответ маршрутов, отсортированных по убыванию популярности

engagement_threshold=[string] - порог вовлеченности. Может принимать значения, содержащиеся в поле threshold ответа метода /reports/route_threshold_list

include_objects=[[]int]*

exclude_objects=[[]int]*

*необязательные

URL

/reports/route_popular

GET Params:

mall_id=[int]

object_type=[monitor|raw_zone|floor] - тип объектов, по которым будут выведены маршруты. monitor - зона датчика, raw_zone - объединеная зона нескольких датчиков, floor - этаж

from=[date]

to=[date]

top=[int] - количество выведенных в ответ маршрутов, отсортированных по убыванию популярности

engagement_threshold=[string] - порог вовлеченности. Может принимать значения, содержащиеся в поле threshold ответа метода /reports/route_threshold_list

edge=[any_part|begin|end|full] - определяет, являются ли первые/последние точки выводимых маршрутов первыми/последними или промежуточными точками в маршруте посетителя. any_part - выводить самые популярные маршруты, вне зависимости от того, являются ли они полными маршрутами посетителей или их частями, begin - выводить самые популярные маршруты, первая точка в которых является первой точкой маршрута посетителя, end - выводить самые популярные маршруты, последняя точка которых является последней точкой в маршруте посетителя, full - выводить только самые популярные полные маршруты (первая и последняя точки являются первыми и последними точками в маршруте посетителя)

num_steps=[int]* - количество шагов в маршруте

include_objects=[[]int]*

exclude_objects=[[]int]*

*необязательные

Method

GET

Headers

x-token=[string]

Response

[ [ { "id": 4464, "name": "1-N-Bags", "floor": 1, "value": 54 }, { "id": 4465, "name": "1-N-Bags/Restaurant", "floor": 1, "value": 42 } ], [ { "id": 4464, "name": "1-N-Bags", "floor": 1, "value": 54 }, { "id": 4468, "name": "1-P-Perfume/Skincare", "floor": 1, "value": 2 }, { "id": 4465, "name": "1-N-Bags/Restaurant", "floor": 1, "value": 2 } ], [ { "id": 4464, "name": "1-N-Bags", "floor": 1, "value": 54 }, { "id": 4469, "name": "1-m-Optics", "floor": 1, "value": 3 }, { "id": 4465, "name": "1-N-Bags/Restaurant", "floor": 1, "value": 2 } ], [ { "id": 4464, "name": "1-N-Bags", "floor": 1, "value": 54 }, { "id": 4482, "name": "3-N-Designercollections", "floor": 3, "value": 1 }, { "id": 4465, "name": "1-N-Bags/Restaurant", "floor": 1, "value": 1 } ], [ { "id": 4464, "name": "1-N-Bags", "floor": 1, "value": 54 }, { "id": 4483, "name": "3-N-Shoes", "floor": 3, "value": 2 }, { "id": 4465, "name": "1-N-Bags/Restaurant", "floor": 1, "value": 1 } ] ]

Request:

curl 'https://api-public.getshopster.com/reports/route_start_finish?object_start=4464&object_finish=4465&from=2016-11-01&to=2016-12-14&top=5&engagement_threshold=30%20second' -H 'x-token: xxxx'

curl 'https://api-public.getshopster.com/reports/route_in_out?object=4464&from=2016-11-27&to=2016-12-27&num_steps=1&top=5&type=out&engagement_threshold=30%20second' -H 'x-token: xxxx'

curl 'https://api-public.getshopster.com/reports/route_popular?engagement_threshold=3%20minute&object_type=floor&mall_id=3572&num_steps=1&from=2016-11-27&to=2016-12-27&edge=begin&top=5' -H 'x-token: xxxx'