Мастер-Тур(15):API для разработки поиска авиабилетов — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) (Новая страница: «Версия статьи от {{REVISIONDAY}}-{{REVISIONMONTH}}-{{REVISIONYEAR}}. <table style="background-color:#ffffcc;color:black" border="1" cellpadding="10…») |
Biryukov (обсуждение | вклад) |
||
Строка 288: | Строка 288: | ||
</div></div><br /> | </div></div><br /> | ||
− | ===Выгрузка городов отправления ( | + | ===Выгрузка городов отправления (в одну сторону)=== |
− | Метод производит выгрузку всех доступных городов отправления для | + | Метод производит выгрузку всех доступных городов отправления для перелета в одну сторону. |
* Формат запроса: | * Формат запроса: | ||
− | ** GET .../TourSearchOwin/ | + | ** GET .../TourSearchOwin/individuals/avia/twoway/departures? |
* Принимаемые параметры: | * Принимаемые параметры: | ||
** нет принимаемых параметров | ** нет принимаемых параметров | ||
* Возвращаемый результат: | * Возвращаемый результат: | ||
− | ** '''Key''' – | + | ** '''Key''' – ключ города |
** '''Name''' – название города | ** '''Name''' – название города | ||
Строка 303: | Строка 303: | ||
Вызов метода departureCities | Вызов метода departureCities | ||
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
− | GET http://localhost:9000/TourSearchOwin/ | + | GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/departures? |
</syntaxhighlight> | </syntaxhighlight> | ||
− | Возвращаемый результат метода | + | Возвращаемый результат метода (в формате JSON) |
<syntaxhighlight lang="java" enclose="div"> | <syntaxhighlight lang="java" enclose="div"> | ||
− | [ | + | [{ |
− | + | "Key": 312, | |
− | + | "Name": "Астрахань" | |
− | + | }, | |
− | + | { | |
− | + | "Key": 1, | |
− | + | "Name": "Москва" | |
− | + | }] | |
− | + | </syntaxhighlight> | |
− | + | </TD></TR></TABLE> | |
− | + | </div></div><br /> | |
− | + | ||
− | + | ===Выгрузка списка стран прибытия (в одну сторону)=== | |
− | ] | + | Метод производит выгрузку всех доступных направлений для перелета в одну сторону. |
+ | * Формат запроса: | ||
+ | ** GET .../TourSearchOwin/individuals/avia/twoway/arrivals/"departures"/countries? | ||
+ | * Принимаемые параметры ( '''*''' – обязательный): | ||
+ | ** где '''departures *''' – идентификатор города отправления (из контроллера [[#Выгрузка городов отправления (в одну сторону)|''.../TourSearchOwin/individuals/avia/twoway/departures?'']]) | ||
+ | * Возвращаемый результат: | ||
+ | ** '''Name''' – название страны | ||
+ | ** '''Key''' – ключ страны | ||
+ | ** '''DestinationType''' – тип результата (всегда возвращается в JSON = 1, в xml = country) | ||
+ | |||
+ | <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> | ||
+ | Вызов метода Destination | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/arrivals/1/countries? | ||
+ | </syntaxhighlight> | ||
+ | Возвращаемый результат метода (в формате JSON) | ||
+ | <syntaxhighlight lang="java" enclose="div"> | ||
+ | [{ | ||
+ | "Name": "Австрия", | ||
+ | "Key": 90, | ||
+ | "DestinationType": 1 | ||
+ | }, | ||
+ | { | ||
+ | "Name": "Индия", | ||
+ | "Key": 26, | ||
+ | "DestinationType": 1 | ||
+ | }, | ||
+ | { | ||
+ | "Name": "Финляндия", | ||
+ | "Key": 64, | ||
+ | "DestinationType": 1 | ||
+ | }] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</TD></TR></TABLE> | </TD></TR></TABLE> |
Версия 13:42, 28 августа 2018
Версия статьи от 28-08-2018.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Данный web-сервис предназначен для разработки собственного поиска авиабилетов на основе API.
Установка
Для работы с web-сервисом необходимо установить службу поиска.
После установки web-сервис будет доступен по адресу http://значение настройки "serviceAddress" в TourSearchOwin/"название метода" (пример: http://localhost:9000/TourSearchOwin/Settings)
Список методов
Авторизация (Token)
Метод производит получение авторизационного токена (описание стандарта).
- Формат запроса:
- POST .../TourSearchOwin/Token?
- Принимаемые параметры POST запроса ( * – обязательный):
- grant_type * – password
- username * – логин представителя партнера
- password * – пароль представителя партнера
- Возвращаемый результат:
- access_token – токен
- token_type – тип токена
- expires_in – код
- userKey – ключ пользователя
- .issued – дата получения
- .expires – дата действия до
Вызов метода Token POST http://localhost:9000/TourSearchOwin/Token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=test&password=1
Возвращаемый результат метода TransportPlan (в формате JSON) {
"access_token": "AQAAANCMnd8BFdERjHoAwE_Cl-sBAAAAdsCC8X7m9E-2bg0-uS0VfgAAAAAAAAADZgAAwAAAA-
EqAAAAAASAAACgAAAAEAAAAO4S-VrqBhQuhqliqrAKKfIgAQAAn-gfgP-rYjk-Krr1Ck2A-IGCw6FBhamUOzFxgTtk1hR-
GLMryFIH8VK5GmHdHubZWj4S7XcazGL1Kn5-VlbiYdW2ZVWpYlk638aV-XS2kpZ9YrKgViiM_x8RH5TPo4-
9LhE7V-SjiB_CP_qs58DRKcyohq3Tz9QaiFgH1Ko7O2XKjTBG7SHyQPDPYjaqg9kDxmzq0UcIT6Fm4YkDxmm9-
CW7u3cEFWcpiqKOc2VvZFKPPHc07uDOO4w9FXPhpXZwOqrJBxzhbr73RuhzPs_e-hgxKaIlsMaK5b0v5ReAMy1kuY0ebXA",",
"token_type": "bearer",
"expires_in": 1209599,
"userKey": "333",
".issued": "Thu, 05 Apr 2018 12:05:31 GMT",
".expires": "Thu, 19 Apr 2018 12:05:31 GMT"
}
|
Выгрузка настроек службы поиска (Settings)
Метод производит выгрузку настроек службы поиска.
- Формат запроса:
- GET .../TourSearchOwin/Settings?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- ChildAgesSetting – регулируется настройкой максимальный возраст ребенка (массив возрастов, при которых турист будет считаться ребенком
- DurationSetting – регулируется настройкой максимальная продолжительность тура (массив продолжительностей, доступных в фильтрах для поиска)
- RoundServiceSetting – признак округления цены (количество знаков после запятой)
- CacheReady – статус готовности службы поиска к работе (true/false)
- EnableFiterTree – устаревшая настройка, будет убрана (по умолчанию всегда false)
- EnableActualFilters – включены ли актуальные фильтры (true/false)
- CorrectLicense – проверка лицензии (true/false)
- CorrectLicenseMessage – сообщение, если проверка лицензии не прошла
- IsCorrectUser – проверка наличия пользователя в таблице Userlist, под которым запущена служба поиска (true/false)
- IsShowCitizenAuthTourist – настройка запрашивать гражданство при регистрации частного лица (true/false)
- IsShowFewCountPlaces – настройка отображения числового значения оставшихся мест, когда достигнуто значение «Мало» (true/false)
- IsShowBusTransferPlaces – использовать фильтр наличие мест на автобусный переезд в поиске (true/false)
- UseBusSeatChecks – план рассадки автобусного переезда (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- UseTransferSeatChecks – план рассадки трансфера (0 – не отображать, 1 – отображать без проверки, 2 – отображать с проверкой)
- IsShowFiltersByCity – отображать фильтр по городам на главной странице поиска (true/false)
- CheckRealCourses – включена ли проверка курсов реальных валют при поиске (true/false)
- CommonImagesFolderPath – путь к папке для хранения изображений
- UseApplyFiltersButton – отображать кнопку «Применить фильтры» (true/false)
- AutoSearchFiltersTimeout – задержка между выбором дополнительных фильтров и выводом результатов (в секундах)
- UseFastSearchAlgoritm – использовать быстрый алгоритм поиска (true/false)
- MaxSearchDatesCountClient – максимальное количество дат, которое будет обрабатываться в клиенте поиска
- MaxDurationsCountClient – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
Вызов метода Settings GET http://localhost:9000/TourSearchOwin/Settings
Возвращаемый результат метода Settings (в формате JSON) {
"ChildAgesSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16
],
"DurationSetting": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20
],
"RoundServiceSetting": 2,
"CacheReady": true,
"EnableFiterTree": false,
"EnableActualFilters": true,
"CorrectLicense": true,
"CorrectLicenseMessage": "0deb1f882da1ec6301c961780507a180",
"IsCorrectUser": true,
"IsShowCitizenAuthTourist": true,
"IsShowFewCountPlaces": true,
"IsShowBusTransferPlaces": true,
"UseBusSeatChecks": 1,
"UseTransferSeatChecks": 2,
"IsShowFiltersByCity": true,
"CheckRealCourses": true,
"CommonImagesFolderPath": "\\\\server\\Icons",
"UseApplyFiltersButton": false,
"AutoSearchFiltersTimeout": 1,
"UseFastSearchAlgoritm": true,
"MaxSearchDatesCountClient": 10,
"MaxDurationsCountClient": 14
}
|
Выгрузка списка валют (Currency)
Метод возвращает список используемых валют.
- Формат запроса:
- GET .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Вызов метода Currency GET http://localhost:9000/TourSearchOwin/Currency
Возвращаемый результат метода Currency (в формате JSON) [
{
"Code": "EU",
"Name": "Euro",
"IsMain": false,
"IsNational": false,
"IsoCode": "EUR",
"Key": 2,
"IsShowInSearch": true
},
{
"Code": "рб",
"Name": "Рубль",
"IsMain": false,
"IsNational": true,
"IsoCode": "RUR",
"Key": 14,
"IsShowInSearch": true
},
{
"Code": "$",
"Name": "US Dollar",
"IsMain": true,
"IsNational": false,
"IsoCode": "USD",
"Key": 1,
"IsShowInSearch": true
}
]
|
Выгрузка квотируемых услуг системы (QuotedServices)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- GET .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
- IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Вызов метода QuotedServices GET http://localhost:9000/TourSearchOwin/QuotedServices
Возвращаемый результат метода QuotedServices (в формате JSON) [
{
"Key": 1,
"Code": "А_П",
"Name": "Авиаперелет",
"NameLat": "Flight",
"IsDuration": false,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": false,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
},
{
"Key": 3,
"Code": "HOTEL",
"Name": "Отель/Круиз",
"NameLat": "Hotel/Cruise",
"IsDuration": true,
"IsCity": true,
"IsSubCode1": true,
"IsSubCode2": true,
"Quoted": true,
"CheckGeoPoint": true,
"IsRoute": true,
"IsPartnerBasedOn": false,
"Control": 1
}
]
|
Выгрузка городов отправления (в одну сторону)
Метод производит выгрузку всех доступных городов отправления для перелета в одну сторону.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/departures?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – ключ города
- Name – название города
Вызов метода departureCities GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/departures?
Возвращаемый результат метода (в формате JSON) [{
"Key": 312,
"Name": "Астрахань"
},
{
"Key": 1,
"Name": "Москва"
}]
|
Выгрузка списка стран прибытия (в одну сторону)
Метод производит выгрузку всех доступных направлений для перелета в одну сторону.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/arrivals/"departures"/countries?
- Принимаемые параметры ( * – обязательный):
- где departures * – идентификатор города отправления (из контроллера .../TourSearchOwin/individuals/avia/twoway/departures?)
- Возвращаемый результат:
- Name – название страны
- Key – ключ страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)
Вызов метода Destination GET http://localhost:9000/TourSearchOwin/individuals/avia/twoway/arrivals/1/countries?
Возвращаемый результат метода (в формате JSON) [{
"Name": "Австрия",
"Key": 90,
"DestinationType": 1
},
{
"Name": "Индия",
"Key": 26,
"DestinationType": 1
},
{
"Name": "Финляндия",
"Key": 64,
"DestinationType": 1
}]
|