Это старая версия документа!


Маршруты

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

  • из точки 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'


external/integration/api/routes.1597332277.txt.gz · Последнее изменение: 2020/08/13 15:24 — alexander