Аналитика (json) — различия между версиями

Материал из wiki.Sletat.ru
Перейти к: навигация, поиск
(Новая страница: «== Введение == XML-шлюз аналитики Слетать.ру содержит набор методов для ценового анализа да…»)
 
(Минимальные цены по параметрам поиска)
 
(не показано 10 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
[[Category:Расширения и дополнения]]
 
== Введение ==
 
== Введение ==
  
Строка 4: Строка 5:
  
 
* «Минимальные цены по параметрам поиска». Этот метод позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. На Рис. 0.1. представлен пример реализации графика минимальных цен. По заданному поисковому запросу (тур из Москвы в Египет на двоих, продолжительностью от 6 до 16 ночей, без ограничений по курорту, туроператору, категории отеля, типу размещения или типу питания), выводятся минимальные цены на туры в диапазоне «дата поиска + 45 дней»; цены на туры представлены в виде гистограммы; диапазон дат вылета, выбранный при поиске (5 апреля – 13 апреля) выделен затенением; при наведении курсора мыши на столбец гистограммы выводится точная цена тура, название туроператора, тип питания, тип номера, название курорта, название отеля и количество звёзд.
 
* «Минимальные цены по параметрам поиска». Этот метод позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. На Рис. 0.1. представлен пример реализации графика минимальных цен. По заданному поисковому запросу (тур из Москвы в Египет на двоих, продолжительностью от 6 до 16 ночей, без ограничений по курорту, туроператору, категории отеля, типу размещения или типу питания), выводятся минимальные цены на туры в диапазоне «дата поиска + 45 дней»; цены на туры представлены в виде гистограммы; диапазон дат вылета, выбранный при поиске (5 апреля – 13 апреля) выделен затенением; при наведении курсора мыши на столбец гистограммы выводится точная цена тура, название туроператора, тип питания, тип номера, название курорта, название отеля и количество звёзд.
pic 1
+
[[File:an-0-1.png |center|frame | Пример реализации графика минимальных цен на сайте sletat.ru.]]
  
 
* «Минимальные цены тура на другие даты». Метод, описанный в этом разделе, используется для построения графика изменения цены тура, соответствующего заданным параметрам поиска, в диапазоне дат. На Рис. 0.2 приведён пример реализации графика. В описании таблицы приведены параметры тура: отель (с указанием количества звёзд), курорт, город вылета, продолжительность тура (в ночах), тип питания и тип размещения; на гистограмме представлены минимальные цены на туры, соответствующие заданным параметрам, на интервал дат, ограниченный только датой поиска (анализируются данные по всем турам, представленным в системе Слетать.ру); при наведении курсора мыши на столбец гистограммы во всплывающем окне выводится информация о туроператоре, дате вылета, дате и времени поиска и цене тура (в сравнении с ценойанализируемого тура); пользователь может отфильтровать данные по туроператорам.
 
* «Минимальные цены тура на другие даты». Метод, описанный в этом разделе, используется для построения графика изменения цены тура, соответствующего заданным параметрам поиска, в диапазоне дат. На Рис. 0.2 приведён пример реализации графика. В описании таблицы приведены параметры тура: отель (с указанием количества звёзд), курорт, город вылета, продолжительность тура (в ночах), тип питания и тип размещения; на гистограмме представлены минимальные цены на туры, соответствующие заданным параметрам, на интервал дат, ограниченный только датой поиска (анализируются данные по всем турам, представленным в системе Слетать.ру); при наведении курсора мыши на столбец гистограммы во всплывающем окне выводится информация о туроператоре, дате вылета, дате и времени поиска и цене тура (в сравнении с ценойанализируемого тура); пользователь может отфильтровать данные по туроператорам.
pic 2
+
[[File:an-0-2.png |center|frame | Пример реализации графика других дат вылета на сайте sletat.ru.]]
  
 
* «История цены тура». Эта группа методов позволяет строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. На Рис. 0.3 приведён пример реализации графика. Для выбранного тура (на двоих в Хургаду 9 апреля, с вылетом из Москвы, продолжительностью 6 ночей, отель Triton Empire Hotel 3*, тип размещения Standard, тип питания HB, оператор Pegas Touristik) выводится график изменения цены; пользователь может просмотреть динамику за неделю, за месяц или за всё время с момента появления тура в системе поиска Слетать.ру.
 
* «История цены тура». Эта группа методов позволяет строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. На Рис. 0.3 приведён пример реализации графика. Для выбранного тура (на двоих в Хургаду 9 апреля, с вылетом из Москвы, продолжительностью 6 ночей, отель Triton Empire Hotel 3*, тип размещения Standard, тип питания HB, оператор Pegas Touristik) выводится график изменения цены; пользователь может просмотреть динамику за неделю, за месяц или за всё время с момента появления тура в системе поиска Слетать.ру.
pic 3
+
[[File:an-0-3.png |center|frame |  Пример реализации графика изменения цены тура на сайте sletat.ru]]
  
 
== Минимальные цены по параметрам поиска ==
 
== Минимальные цены по параметрам поиска ==
  
Метод '''GetToursGroupByDate''' позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. Адрес сервиса: http://graph.sletat.ru/main.svc/Метод принимает поисковые параметры и возвращает массив из двух колонок для постройки графика, в первой – даты вылета в формате dd.MM.yyyy, во второй – минимальная цена тура на дату.
+
Метод '''GetToursGroupByDate''' позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. Адрес сервиса:
 +
https://graph.sletat.ru/main.svc/
 +
 
 +
Метод принимает поисковые параметры и возвращает массив из двух колонок для постройки графика, в первой – даты вылета в формате dd.MM.yyyy, во второй – минимальная цена тура на дату.
  
 
Параметры:
 
Параметры:
Строка 32: Строка 36:
 
* date1 - первая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 1 день;
 
* date1 - первая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 1 день;
 
* date2 - вторая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 8 дней;
 
* date2 - вторая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 8 дней;
* sources - список идентификаторов туроператоров через запятую (по умолчанию не используется);
+
* sources - список идентификаторов туроператоров через запятую ('''обязательный параметр''');
 
* ticketsIncluded - при значении 1 отображаются цена на туры только с перелетом (по умолчанию 0);
 
* ticketsIncluded - при значении 1 отображаются цена на туры только с перелетом (по умолчанию 0);
 
* limitMin – временной интервал (от текущих даты и времени), за который нужно сделать выборку данных (60 – за последний час, 1440 – за последние сутки, и т.д.).
 
* limitMin – временной интервал (от текущих даты и времени), за который нужно сделать выборку данных (60 – за последний час, 1440 – за последние сутки, и т.д.).
Строка 38: Строка 42:
 
Пример вызова:
 
Пример вызова:
  
  http://graph.sletat.ru/main.svc/GetToursGroupByDate?countryId=40&cityFromId=832&cities=1592,1642&meals=115&stars=403,404&adults=2&nightsMin=7&nightsMax=10&date1=12.05.2013&date2=27.06.2013&ticketsIncluded=1
+
  https://graph.sletat.ru/main.svc/GetToursGroupByDate?login=xxx&password=yyy&countryId=40&cityFromId=832&cities=1592,1642&meals=115&stars=403,404&adults=2&nightsMin=7&nightsMax=10&date1=12.09.2015&date2=27.09.2015&ticketsIncluded=1&sources=380,6
  
Запрашиваются данные по направлению Москва – Египет (Шарм-эль-Шейх и Хургада), в отели 4 и 5 звезд, тип питания AI, продолжительность 7-10 ночей, на диапазон дат с 12 мая по 27 июня.
+
Запрашиваются данные по направлению Москва – Египет (Шарм-эль-Шейх и Хургада), в отели 4 и 5 звезд, тип питания AI, продолжительность 7-10 ночей, на диапазон дат с 12 мая по 27 июня по туроператорам TUI и Coral
  
 
Пример ответа:
 
Пример ответа:
Строка 207: Строка 211:
 
== Минимальные цены тура на другие даты ==
 
== Минимальные цены тура на другие даты ==
  
Метод '''GetTourPriceGroupByDate''' возвращает данные для построения графика (дата – минимальная цена) и вывода подсказок к каждой точке (дата последнего обновления информации о туре, туроператор). Адрес сервиса: http://graph.sletat.ru/main.svc.
+
Метод '''GetTourPriceGroupByDate''' возвращает данные для построения графика (дата – минимальная цена) и вывода подсказок к каждой точке (дата последнего обновления информации о туре, туроператор). Адрес сервиса:
 +
https://graph.sletat.ru/main.svc.
  
 
{| class="standard"
 
{| class="standard"
 
| style="background-color:silver" |'''Хеши туров'''
 
| style="background-color:silver" |'''Хеши туров'''
В выдаче '''GetTours''' (JSON API) для каждого тура в массиве данных элемент с индексом 67 содержит уникальный хеш тура, который запрашивает данные для описываемого графика.
+
В выдаче '''GetTours''' (JSON API) для каждого тура в массиве данных элемент с индексом 79 или параметр TourHash в ответе метода GetRequestResult (XML API) содержит уникальный хеш тура, который запрашивает данные для описываемого графика.
 
|}
 
|}
  
Строка 217: Строка 222:
 
* countryId - идентификатор страны;
 
* countryId - идентификатор страны;
 
* dptCityId - идентификатор города вылета;
 
* dptCityId - идентификатор города вылета;
* hash – хеш тура;
+
* hash – хеш тура (поле TourHash в ответе метода GetRequestResult или элемент с индексом 79 в ответе GetTours);
 
* dateStart - первая дата в диапазоне дат в формате dd.MM.yyyy;
 
* dateStart - первая дата в диапазоне дат в формате dd.MM.yyyy;
 
* dateEnd - вторая дата в диапазоне дат в формате dd.MM.yyyy;
 
* dateEnd - вторая дата в диапазоне дат в формате dd.MM.yyyy;
Строка 224: Строка 229:
 
Пример вызова:
 
Пример вызова:
  
  http://graph.sletat.ru/Main.svc/GetTourPriceGroupByDate?countryId=40&dptCityId=832&dateStart=07.05.2013&dateEnd=06.07.2013&hash=Gb1cwWo1vF4xCEPuHVo71Q%3D%3D
+
  https://graph.sletat.ru/Main.svc/GetTourPriceGroupByDate?&login=xxx&password=yyy&countryId=40&dptCityId=832&dateStart=13.08.2015&dateEnd=23.09.2015&hash=J7YKqhBQORktZuYWXFamDA%3D%3D
  
Запрашиваются данные для тура по направлению Москва – Египет для диапазона дат с 7 мая 2013 г. до 6 июля 2013 г.Пример ответа:
+
Запрашиваются данные для тура по направлению Москва – Египет для диапазона дат с 13 августа 2015 г. до 23 сентября 2015 г.Пример ответа:
  
 
<source lang="xml">
 
<source lang="xml">
  
{
+
GetTourPriceGroupByDateResult: {
  "GetTourPriceGroupByDateResult":
+
Data: {
  {
+
dates: [
    "Data":
+
"14.08.2015",
    {
+
"15.08.2015",
      "dates":
+
"16.08.2015",
      [
+
"17.08.2015",
        "13.05.2013",
+
"18.08.2015",
        "14.05.2013",
+
"19.08.2015",
        "15.05.2013",
+
"20.08.2015",
        "16.05.2013",
+
"21.08.2015",
        "18.05.2013",
+
"22.08.2015",
        "19.05.2013",
+
...
        "20.05.2013",
+
],
        "23.05.2013",
+
found: [
        "26.05.2013",
+
"13.08.2015 11:31:00",
        "27.05.2013",
+
"13.08.2015 10:23:00",
        "30.05.2013",
+
"13.08.2015 10:23:00",
        "03.06.2013",
+
"12.08.2015 13:41:00",
        "06.06.2013",
+
"13.08.2015 12:36:00",
        "09.06.2013",
+
"12.08.2015 13:11:00",
        "10.06.2013",
+
"13.08.2015 12:36:00",
        "13.06.2013",
+
"13.08.2015 01:00:00",
        "16.06.2013",
+
"13.08.2015 12:30:00",
        "17.06.2013",
+
"13.08.2015 12:26:00",
        "20.06.2013",
+
...
        "23.06.2013",
+
],
        "24.06.2013",
+
offers: [
        "27.06.2013",
+
268127847,
        "30.06.2013",
+
1202512476,
        "01.07.2013",
+
1202512474,
        "04.07.2013"
+
244057401,
      ],
+
268571106,
      "found":
+
1177213682,
      [
+
268571122,
        "12.05.2013 19:00:00",
+
1204447483,
        "11.05.2013 12:53:00",
+
267572652,
        "12.05.2013 19:03:00",
+
265763194,
        "11.05.2013 19:31:00",
+
...
        "11.05.2013 14:28:00",
+
],
        "12.05.2013 19:03:00",
+
prices: [
        "12.05.2013 19:03:00",
+
38335,
        "12.05.2013 19:00:00",
+
33153,
        "12.05.2013 18:56:00",
+
31734,
        "12.05.2013 18:56:00",
+
49263,
        "12.05.2013 17:17:00",
+
34565,
        "12.05.2013 18:41:00",
+
49278,
        "12.05.2013 18:41:00",
+
38855,
        "12.05.2013 17:57:00",
+
40635,
        "12.05.2013 17:57:00",
+
43535,
        "12.05.2013 12:06:00",
+
43535,
        "12.05.2013 09:08:00",
+
...
        "12.05.2013 17:30:00",
+
],
        "12.05.2013 17:30:00",
+
requests: [
        "12.05.2013 13:41:00",
+
1340488352,
        "12.05.2013 13:41:00",
+
1340309141,
        "12.05.2013 13:41:00",
+
1340309141,
        "11.05.2013 20:45:00",
+
1338385388,
        "12.05.2013 19:03:00",
+
1340675097,
        "12.05.2013 17:50:00"
+
1338304937,
      ],
+
1340675097,
      "prices":
+
1339574679,
      [
+
1340654525,
        19020,
+
1340641344,
        38328,
+
...
        20901,
+
],
        22324,
+
sources: [
        22324,
+
3,
        21596,
+
148,
        21596,
+
148,
        21596,
+
3,
        24474,
+
3,
        24474,
+
148,
        25928,
+
3,
        27351,
+
148,
        27351,
+
3,
        27351,
+
3,
        27351,
+
...
        27351,
+
]
        26023,
+
},
        24474,
+
ErrorMessage: null,
        24474,
+
ExecutionTimeMs: 0,
        24474,
+
IsError: false
        24474,
+
        24474,
+
        24474,
+
        24474,
+
        24474
+
      ],
+
      "sources":
+
      [
+
        7,
+
        119,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163,
+
        163
+
      ]
+
    },
+
    "ErrorMessage": null,
+
    "IsError": false
+
  }
+
 
}
 
}
  
 
</source>
 
</source>
  
Возвращаются четыре массива данных:
+
Возвращаются массивы данных:
* dates даты, для которых есть цена на тур;
+
* dates даты, для которых есть цена на тур;
* found дата и время последнего обновления информации к каждой дате из массива dates;
+
* found дата и время последнего обновления информации к каждой дате из массива dates;
* prices минимальные цены тура на каждую дату из массива dates;
+
* offers — offerId каждого тура;
* sources – туроператор каждого тура;
+
* prices минимальные цены тура на каждую дату из массива dates;
 +
* requests — requestId каждого тура;
 +
* sources — идентификатор туроператора каждого тура;
  
 
== История цены тура ==
 
== История цены тура ==
  
Методы '''GetToursPriceLogCount''', '''GetTourPriceLog''' и '''GetTourPriceLogBulk''' позволяют строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. Адрес сервиса: http://graph.sletat.ru/main.svc.
+
Методы '''GetToursPriceLogCount''', '''GetTourPriceLog''' и '''GetTourPriceLogBulk''' позволяют строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. Адрес сервиса:
 +
https://graph.sletat.ru/main.svc.
  
 
{| class="standard"
 
{| class="standard"
Строка 374: Строка 344:
  
 
Метод принимает один или несколько хешей и выдает первоначальную цену тура, по которой он был найден первый раз. Данная цена может использоваться для указания на процент изменения цены по сравнению с текущей ценой. Также метод возвращает количество зафиксированных изменений цены для каждого тура. Параметр '''hashes''' – список хешей. Хеши отделяются знаком |.Пример вызова:
 
Метод принимает один или несколько хешей и выдает первоначальную цену тура, по которой он был найден первый раз. Данная цена может использоваться для указания на процент изменения цены по сравнению с текущей ценой. Также метод возвращает количество зафиксированных изменений цены для каждого тура. Параметр '''hashes''' – список хешей. Хеши отделяются знаком |.Пример вызова:
  http://graph.sletat.ru/main.svc/GetToursPriceLogCount?hashes=ybzzZjdSGrM5N07eDIccHQ%3D%3D%7CzjlRE0oa0a1NizaBj%2Fnmog%3D%3D%7CX1%2BF8A81B4Z8rhlFBanrZQ%3D%3D
+
  https://graph.sletat.ru/main.svc/GetToursPriceLogCount?login=xxx&password=yyy&hashes=ybzzZjdSGrM5N07eDIccHQ%3D%3D%7CzjlRE0oa0a1NizaBj%2Fnmog%3D%3D%7CX1%2BF8A81B4Z8rhlFBanrZQ%3D%3D
  
 
Пример ответа:
 
Пример ответа:
Строка 409: Строка 379:
 
=== GetTourPriceLog ===
 
=== GetTourPriceLog ===
  
Метод возвращает зафиксированные изменения цен для указанного тура. Параметр '''hash''' хеш тура.Пример вызова:
+
Метод возвращает зафиксированные изменения цен для указанного тура. Параметр '''hash''' хеш тура. Пример вызова:
  
  http://graph.sletat.ru/main.svc/GetTourPriceLog?hash=ybzzZjdSGrM5N07eDIccHQ%3D%3D
+
  https://graph.sletat.ru/main.svc/GetTourPriceLog?login=xxx&password=yyy&hash=ybzzZjdSGrM5N07eDIccHQ%3D%3D
  
 
Пример ответа:
 
Пример ответа:
Строка 464: Строка 434:
 
Пример вызова:
 
Пример вызова:
  
  http://graph.sletat.ru/main.svc/GetTourPriceLogBulk?hashes=9g5NjLS2rtCYgL3I7ZpQfg%3D%3D|OhF1RqS9dfLXHsEBeMBnkw%3D%3D
+
  https://graph.sletat.ru/main.svc/GetTourPriceLogBulk?login=xxx&password=yyy&hashes=9g5NjLS2rtCYgL3I7ZpQfg%3D%3D|OhF1RqS9dfLXHsEBeMBnkw%3D%3D
  
 
Пример ответа:
 
Пример ответа:

Текущая версия на 16:00, 28 октября 2019

Введение

XML-шлюз аналитики Слетать.ру содержит набор методов для ценового анализа данных о турах. Анализ может быть как динамическим (отслеживание изменений стоимости данного тура с момента выпуска), так и сравнительным (сопоставление разных туров по стоимости). На страницах настоящего руководства описаны следующие группы методов:

  • «Минимальные цены по параметрам поиска». Этот метод позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. На Рис. 0.1. представлен пример реализации графика минимальных цен. По заданному поисковому запросу (тур из Москвы в Египет на двоих, продолжительностью от 6 до 16 ночей, без ограничений по курорту, туроператору, категории отеля, типу размещения или типу питания), выводятся минимальные цены на туры в диапазоне «дата поиска + 45 дней»; цены на туры представлены в виде гистограммы; диапазон дат вылета, выбранный при поиске (5 апреля – 13 апреля) выделен затенением; при наведении курсора мыши на столбец гистограммы выводится точная цена тура, название туроператора, тип питания, тип номера, название курорта, название отеля и количество звёзд.
Пример реализации графика минимальных цен на сайте sletat.ru.
  • «Минимальные цены тура на другие даты». Метод, описанный в этом разделе, используется для построения графика изменения цены тура, соответствующего заданным параметрам поиска, в диапазоне дат. На Рис. 0.2 приведён пример реализации графика. В описании таблицы приведены параметры тура: отель (с указанием количества звёзд), курорт, город вылета, продолжительность тура (в ночах), тип питания и тип размещения; на гистограмме представлены минимальные цены на туры, соответствующие заданным параметрам, на интервал дат, ограниченный только датой поиска (анализируются данные по всем турам, представленным в системе Слетать.ру); при наведении курсора мыши на столбец гистограммы во всплывающем окне выводится информация о туроператоре, дате вылета, дате и времени поиска и цене тура (в сравнении с ценойанализируемого тура); пользователь может отфильтровать данные по туроператорам.
Пример реализации графика других дат вылета на сайте sletat.ru.
  • «История цены тура». Эта группа методов позволяет строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. На Рис. 0.3 приведён пример реализации графика. Для выбранного тура (на двоих в Хургаду 9 апреля, с вылетом из Москвы, продолжительностью 6 ночей, отель Triton Empire Hotel 3*, тип размещения Standard, тип питания HB, оператор Pegas Touristik) выводится график изменения цены; пользователь может просмотреть динамику за неделю, за месяц или за всё время с момента появления тура в системе поиска Слетать.ру.
Пример реализации графика изменения цены тура на сайте sletat.ru

Минимальные цены по параметрам поиска

Метод GetToursGroupByDate позволяет получать информацию о самых дешёвых турах, соответствующих введённым параметрам поиска, на каждую дату заданного диапазона. Адрес сервиса:

https://graph.sletat.ru/main.svc/

Метод принимает поисковые параметры и возвращает массив из двух колонок для постройки графика, в первой – даты вылета в формате dd.MM.yyyy, во второй – минимальная цена тура на дату.

Параметры:

  • countryId - идентификатор страны;
  • cityFromId - идентификатор города вылета;
  • cities - список идентификаторов курортов через запятую (по умолчанию не используется);
  • meals - список идентификаторов питания через запятую (по умолчанию не используется);
  • stars - список идентификаторов категорий отелей через запятую (по умолчанию не используется);
  • hotels - список идентификаторов отелей через запятую (по умолчанию не используется);
  • adults - количество взрослых, по умолчанию 2;
  • kids - количество детей, по умолчанию 0;
  • nightsMin – минимальная продолжительность тура (в ночах), по умолчанию 3;
  • nightsMax - максимальная продолжительность тура (в ночах), по умолчанию 10;
  • priceMin - минимальная цена тура (по умолчанию не используется);
  • priceMax - максимальная цена тура (по умолчанию не используется);
  • date1 - первая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 1 день;
  • date2 - вторая дата в диапазоне дат туров в формате dd.MM.yyyy, по умолчанию текущая дата + 8 дней;
  • sources - список идентификаторов туроператоров через запятую (обязательный параметр);
  • ticketsIncluded - при значении 1 отображаются цена на туры только с перелетом (по умолчанию 0);
  • limitMin – временной интервал (от текущих даты и времени), за который нужно сделать выборку данных (60 – за последний час, 1440 – за последние сутки, и т.д.).

Пример вызова:

https://graph.sletat.ru/main.svc/GetToursGroupByDate?login=xxx&password=yyy&countryId=40&cityFromId=832&cities=1592,1642&meals=115&stars=403,404&adults=2&nightsMin=7&nightsMax=10&date1=12.09.2015&date2=27.09.2015&ticketsIncluded=1&sources=380,6

Запрашиваются данные по направлению Москва – Египет (Шарм-эль-Шейх и Хургада), в отели 4 и 5 звезд, тип питания AI, продолжительность 7-10 ночей, на диапазон дат с 12 мая по 27 июня по туроператорам TUI и Coral

Пример ответа:

{
  "GetToursGroupByDateResult":
  {
    "Data":
    {
      "data":
      [
        [
          "12.05.2013",
          15537,
          "12.05.2013",
          "18:25",
          "Sunmar",
          "Fortuna Fortuna Sharm el-Sheikh 4*",
          "4*",
          "Шарм-Эль-Шейх",
          "AI",
          "Standard",
          "DBL",
          7
        ],
        [
          "13.05.2013",
          15537,
          "12.05.2013",
          "18:25",
          "Sunmar",
          "Fortuna Fortuna Sharm el-Sheikh 4*",
          "4*",
          "Шарм-Эль-Шейх",
          "AI",
          "Standard",
          "DBL",
          7
        ],
        [
          "14.05.2013",
          16674,
          "12.05.2013",
          "18:25",
          "Pegas Touristik",
          "Aida Hotel Sharm",
          "4*",
          "Шарм-Эль-Шейх",
          "AI",
          "Standard Room Double",
          "---",
          7
        ]
      ]
    },
    "ErrorMessage": null,
    "IsError": false
  }
}

В примере ответа для читаемости оставлены данные лишь для трех дат. Массив data содержит вложенные массивы, каждый из которых содержит краткое описание самого дешевого тура для каждой даты из указанного в параметрах диапазона. Ниже описывается каждый элемент таких массивов:

Поле

Тип

Описание

data[0]

str

Дата начала тура в формате dd.MM.yyyy.

data[1]

int

Цена тура.

data[2]

str

Дата последнего изменения информации о туре в базе данных в формате dd.MM.yyyy.

data[3]

str

Время последнего изменения информации о туре в базе данных в формате HH:mm.

data[4]

str

Название туроператора.

data[5]

str

Название отеля.

data[6]

str

Категория отеля.

data[7]

str

Название курорта.

data[8]

str

Тип питания.

data[9]

str

Тип размещения.

data[10]

str

Тип номера.

data[11]

int

Продолжительность тура, ночей.

Минимальные цены тура на другие даты

Метод GetTourPriceGroupByDate возвращает данные для построения графика (дата – минимальная цена) и вывода подсказок к каждой точке (дата последнего обновления информации о туре, туроператор). Адрес сервиса:

https://graph.sletat.ru/main.svc.
Хеши туров

В выдаче GetTours (JSON API) для каждого тура в массиве данных элемент с индексом 79 или параметр TourHash в ответе метода GetRequestResult (XML API) содержит уникальный хеш тура, который запрашивает данные для описываемого графика.

Параметры:

  • countryId - идентификатор страны;
  • dptCityId - идентификатор города вылета;
  • hash – хеш тура (поле TourHash в ответе метода GetRequestResult или элемент с индексом 79 в ответе GetTours);
  • dateStart - первая дата в диапазоне дат в формате dd.MM.yyyy;
  • dateEnd - вторая дата в диапазоне дат в формате dd.MM.yyyy;
  • sources - список идентификаторов туроператоров (по умолчанию не используется).

Пример вызова:

https://graph.sletat.ru/Main.svc/GetTourPriceGroupByDate?&login=xxx&password=yyy&countryId=40&dptCityId=832&dateStart=13.08.2015&dateEnd=23.09.2015&hash=J7YKqhBQORktZuYWXFamDA%3D%3D

Запрашиваются данные для тура по направлению Москва – Египет для диапазона дат с 13 августа 2015 г. до 23 сентября 2015 г.Пример ответа:

GetTourPriceGroupByDateResult: {
	Data: {
		dates: [
		"14.08.2015",
		"15.08.2015",
		"16.08.2015",
		"17.08.2015",
		"18.08.2015",
		"19.08.2015",
		"20.08.2015",
		"21.08.2015",
		"22.08.2015",
		...
		],
		found: [
		"13.08.2015 11:31:00",
		"13.08.2015 10:23:00",
		"13.08.2015 10:23:00",
		"12.08.2015 13:41:00",
		"13.08.2015 12:36:00",
		"12.08.2015 13:11:00",
		"13.08.2015 12:36:00",
		"13.08.2015 01:00:00",
		"13.08.2015 12:30:00",
		"13.08.2015 12:26:00",
		...
		],
		offers: [
		268127847,
		1202512476,
		1202512474,
		244057401,
		268571106,
		1177213682,
		268571122,
		1204447483,
		267572652,
		265763194,
		...
		],
		prices: [
		38335,
		33153,
		31734,
		49263,
		34565,
		49278,
		38855,
		40635,
		43535,
		43535,
		...
		],
		requests: [
		1340488352,
		1340309141,
		1340309141,
		1338385388,
		1340675097,
		1338304937,
		1340675097,
		1339574679,
		1340654525,
		1340641344,
		...
		],
		sources: [
		3,
		148,
		148,
		3,
		3,
		148,
		3,
		148,
		3,
		3,
		...
		]
	},
	ErrorMessage: null,
	ExecutionTimeMs: 0,
	IsError: false
}

Возвращаются массивы данных:

  • dates — даты, для которых есть цена на тур;
  • found — дата и время последнего обновления информации к каждой дате из массива dates;
  • offers — offerId каждого тура;
  • prices — минимальные цены тура на каждую дату из массива dates;
  • requests — requestId каждого тура;
  • sources — идентификатор туроператора каждого тура;

История цены тура

Методы GetToursPriceLogCount, GetTourPriceLog и GetTourPriceLogBulk позволяют строить график изменения цены на выбранный тур с момента его появления в системе до момента поиска. Адрес сервиса:

https://graph.sletat.ru/main.svc.
Хеши туров

В выдаче GetTours (JSON API) для каждого тура в массиве данных элемент с индексом 68 содержит уникальный хеш тура, который используется для получения статистических данных по нему. В XML API к каждому туру хеш передается в поле TourArchiveHash. Используя данные хеши туров, можно вызывать методы сервиса graph.sletat.ru.

GetToursPriceLogCount

Метод принимает один или несколько хешей и выдает первоначальную цену тура, по которой он был найден первый раз. Данная цена может использоваться для указания на процент изменения цены по сравнению с текущей ценой. Также метод возвращает количество зафиксированных изменений цены для каждого тура. Параметр hashes – список хешей. Хеши отделяются знаком |.Пример вызова:

https://graph.sletat.ru/main.svc/GetToursPriceLogCount?login=xxx&password=yyy&hashes=ybzzZjdSGrM5N07eDIccHQ%3D%3D%7CzjlRE0oa0a1NizaBj%2Fnmog%3D%3D%7CX1%2BF8A81B4Z8rhlFBanrZQ%3D%3D

Пример ответа:

{
  "GetToursPriceLogCountResult":
  {
    "Data":
    {
      "counts"
       [
        10,
        10,
        10
      ],
      "firstPrices"
       [
        52250,
        52833,
        53417
      ]
    },
    "ErrorMessage":null,
    "IsError":false
  }
}

Массив counts содержит кол-во зафиксированных изменений цен к каждому туру (последовательность элементов в массиве соответствует каждому хешу в параметре hashes). Массив firstPrices содержит первую зафиксированную цену для каждого тура.

GetTourPriceLog

Метод возвращает зафиксированные изменения цен для указанного тура. Параметр hash — хеш тура. Пример вызова:

https://graph.sletat.ru/main.svc/GetTourPriceLog?login=xxx&password=yyy&hash=ybzzZjdSGrM5N07eDIccHQ%3D%3D

Пример ответа:

{
  "GetTourPriceLogResult":
  {
    "Data":
    {
      "Dates":
      [
        "04.02.2013",
        "08.02.2013",
        "12.02.2013",
        "17.02.2013",
        "21.02.2013",
        "25.02.2013",
        "01.03.2013",
        "05.03.2013",
        "09.03.2013",
        "13.03.2013"
      ],
      "Prices":
      [
        52250,
        51999,
        51623,
        51498,
        49443,
        49202,
        49202,
        42554,
        42554,
        42554
      ]
    },
    "ErrorMessage":null,
    "IsError":false
  }
}

Массив Dates содержит даты, в которые были зафиксированы изменения цены, а массив Prices содержит минимальное значение цены в этот день.

GetTourPriceLogBulk

Функционал аналогичен методу GetTourPriceLog, но с помощью этого метода можно запросить данные сразу по нескольким турам (до 100 туров за один запрос). Параметр hashes – хеши туров, разделенные знаком “|”

Пример вызова:

https://graph.sletat.ru/main.svc/GetTourPriceLogBulk?login=xxx&password=yyy&hashes=9g5NjLS2rtCYgL3I7ZpQfg%3D%3D%7COhF1RqS9dfLXHsEBeMBnkw%3D%3D

Пример ответа:

{

 "GetTourPriceLogBulkResult":
 {
   "Data":
   {
     "Array":
     [
       {
         "Dates":
          [
           "17.03.2013",
           "21.03.2013",
           "25.03.2013",
           "29.03.2013",
           "02.04.2013",
           "06.04.2013",
           "10.04.2013",
           "14.04.2013",
           "18.04.2013",
           "19.04.2013",
           "23.04.2013",
           "24.04.2013",
           "28.04.2013",
           "02.05.2013",
           "07.05.2013",
           "11.05.2013",
           "12.05.2013",
           "15.05.2013",
           "16.05.2013",
           "17.05.2013",
           "18.05.2013",
           "21.05.2013",
           "22.05.2013",
           "23.05.2013",
           "27.05.2013",
           "28.05.2013",
           "31.05.2013",
           "04.06.2013",
           "08.06.2013",
           "10.06.2013",
           "14.06.2013",
           "18.06.2013",
           "22.06.2013",
           "26.06.2013",
           "27.06.2013",
           "28.06.2013",
           "29.06.2013",
           "30.06.2013",
           "07.07.2013",
           "08.07.2013"
         ],
         "Hash": "OhF1RqS9dfLXHsEBeMBnkw==",
         "Prices":
         [
           20406,
           20336,
           20352,
           20224,
           20307,
           20829,
           20733,
           20662,
           20989,
           21103,
           21030,
           21030,
           20738,
           20719,
           12466,
           12467,
           12467,
           12447,
           12409,
           12355,
           12355,
           12321,
           12298,
           12343,
           12397,
           12389,
           12535,
           12683,
           12897,
           13072,
           13150,
           12921,
           13265,
           13149,
           13149,
           13107,
           13072,
           13072,
           13109,
           13109]
         },
       {
         "Dates":
          [
           "14.05.2013",
           "15.05.2013",
           "16.05.2013",
           "18.05.2013",
           "21.05.2013",
           "22.05.2013",
           "23.05.2013",
           "27.05.2013",
           "28.05.2013",
           "31.05.2013",
           "04.06.2013",
           "08.06.2013",
           "10.06.2013",
           "14.06.2013",
           "18.06.2013",
           "22.06.2013",
           "26.06.2013",
           "27.06.2013",
           "28.06.2013",
           "29.06.2013",
           "30.06.2013",
           "01.07.2013",
           "07.07.2013",
           "08.07.2013"
         ],
         "Hash": "9g5NjLS2rtCYgL3I7ZpQfg==",
         "Prices":
          [
           31093,
           30966,
           31161,
           31064,
           24144,
           23935,
           23973,
           31015,
           31015,
           28892,
           29251,
           29466,
           29466,
           29511,
           28892,
           29933,
           29888,
           30067,
           30032,
           29879,
           29879,
           29879,
           31674,
           31674
         ]
       }
     ]
   },
   "ErrorMessage": null,
   "ExecutionTimeMs": 73,
   "IsError": false
 }

}

Массив Array содержит элементы, каждый из которых описывает данные по изменению цен для одного тура. Каждый такой элемент содержит массив Dates с датами, в которые были зафиксированы изменения цены, а массив Prices содержит минимальное значение цены в этот день. Элемент hash является уникальным идентификатором тура, для которого предоставлены данные.