Фильтрация экскурсий
API позволяет искать подходящие экскурсии, используя различные фильтры. Для поиска экскурсий используйте метод https://experience.tripster.ru/api/search/experiences/.
Параметры запроса
Фильтры
city – обязательный параметр, фильтр по ID города
citytag фильтр по ID рубрики, либо group/special_offers
query поиск по тексту
persons_count количество человек
start_price минимальная стоимость
end_price максимальная стоимость
start_date дата "от" включительно в формате YYYY-MM-DD
end_date дата "по" включительно в формате YYYY-MM-DD
Сортировка
sorting возможные варианты: '-popularity' (по популярности, по умолчанию), '-rating' (по рейтингу отзывов, по убыванию) , 'price' (по цене, по возрастанию). При передаче параметра query доступен и используется по умолчанию 'relevance'.
Набор данных
detailed=false сокращенный набор полей. Используйте для загрузки списка экскурсий и отображения его у себя в реальном времени.
detailed=true расширенный набор полей. Используйте для загрузки полных данных по экскурсиям к себе в БД, а также для отображения одной экскурсии в реальном времени.
Запрос обновленных данных
updated_after=YYYY-MM-DD или YYYY-MM-DD HH:MM:SS будут возвращены экскурсии, которые изменились с этого времени
Доп. параметры
need_results - отдавать результаты поиска. По умолчанию true
need_aggregations - отдавать агрегированные данные по умолчанию false
Стандартные параметры format и page_size, прочитайте про постраничную загрузку данных
Структура ответа
Пример ответа API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
results [
{
"count": 216,
"next": "https://experience.tripster.ru/api/search/experiences/?city=3&page=2",
"previous": null,
"results": [
{
"id": 13530,
"title": "Монастырь на Казбеке — «высоко над семьею гор»",
"tagline": "Побывать в месте, воспетом Пушкиным и ставшим одним из символов Грузии",
"url": "https://experience.tripster.ru/experience/13530/",
"is_new": false,
"type": "group",
"instant_booking": true,
"child_friendly": true,
"max_persons": 20,
"duration": 10.0,
"meeting_point": {
"text": "в районе площади Мейдан"
},
"price": {
"value": 25.0,
"currency": "EUR",
"price_from": false,
"unit_string": "за человека",
"value_string": "€25 за человека",
"discount": {
"value": 0.4,
"expiration_date": "2019-07-07",
"expiration_text": "",
"original_price": 41.0
}
},
"review_count": 463,
"rating": 4.78,
"popularity": 103170,
"guide": {
"id": 136254,
"first_name": "Давид",
"url": "https://experience.tripster.ru/guide/136254/",
"avatar": {
"small": "https://experience-ireland.s3.amazonaws.com/avatar/65484e1c-7312-11e8-b3c5-6e714efd800d.31x31.jpg",
"medium": "https://experience-ireland.s3.amazonaws.com/avatar/653e91d8-7312-11e8-b3c5-6e714efd800d.150x150.jpg"
},
"rating": 4.68,
"review_count": 772,
"avg_reaction_delay": null,
"links": {
"reviews": "https://experience.tripster.ru/api/guides/136254/reviews/"
}
},
"photos": [
{
"thumbnail": "https://experience-ireland.s3.amazonaws.com/thumbs2/07ac3232-852d-11e8-9de2-0ac55974a77a.384x289.jpg",
"medium": "https://experience-ireland.s3.amazonaws.com/thumbs2/bd68c2fa-852c-11e8-9de2-0ac55974a77a.800x600.jpg"
}
],
"links": {
"reviews": "https://experience.tripster.ru/api/experiences/13530/reviews/",
"schedule": "https://experience.tripster.ru/api/experiences/13530/schedule/"
},
"status": "active"
},
...
],
"aggregations": {
"date": [
"2019-04-22T17:30:00",
"2019-10-19T00:00:00"
],
"price": {
"histogram_interval": 0.164,
"range": [
20.0,
720.0
],
"histogram": {
"20": 3,
"23": 2,
"27": 7,
"32": 7,
"37": 2,
"44": 11,
"52": 7,
"61": 10,
"72": 13,
"84": 17,
"99": 14,
"117": 38,
"138": 27,
"162": 18,
"191": 8,
"225": 16,
"265": 7,
"312": 4,
"367": 1,
"432": 1,
"509": 0,
"600": 2,
"707": 1
},
"persons_count": 1
},
"availability": {
"1": 216,
"2": 215,
"3": 213,
"4": 196,
"5": 173,
"6": 145,
"7": 98,
"8": 89,
"9": 59,
"10": 55
},
"tags": {
"all": 216,
"25": 61,
"193": 58,
"23": 40,
"310": 37,
"group": 30,
"194": 24,
"16": 20,
"18": 14,
"7641": 12,
"19": 10,
"special_offers": 10,
"7326": 9,
"21": 7,
"324": 7,
"6522": 7,
"3249": 2,
"311": 1,
"3248": 1
}
}
}
Описание ответа
Основные параметры
id | ID экскурсии в Трипстере | Число |
title | Название экскурсии | Строка |
tagline | Пояснение к названию для вывода в списке экскурсии | Строка |
url | Ссылка на страницу экскурсии на Трипстере (прочитайте про правила формирования ссылок) | Строка |
type | Тип экскурсии: private – индивидуальная, group – групповая | Строка |
instant_booking | Возможно ли моментальное бронирование экскурсии: true или false | Boolean |
child_friendly | Подходит ли экскурсия детям: true или false | Boolean |
max_persons | Максимальное число участников экскурсии | Число |
duration | Продолжительность экскурсии в часах | Float |
meeting_point | Объект с данными о месте встречи | Объект |
meeting_point.text | Строка с описанием места встречи. Может быть пустой строкой "" | Строка |
price | Объект с данными о цене экскурсии (посмотрите на картинку с объяснением параметров) | Объект |
price.value | Цена экскурсии | Float |
price.currency | Валюта экскурсии, совпадает с валютой страны | Строка |
price.price_from | Точная ли цена или это "цена от": false – точная, true – цена "от" | Boolean |
price.unit_string | Тип цены "за человека" или "за экскурсию" | Строка |
price.value_string | Сформированная строка с описанием цены экскурсии, по которой можно проверить понимание остальных параметров | Строка |
price.discount | Объект со скидкой на экскурсию, или null, если скидки нет | Объект |
price.discount.value | Размер скидки, "0.3" значит скидку 30% | Float |
price.discount.expiration_date | Дата окончания действия скидки, скидка предоставляется для всех заказов, сделанных до этой даты | Дата в формате YYYY-MM-DD |
price.discount.expiration_text | Подсказка о скором завершении действии скидки. Например, "еще 3 дня" | Строка |
price.discount.original_price | Оригинальная цена до скидки, чтобы показать ее зачеркнутой | Float |
review_count | Количество отзывов | Число |
rating | Рейтинг экскурсий от 0 до 5 | Float |
popularity | Индекс популярности, его можно использовать для самостоятельной сортировке экскурсий по популярности | Число |
guide | Объект с данными о гиде | Объект |
schedule | Объект расписания экскурсии. Отображается, если передать параметр detailed=true | Объект |
schedule.text | Расписание экскурсии "ежедневно в 10:00". Отображается, если передать параметр detailed=true | Строка |
photos | Список фотографий экскурсии, первая в списке фотография – для использования в листинге экскурсий. Если передать параметр detailed=true, отобразятся все фотографии. Если detailed=false – только первая. | Список |
photos.thumbnail | Ссылка на картинку-превьюшку города размером 384x289px | Строка |
photos.medium | Ссылка на картинку-превьюшку города размером 800x600px | Строка |
links.reviews | Ссылка на api отзывов для данной экскурсии | Строка |
Дополнительные параметры
Aggregations, если передан need_aggregations=true, отдаёт дополнительные данные, которые можно использовать в фильтрах по дате, цене, количеству человек, рубрикам.
date | Массив из двух дат, в пределах которых возможен поиск экскурсий. Например, "date": [ | Массив дат в формате YYYY-MM-DDTHH:MM:SS |
price | Объект, содержащий информацию о цене | Объект |
price.range | Массив из двух дат, в пределах которых возможен поиск по ценам. | Массив Float |
price.histogram | Позволяет построить график цен на экскурсии в логарифмической шкале. Объект, содержащий пары ключ-значение (например, {"20": 3, "23": 2}). | Массив ключ (строка) значение (Float) |
price.persons_count | Количество людей, для которых произведён подсчёт цен | Число |
availability | Позволяет узнать количество экскурсий в выдаче, если изменить количество человек в поиске. Объект, содержащий пары ключ-значение (например, {"1": 216, "2": 180}). | Массив ключ (строка) значение (Float) |
tags | Позволяет узнать количество экскурсий в выдаче при выборе другой рубрики. Объект, содержащий пары ключ-значение (например, {"all": 216, "25": 61, "group": 30}) | Массив ключ (строка) значение (Число) |