Предыдущая версия справа и слева
Предыдущая версия
|
|
external:integration:api:routes [2020/08/13 15:24] alexander удалено |
— (текущий) |
{{indexmenu_n>130}} | |
======= Маршруты ====== | |
| |
Существуют запросы для трех типов маршрутов: | |
| |
* из точки 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** | |
| |
<code javascript> | |
[ | |
{ | |
"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 минут" | |
} | |
] | |
</code> | |
| |
**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** | |
| |
<code javascript> | |
[ | |
[ | |
{ | |
"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 | |
} | |
] | |
] | |
</code> | |
| |
**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' | |
'' | |
| |