Вся нужная информация об API данных отелей (методы, типы отельных подборок, ошибки запросов).
Обратите внимание! Часть данных можно получить без использования партнёрского токена — это методы получения отеля или локации по названию/координатам. Остальные запросы требуют указания партнёрского токена в запросе.
Методы API данных отелей
Поиск отеля или локации по названию
Адрес: https://engine.hotellook.com/api/v2/lookup.json
Поиск конкретного места или отеля по названию локации.
Обратите внимание! Если вы отправляете запрос без токена, то количество обращений будет ограничено. В header ответа передаются значения ограничений:
- X-Ratelimit-Interval — интервал в секундах, на который устанавливается лимит;
- X-Ratelimit-Remaining — сколько запросов осталось из этого лимита;
- X-Ratelimit-Limit — значение лимита.
Параметры запроса
Полужирным выделены обязательные параметры.
-
query — основной параметр, задаётся:
- в виде текста, при этом строится автокомплит по тексту;
- IATA код города;
- широтой и долготой (указываются через запятую), при этом выводятся ближайшие объекты.
- lang — язык вывода. Может принимать любой ISO-код языка (ru, es, fr, de, …) — если перевод на запрошенный язык отсутствует в базе, возвращается английское название объекта. По умолчанию «en»;
- lookFor — объекты, выводимые в результатах:
- city (города и острова);
- hotel (отели);
- both (все объекты, значение по умолчанию).
- limit — ограничение количества выводимых результатов, от 1 до 10, по умолчанию — 10;
- convertCase — автоматическое изменение раскладки (актуально для русскоязычных пользователей, например, при запросе «vjcrdf» будет найдена «москва»). Значения — 1 или 0, по умолчанию — 1.
Пример запроса
https://engine.hotellook.com/api/v2/lookup.json?query=moscow&lang=ru&lookFor=both&limit=1
Пример ответа
{
"results": {
"locations": [
{
"cityName": "Москва",
"fullName": "Москва, Россия",
"countryCode": "RU",
"countryName": "Россия",
"iata": [
"BKA",
"DME",
"SVO",
"VKO",
"MOW"
],
"id": "12153",
"hotelsCount": "930",
"location": {
"lat": "55.752222200",
"lon": "37.615555600"
},
"_score": 3.2695
}
],
"hotels": [
{
"label": "Отель Novotel Moscow City",
"locationName": "Москва, Россия",
"locationId": "12153",
"id": "1074388",
"fullName": "Отель Novotel Moscow City, Москва, Россия",
"location": {
"lat": "55.747160",
"lon": "37.539302"
}
}
]
},
"status": "ok"
}
Параметры ответа
Блок locations содержит:
- cityName — название города;
- fullName — название города и страны, в которой он находится;
- countryCode — код страны;
- countryName — название страны;
- iata — IATA-код аэропортов в данном городе, может быть несколько;
- id — id локации в базе;
- hotelsCount — количество отелей в данной локации;
-
location:
- lat — широта локации;
- lon — долгота локации.
- score — внутренний параметр, используемый для сортировки.
Блок hotels содержит:
- label — название отеля;
- locationName — местоположение отеля;
- locationId — id локации в базе;
- id — id отеля в базе;
- fullName — полное название отеля с указанием места нахождения;
-
location:
- lat — широта отеля;
- lon — долгота отеля.
Поиск отеля или локации по координатам
Адрес: https://engine.hotellook.com/api/v2/lookup.json
Поиск конкретного места или отеля по координатам.
Обратите внимание! Если вы отправляете запрос без токена, то количество обращений будет ограничено. В header ответа передаются значения ограничений:
- X-Ratelimit-Interval — интервал в секундах, на который устанавливается лимит;
- X-Ratelimit-Remaining — сколько запросов осталось из этого лимита;
- X-Ratelimit-Limit — значение лимита.
Параметры запроса
Полужирным выделены обязательные параметры.
-
query — основной параметр, задаётся:
- в виде текста, при этом строится автокомплит по тексту;
- IATA код города;
- широтой и долготой (указываются через запятую), при этом выводятся ближайшие объекты.
- lang — язык вывода. Может принимать любой ISO-код языка (ru, es, fr, de, …) — если перевод на запрошенный язык отсутствует в базе, возвращается английское название объекта. По умолчанию «en».
- lookFor — объекты, выводимые в результатах:
- city (города и острова);
- hotel (отели);
- both (все объекты, значение по умолчанию).
- limit — ограничение количества выводимых результатов, от 1 до 10, по умолчанию — 10;
- convertCase — автоматическое изменение раскладки (актуально для русскоязычных пользователей, например, при запросе «vjcrdf» будет найдена «москва»). Значения — 1 или 0, по умолчанию — 1.
Пример запроса
https://engine.hotellook.com/api/v2/lookup.json?query=55.0291,82.9059&lang=ru&lookFor=both&limit=1
Пример ответа
{
"results": {
"locations": [
{
"id": "12167",
"type": "City",
"countryIso": "RU",
"name": "Новосибирск",
"state": "",
"fullname": "Новосибирск, Россия",
"geo": {
"lat": "55.028705000",
"lon": "82.906898000"
}
}
],
"hotels": [
{
"id": "380923",
"name": "AZIMUT Отель Сибирь",
"locationId": "12167",
"location": {
"lat": "55.029140",
"lon": "82.905990"
}
}
]
},
"status": "ok"
}
Параметры ответа
Блок locations содержит:
- id — id локации в базе;
- type — тип локации (город, остров);
- countryIso — буквенный код страны;
- name — название локации;
- state — код штата, если есть;
- fullname — полное название локации с указанием названия страны;
-
geo:
- lat — широта локации;
- lon — долгота локации.
Блок hotels содержит:
- id — id отеля в базе;
- name — название отеля;
- locationId — id локации в базе;
- location:
- lat — широта отеля;
- lon — долгота отеля.
Вывод стоимости проживания в отелях
Адрес: https://engine.hotellook.com/api/v2/cache.json
Запрос используется для получения из кэша стоимости проживания в отеле за указанный период. Не содержит информацию о наличии свободных номеров.
Обратите внимание! Если вы отправляете запрос без токена, то количество обращений будет ограничено. В header ответа передаются значения ограничений:
- X-Ratelimit-Interval — интервал в секундах, на который устанавливается лимит;
- X-Ratelimit-Remaining — сколько запросов осталось из этого лимита;
- X-Ratelimit-Limit — значение лимита.
Пример запроса
https://engine.hotellook.com/api/v2/cache.json?location=Moscow¤cy=rub&checkIn=2020-12-10&checkOut=2020-12-12&limit=10
Параметры запроса
Полужирным выделены обязательные параметры.
- location — имя локации (может использоваться IATA-код локации);
- checkIn — дата заселения;
- checkOut — дата выселения;
- locationId — id локации (может использоваться вместо location);
- hotelId — id отеля;
- hotel — имя отеля (при вводе имени обязательно указывать location или locationId);
- adults — количество гостей (по умолчанию 2);
- limit — количество отелей. Если данный параметр используется в запросе без указания точного id или названия отеля, то действует следующее правило:
- limit = 4 (значение по умолчанию) — вернётся по одному отелю каждой категории (звёздности);
- limit = 5 — вернётся два пятизвёздочных отеля и по одному других категорий;
- limit = 6 — по два 5-ти и 4-х звёздочных отеля и остальные по одному;
- limit = 7 — по два 5, 4 и 3-х звёздочных отеля и один двухзвездочный;
- limit = 8 — всех по два. И так далее, с ростом параметра по очереди увеличивается количество отелей каждой звёздности. Если отелей указанной звёздности больше нет, то в выдачу начнут попадать отели 1 и 0 звёздности по такому же правилу.
- customerIp — параметр используется для указания ip пользователя, если запрос отправляется не напрямую, а через какое-либо серверное проксирование;
- currency — валюта ответа;
- token — ваш партнерский токен.
Пример ответа
{
"location":{
"country":"Russia",
"geo":{
"lon":37.617508,
"lat":55.752041
},
"state":null,
"name":"Moscow"
},
"priceAvg":60897.74,
"pricePercentile":{
"3":28863.56,
"10":28863.56,
"35":47805.27,
"50":59531.09,
"75":65435,
"99":120128.17
},
"hotelName":"Mercure Arbat Moscow",
"stars":4,
"locationId":12153,
"hotelId":333561,
"priceFrom":28863.56
}
Параметры ответа
В ответе содержатся:
- stars — количество звёзд;
- locationId — id локации данного отеля;
- priceFrom — минимальная цена за проживание в номере отеля за указанный период;
- priceAvg — средняя цена за проживание в номере за указанный период;
- pricePercentile — распределение цен по долям (например, запись вида «50»:59531.09 означает, что 50% цен находится в диапазоне до 59531.09 руб.);
- hotelName — название отеля;
-
location — информация о локации отеля:
- geo — координаты локации (города);
- name — название локации (города);
- state — штат, в котором расположен город;
- country — страна отеля.
- hotelId — id отеля.
Список отелей в архиве
Адрес: https://yasen.hotellook.com/tp/v1/hotels
С помощью запроса https://yasen.hotellook.com/tp/v1/hotels?language=ru можно скачать список всех отелей для указанного языка.
Параметр language может принимать значения:
- ru (русский);
- en (английский);
- th (тайский);
- de (немецкий);
- es (испанский);
- fr (французский);
- it (итальянский);
- pl (польский).
Файл со списком отелей содержит следующую данные:
- id — уникальный id отеля;
- name — название отеля;
- location_name — название места расположение отеля;
- location_id — уникальный id локации отеля;
- location_iata — IATA-код локации отеля;
- country_name — название страны, в которой расположен отель;
- photos_count — количество фотографий отеля в базе.
Файл с отелями обновляется один раз в неделю в час ночи (GMT) с субботы на воскресенье.
Подборки отелей
Адрес: https://yasen.hotellook.com/tp/public/widget_location_dump.json
Запрос возвращает подборку отелей, определённой тематики, по ID локации. Подборка формируется за определённый период (даты заезда и выселения).
Если не указать период, то в подборку попадают отели, найденные за последние три дня. У таких отелей может быть указана скидка за проживание.
Пример запроса
https://yasen.hotellook.com/tp/public/widget_location_dump.json?currency=rub&language=ru&limit=5&id=12209&type=popularity&check_in=2021-02-02&check_out=2021-02-17&token=Укажите_здесь_ваш_токен
Параметры запроса
- check_in — дата заселения;
- check_out — дата выселения;
- currency — валюта ответа;
- language — язык ответа;
- limit — ограничение на выводимое количество отелей;
- type — типы отелей из запроса /tp/public/available_selections.json (см. ниже);
- id — id города (из запроса Города).
Пример ответа
{
"popularity":[
{
"hotel_id":713859,
"distance":6.68,
"name":"Президент Отель",
"stars":4,
"rating":87,
"property_type":"hotel",
"hotel_type":[
"Отель для индивидуальных путешественников"
],
"last_price_info":{
"price":39707,
"old_price":42761,
"discount":7,
"insertion_time":1485464441,
"nights":15,
"search_params":{
"adults":2,
"children":{},
"checkIn":"2021-02-02",
"checkOut":"2021-02-17"
},
"price_pn":2647,
"old_price_pn":2851
},
"has_wifi":true
}
]}
Параметры ответа
- hotel_id — уникальный id отеля;
- distance — расстояние от отеля до центра города;
- name — название отеля;
- stars — количество звёзд;
- rating — рейтинг отеля среди посетителей;
-
property_type — тип отеля:
- apartment;
- apartmen_hotel;
- guest_house;
- hotel;
- hostel;
- other.
- hotel_type — описание типа отеля;
-
last_price_info — информация о последней найденной цене отеля (может отсутствовать)
- price — стоимость проживания за весь период со скидкой;
- old_price — стоимость проживания, найденная до скидки;
- discount — размер скидки;
- insertion_time — время, когда была найдена подборка;
- nights — количество ночей.
-
search_params — параметры поиска:
- adults — количество взрослых;
- children — количество детей;
- checkIn — дата заселения;
- checkOut — дата выселения.
- price_pn — стоимость ночи в отеле со скидкой;
- old_price_pn — стоимость ночи в отеле до скидки;
- has_wifi — наличие в отеле Wi-Fi.
Типы отельных подборок
Адрес: https://yasen.hotellook.com/tp/public/available_selections.json
Запрос возвращает список всех существующих отельных подборок. Данный тип используется в получении подборок отелей.
Пример запроса
https://yasen.hotellook.com/tp/public/available_selections.json?id=12209&token=Укажите_здесь_ваш_токен
Пример ответа
[
"center",
"tophotels",
"highprice",
"3-stars",
"4-stars",
"5-stars",
"restaurant",
"pets",
"pool",
"cheaphotel_ufa",
"luxury_ufa",
"price",
"rating",
"distance",
"popularity",
"2stars",
"3stars",
"4stars",
"5stars"
]
Параметры ответа
- center — отели в центре города;
- tophotels — лучшие отели;
- highprice — самые дорогие отели;
- 3-stars, 4-stars, 5-stars — автоматическая подборка отелей с 3, 4 или 5 звёздами;
- restaurant — наличие собственного ресторана;
- pets — можно ли держать животных;
- pool — наличие бассейна;
- cheaphotel — самые дешёвые отели;
- luxury — отели высшего качества;
- price — вручную сформированные подборки по цене;
- rating — отели с наибольшим рейтингом;
- distance — расстояние от аэропорта;
- popularity — популярность отеля (используется внутренний алгоритм);
- 2stars, 3stars, 4stars, 5stars — вручную собранные подборки с соответствующим количеством звёзд.
Статические данные по отелям
Запросы, в результате которых партнер получает информацию о странах, городах и отелях.
Обратите внимание! По умолчанию установлено ограничение: 60 запросов в минуту. Если требуется обрабатывать больше запросов, напишите на support@travelpayouts.com.
Запрос «Страны»
Адрес: https://engine.hotellook.com/api/v2/static/countries.json
Параметры запроса
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/countries.json?token=УкажитеВашТокен
Пример ответа
[{ "id": "9",
"code": "DZ",
"name": {
"EN": [{
"isVariation": "0",
"name": "Algeria"
}],
"RU": [{
"isVariation": "0",
"name": "\u0410\u043b\u0436\u0438\u0440"
}]
}
},
{
"id": "10",
"code": "AO",
"name": {
"EN": [{
"isVariation": "0",
"name": "Angola"
}],
"RU": [{
"isVariation": "0",
"name": "\u0410\u043d\u0433\u043e\u043b\u0430"
}]
}
}]
Параметры ответа
В ответе содержатся:
- id — id страны;
- code — код страны;
- Блок EN:
- isVariation — указывает, основное или дополнительное название отображается. 1 — дополнительное, 0 — основное. Например, Санкт-Петербург (0), Ленинград (1), Питер (1);
- name — название страны на английском.
- Блок RU:
- isVariation — указывает, основное или дополнительное название отображается;
- name — название страны на русском.
Запрос «Города»
Адрес: https://engine.hotellook.com/api/v2/static/locations.json
Параметры запроса
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/locations.json?token=УкажитеВашТокен
Пример ответа
[{
"id": "373",
"code": "",
"countryId": "77",
"latitude": "15.501950000",
"longitude": "73.910090000",
"name": {
"EN": [{
"isVariation": "0",
"name": "Goa"
}],
"RU": [{
"isVariation": "0",
"name": "\u0413\u043e\u0430"
}]
}
}]
Параметры ответа
В ответе содержатся:
- id — id города (locationId);
- code — IATA-код города;
- countryId — id страны;
- latitude — широта города;
- longitude — долгота города;
- Блок DE:
- isVariation — указывает, основное или дополнительное название отображается. 1 — дополнительное, 0 — основное;
- name — название города на немецком.
- Блок EN:
- isVariation — указывает, основное или дополнительное название отображается;
- name — название города на английском.
- Блок RU:
- isVariation — указывает, основное или дополнительное название отображается;
- name — название города на русском.
Запрос «Amenities»
Адрес: https://engine.hotellook.com/api/v2/static/amenities.json
Параметры запроса
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/amenities.json?token=УкажитеВашТокен
Пример ответа
[{
"id": "2",
"name": "Hairdryer",
"groupName": "Room"
},
{
"id": "3",
"name": "Safe",
"groupName": "Room"
},
{
"id": "4",
"name": "TV",
"groupName": "Room"
}]
Параметры ответа
Ответ отдается на английском языке. В ответе содержатся:
- id — id удобств в базе;
- name — название удобств;
- groupName — расположение удобств.
Чтобы получить ответ на другом языке, необходимо использовать запросы вида:
- Русский: /api/v2/static/amenities/ru.json;
- Французский: /api/v2/static/amenities/fr.json;
- Немецкий: /api/v2/static/amenities/de.json;
- Испанский: /api/v2/static/amenities/es.json.
Запрос «Hotels list»
Адрес: https://engine.hotellook.com/api/v2/static/hotels.json
Параметры запроса
- locationId — id локации, обязательный параметр;
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/hotels.json?locationId=895&token=УкажитеВашТокен
Пример ответа
{
"gen_timestamp": 1725954055.6464293003,
"pois": [],
"hotels": [
{
"id": 1915976746,
"cityId": 895,
"stars": 1,
"pricefrom": 0,
"rating": 0,
"popularity": 0,
"propertyType": 1,
"checkIn": "12:00",
"checkOut": "11:00",
"distance": 6.9,
"photoCount": 46,
"photos": [
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_0/320/240.auto",
"width": 320,
"height": 240
},
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_1/320/240.auto",
"width": 320,
"height": 240
},
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_2/320/240.auto",
"width": 320,
"height": 240
},
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_3/320/240.auto",
"width": 320,
"height": 240
},
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_4/320/240.auto",
"width": 320,
"height": 240
},
{
"url": "https://photo.hotellook.com/image_v2/limit/h1915976746_5/320/240.auto",
"width": 320,
"height": 240
},
],
"photosByRoomType": {
"1": 5,
"12": 4,
"3": 4,
"4": 5,
"38": 8,
"31": 2
},
"yearOpened": null,
"yearRenovated": null,
"cntRooms": 9,
"cntSuites": null,
"cntFloors": null,
"facilities": [],
"shortFacilities": [],
"location": {
"lon": 81.19601,
"lat": 6.20174
},
"name": {
"en": "Hotel Bundala Park View"
},
"address": {
"en": "Weligaththa Junction , Tissa Road"
},
"link": "/lk/weerawila-895/hotel_bundala_park_view-1915976746.html",
"poi_distance": {}
}
}
Параметры ответа
В ответе содержатся:
- id — id отеля в базе hotellook;
- cityId — id города;
- stars — количество звёзд;
- pricefrom — минимальная найденная стоимость ночи, в USD;
- rating — рейтинг посетителей. Параметры рассчитывается на основе рейтинга гостей, который составляется на основе голосования;
- popularity — популярность отеля. Популярность рассчитывается нами автоматически на основе совокупности многих параметров — их несколько десятков;
- propertyType — тип отеля (хостел, мотель, вилла, и т. п.);
- checkOut — время выселения;
- checkIn — время заселения;
- distance — расстояние до центра;
- photoCount — количество фотографий;
-
photos
- url — ссылка на фотографию;
- width — ширина фотографии;
- height — высота фотографии.
- photosByRoomType — фотографии типов комнат. Ключ — id типа комнаты, значение — количество фотографий;
- yearOpened — год открытия отеля;
- yearRenovated — год последней реконструкции отеля;
- facilities — id удобства в базе;
- shortFacilities — наличие удобств из списка: 'restaurant', 'parking', 'non-smoking', 'pets', 'tv', 'laundry', 'air conditioning', 'internet', 'pool', 'fitness', 'wi-fi in public areas', 'wi-fi in room', 'hairdryer', 'shared bathroom', 'safe', 'babysitting', 'children care/activities' (список может дополняться и меняться);
-
location
- lat — широта отеля;
- lon — долгота отеля.
-
name — название отеля:
- en — на английском языке (есть всегда);
- ru — адрес на русском (может отсутствовать).
- cntFloors — количество этажей;
- cntSuites — количество люксов;
- cntRooms — количество комнат;
-
address — адрес отеля:
- en — на английском языке (есть всегда);
- ru — адрес на русском (может отсутствовать).
-
link — ссылка на страницу отеля;
Чтобы преобразовать эту ссылку в полноценный URL, используйте шаблон вида: https://hotellook.com/hotels/hotel- и подставьте код отеля из ответа. Например:
- Вы получили в ответе "link":"\/lk\/weerawila-895\/bandagiri_village-678963.html"
- Готовая ссылка будет выглядеть следующим образом: https://hotellook.com/hotels/hotel-678963 - poi_distance — расстояние до важных мест (в списке отображается id места из массива pois и расстояние до него в метрах);
-
pois — массив ближайших важных мест:
- confirmed — подтвержденное место;
- rating — рейтинг места (если есть);
- location — координаты;
- name — название места;
- geom — координаты точки;
- category — категория места;
- id — id места в базе.
Запрос «Типы комнат»
Адрес: https://engine.hotellook.com/api/v2/static/roomTypes.json
Параметры запроса
- language — язык ответа (поддерживаются языки: pt, en, fr, de, id, it, pl, es, th, ru);
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/roomTypes.json?language=en&token=УкажитеВашТокен
Пример ответа
{
"8":"Apartment",
"18":"Bungalow",
"15":"Business",
"73":"Business apartment",
"86":"Business deluxe",
...
}
Ответ содержит id комнаты и её название.
Запрос «Типы отелей»
Параметры запроса
- language — язык ответа (поддерживаются языки: pt, en, fr, de, id, it, pl, es, th, ru);
- token — ваш партнёрский токен.
Пример запроса
https://engine.hotellook.com/api/v2/static/hotelTypes.json?language=ru&token=УкажитеВашТокен
Пример ответа
{
"1":"Hotel",
"6":"Guest House",
"4":"Apartment \/ Condominium",
"3":"Bed & Breakfast",
"7":"Hostel",
"8":"Resort",
"5":"Motel",
"10":"Vacation Rental",
"2":"Apartment Hotel",
"12":"Villa",
"11":"Lodge",
"9":"Agriturismo \/ Farm Stay",
"0":"Other"
}
Запрос «Фотографии отеля». Старый метод
Обратите внимание! Фотографии отелей можно размещать только на личных сайтах/приложениях, в которых используются отельные партнёрские программы от платформы Travelpayouts.
Адрес: https://photo.hotellook.com/image_v2/limit/
Параметры запроса
- h+Id — буква h + идентификатор отеля (из static/hotels.json);
- photoId — порядковый номер фотографии отеля;
- photosize — размер фотографии (указывается в виде «ширина/высота», если указано одно значение, то отобразится квадратная фотография).
Примеры запроса
https://photo.hotellook.com/image_v2/limit/h418520_1/800/520.auto
https://photo.hotellook.com/image_v2/crop/h418520_1/800/520.auto
где
- limit — возвращает фотографию не больше заданного размера;
- crop — возвращает фотографию отеля заданного размера. При этом фотография будет отмасштабирована/обрезана под указанный размер;
- 418520 — id отеля;
- 1 — порядковый номер фотографии;
- 800 — ширина;
- 520 — высота;
- .auto — ставится для того, чтобы наша система проверила, может ли браузер пользователя принять WebP формат изображения. Если да, сервер предоставит изображение в формате WebP. Если нет, изображение будет в формате JPEG.
Запрос «Фотографии отеля». Новый метод
Обратите внимание! Фотографии отелей можно размещать только на личных сайтах/приложениях, в которых используются отельные партнёрские программы от платформы Travelpayouts.
Отправьте запрос на адрес https://yasen.hotellook.com/photos/hotel_photos?id=27926056,4
где id — это id отелей, указанные через запятую.
В ответ придет массив id фотографий для каждого отеля:
{
"4":[5162091534,5162091993],"27926056":[7505789398,7505803908]
}
После этого отправьте запрос на адрес https://photo.hotellook.com/image_v2/limit/photo_id/800/520.auto
где вместо photo_id подставьте id фотографии.
Запрос «Фотографии комнат отеля в виде спрайта»
Адрес: http://photo.hotellook.com/rooms/sprite/
Чтобы получить спрайт с фотографиями отеля, используйте код вида:
http://photo.hotellook.com/rooms/sprite/h<hotel_id>_<group_id>/<first_width>/<photos_count-1>/<rest_photos_width>.auto
Параметры запроса
- h+Id — буква h + идентификатор отеля (из static/hotels.json);
- group_id — id типа комнаты (из static/hotels.json и internalTypeId из ответа поиска);
- first_width — ширина первой фотографии в спрайте;
- photos_count-1 — количество фотографий данного типа комнат минус один (из static/hotels.json). Например, если в ответе приходит, что фотографий данного типа 4 штуки, то вместо этого параметра указывается 3;
- rest_photos_width — ширина остальных фотографий в спрайте;
- auto — ставится для того, чтобы наша система проверила, может ли браузер пользователя принять WebP формат изображения. Если да, сервер предоставит изображение в формате WebP. Если нет, изображение будет в формате JPEG.
Пример запроса
https://photo.hotellook.com/rooms/sprite/h4_1/100/3/50.auto
https://photo.hotellook.com/rooms/sprite/h4_12/100/3/50.auto
Чтобы получить спрайт с прямоугольными фотографиями, необходимо вместе с шириной указать высоту фотографий:
https://photo.hotellook.com/rooms/sprite/h4_12/100x50/3/50x25.auto
Дополнительная информация
Чтобы получить фотографию комнаты заданного размера, используйте код вида:
https://photo.hotellook.com/rooms/crop/h<hotel_id>_<group_id>_<photo_idx>/<width>/<height>.auto
При этом фотография будет отмасштабирована и обрезана под указанный размер.
Чтобы получить фотографию не больше заданного размера, используйте код вида:
https://photo.hotellook.com/rooms/limit/h<hotel_id>_<group_id>_<photo_idx>/<width>/<height>.auto
Параметры в запросе аналогичны описанным выше, кроме photo_idx — это индекс фотографии в списке (индекс первой фотографии — 0).
https://photo.hotellook.com/rooms/crop/h4_12_1/200/200.auto
Запрос «Фотография города»
Обратите внимание! Фотографии городов можно размещать только на личных сайтах/приложениях, в которых используются отельные партнёрские программы от платформы Travelpayouts.
Адрес: https://photo.hotellook.com/static/cities/
Чтобы получить фотографию города, используйте запрос вида:
https://photo.hotellook.com/static/cities/960x720/LED.jpg
где 960x720 — размер фотографии, LED — IATA-код города.
Запрос «Логотипы агентств»
Чтобы получить логотип агентства, используйте запрос вида
https://pics.avs.io/hl_gates/width/height/id.png
где width — ширина логотипа, height — высота логотипа и id — id агентства. Размер можно задавать любой.
Ошибки запросов
Все входные параметры проверяются и выдаются ошибки, если они неверны:
- errorCode 1 — не все обязательные параметры указаны или указаны неверно;
- errorCode 2 — как минимум один из параметров не соответствует формату;
- errorCode 3 — доступ запрещён;
- errorCode 4 — поиск еще не закончен.
При наличие любой из ошибок запрос завершается с http-статусом, отличным от 200 (например 409, 403, 400 и др.).