Мастер-Тур(15):API для отдачи цен в поисковые системы — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 159: Строка 159:
 
** '''id''' – идентификатор категории отеля
 
** '''id''' – идентификатор категории отеля
 
** '''name''' – название категории отеля
 
** '''name''' – название категории отеля
 +
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
Строка 189: Строка 190:
 
</div></div><br />
 
</div></div><br />
  
 
+
===Выгрузка списка отелей (GetHotels)===
 
+
Метод возвращает список всех доступных отелей, на которые есть актуальные цены.
 
 
 
 
 
 
===Выгрузка списка категорий отелей (GetHotelCategories)===
 
Метод возвращает список категорий отелей (примеры: 3*, 4*, Apts и т.д.).
 
 
* Формат запроса:
 
* Формат запроса:
** ?action=GetHotelCategories
+
** ?action=GetHotels
* Параметры:
+
* Принимаемые параметры:
** '''id''' – идентификатор категории отеля (опциональный, если указан, то запрашивается только одна запись)
+
** '''id''' – идентификатор отеля (опциональный, если указан, то запрашивается только одна запись)
 +
* Возвращаемый результат:
 +
** '''id''' – идентификатор отеля
 +
** '''name''' – название отеля
 +
** '''hotelCategoryId''' – идентификатор категории отеля
 +
** '''resortId''' – идентификатор курорта, в котором расположен отель
  
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Формат выдачи (JSON)
+
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 +
Вызов метода GetHotels
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
{
+
http://localhost:9000/TourSearchOwin/searchApi?action=GetHotels
  "version": "1.0",
 
  "hotelCategories":   [           
 
            {
 
        "id": {Int32},
 
        "name": {String}
 
      },
 
      ...
 
  ]
 
}
 
 
</syntaxhighlight>
 
</syntaxhighlight>
Корневой элемент '''hotelCategories''' содержит произвольное количество элементов '''hotelCategory''', каждый из которых описывает категорию отеля атрибутами '''id''' (идентификатор) и '''name''' (название).
+
Возвращаемый результат метода GetHotels (в формате JSON)
</TD></TR></TABLE>
 
</div></div><br />
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:900px">Пример
 
<div class="mw-collapsible-content">
 
<TABLE STYLE="border: 0.1em dashed #2F6FAB; margin: 8px; padding: 8px" WIDTH="99%"><TR><TD>
 
 
<syntaxhighlight lang="java" enclose="div">
 
<syntaxhighlight lang="java" enclose="div">
 
{
 
{
 
   "version": "1.0",
 
   "version": "1.0",
   "countries":    [
+
   "hotels":    [
 
             {
 
             {
         "id": 97,
+
         "id": 672,
         "name": "Тунис"
+
         "name": "'Opal",
       },          
+
        "hotelCategoryId": 59,
 +
        "resortId": 0
 +
       },
 
             {
 
             {
         "id": 90,
+
         "id": 106,
         "name": "Австрия"
+
         "name": "OPERA LAFAYETTE",
 +
        "hotelCategoryId": 23,
 +
        "resortId": 42
 
       },
 
       },
 
             {
 
             {
         "id": 30,
+
         "id": 683,
         "name": "Франция"
+
         "name": "Altstadt Vienna",
 +
        "hotelCategoryId": 23,
 +
        "resortId": 0
 +
      },
 +
            {
 +
        "id": 702,
 +
        "name": "Albatros",
 +
        "hotelCategoryId": 57,
 +
        "resortId": 0
 +
      },
 +
            {
 +
        "id": 709,
 +
        "name": "Am Brilliantengrund",
 +
        "hotelCategoryId": 23,
 +
        "resortId": 40
 +
      },
 +
            {
 +
        "id": 2362,
 +
        "name": "Gastehaus Franz Riml",
 +
        "hotelCategoryId": 58,
 +
        "resortId": 0
 
       }             
 
       }             
 
   ]
 
   ]
Строка 244: Строка 255:
 
</TD></TR></TABLE>
 
</TD></TR></TABLE>
 
</div></div><br />
 
</div></div><br />
 +
 +
 +
  
  

Версия 09:48, 9 августа 2016

Статья находится на стадии разработки.
Версия статьи от 9-08-2016.

Поддерживаемые версии ПК «Мастер-Тур»:
Начиная с 15 версии


Введение

Данный web-сервис выполняет следующие задачи:

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

Выдача результатов осуществляется в формате JSON

Установка

Настройка

Загрузка справочников

Выгрузка списка стран (GetCountries)

Метод производит выгрузку всех направлений туроператора.

  • Формат запроса:
    •  ?action=GetCountries
  • Принимаемые параметры:
    • id – идентификатор страны (опциональный, если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор страны
    • name – название страны (рус/анг)
Пример

Вызов метода GetCountries

http://localhost:9000/TourSearchOwin/searchApi?action=GetCountries

Возвращаемый результат метода GetCountries (в формате JSON)

{
   "version": "1.0",
   "countries":    [
            {
         "id": 97,
         "name": "Тунис"
      },            
            {
         "id": 90,
         "name": "Австрия"
      },
            {
         "id": 30,
         "name": "Франция"
      }            
   ]
}


Выгрузка списка городов вылета (GetDepartCities)

Метод производит выгрузку всех доступных городов вылета, а также содержит данные о том, какие направления доступны из каждого города вылета.

  • Формат запроса:
    •  ?action=GetDepartCities
  • Принимаемые параметры:
    • id – идентификатор города вылета (опциональный, если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор города
    • name – название города (рус/анг)
    • countriesTo – идентификаторы стран, которые присутствуют в данном городе вылета
Пример

Вызов метода GetDepartCities

http://localhost:9000/TourSearchOwin/searchApi?action=GetDepartCities

Возвращаемый результат метода GetDepartCities (в формате JSON)

{
   "version": "1.0",
   "departCities":    [
            {
         "id": -1,
         "name": "Не указан",
         "countriesTo":          [
            97,
            90
         ]
      },
            {
         "id": 1,
         "name": "Москва",
         "countriesTo":          [
            90,
            30
         ]
      }
   ]
}


Выгрузка списка курортов (GetResorts)

Метод возвращает список всех доступных курортов.

  • Формат запроса:
    •  ?action=GetResorts
  • Принимаемые параметры:
    • id – идентификатор курорта (опциональный, если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор курорта
    • name – название курорта (рус/анг)
    • countryId – идентификатор страны, в котором расположен курорт
Пример

Вызов метода GetResorts

http://localhost:9000/TourSearchOwin/searchApi?action=GetResorts

Возвращаемый результат метода GetResorts (в формате JSON)

{
   "version": "1.0",
   "countries":    [
            {
         "id": 1,
         "name": "Каринтия",
         "countryId": 90
      },           
            {
         "id": 42,
         "name": "Хаммамед",
         "countryId": 97
      },
            {
         "id": 40,
         "name": "Сусс",
         "countryId": 97
      }           
   ]
}


Выгрузка списка категорий отелей (GetHotelCategories)

Метод возвращает список категорий отелей (примеры: 3*, 4*, Apts и т.д.).

  • Формат запроса:
    •  ?action=GetHotelCategories
  • Принимаемые параметры:
    • id – идентификатор категории отеля (опциональный, если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор категории отеля
    • name – название категории отеля
Пример

Вызов метода GetHotelCategories

http://localhost:9000/TourSearchOwin/searchApi?action=GetHotelCategories

Возвращаемый результат метода GetHotelCategories (в формате JSON)

{
   "version": "1.0",
   "hotelCategories":    [
            {
         "id": 59,
         "name": "5*"
      },
            {
         "id": 58,
         "name": "4*"
      },
            {
         "id": 57,
         "name": "3*"
      }
   ]
}


Выгрузка списка отелей (GetHotels)

Метод возвращает список всех доступных отелей, на которые есть актуальные цены.

  • Формат запроса:
    •  ?action=GetHotels
  • Принимаемые параметры:
    • id – идентификатор отеля (опциональный, если указан, то запрашивается только одна запись)
  • Возвращаемый результат:
    • id – идентификатор отеля
    • name – название отеля
    • hotelCategoryId – идентификатор категории отеля
    • resortId – идентификатор курорта, в котором расположен отель
Пример

Вызов метода GetHotels

http://localhost:9000/TourSearchOwin/searchApi?action=GetHotels

Возвращаемый результат метода GetHotels (в формате JSON)

{
   "version": "1.0",
   "hotels":    [
            {
         "id": 672,
         "name": "'Opal",
         "hotelCategoryId": 59,
         "resortId": 0
      },
            {
         "id": 106,
         "name": "OPERA LAFAYETTE",
         "hotelCategoryId": 23,
         "resortId": 42
      },
            {
         "id": 683,
         "name": "Altstadt Vienna",
         "hotelCategoryId": 23,
         "resortId": 0
      },
            {
         "id": 702,
         "name": "Albatros",
         "hotelCategoryId": 57,
         "resortId": 0
      },
            {
         "id": 709,
         "name": "Am Brilliantengrund",
         "hotelCategoryId": 23,
         "resortId": 40
      },
            {
         "id": 2362,
         "name": "Gastehaus Franz Riml",
         "hotelCategoryId": 58,
         "resortId": 0
      }            
   ]
}