Это старая версия документа!
Маршруты
Существуют запросы для трех типов маршрутов:
- из точки 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.net/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.net/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.net/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.net/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'