Мастер-Тур(15):API для разработки поиска авиабилетов
Версия статьи от 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 – дата действия до
Выгрузка настроек службы поиска (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 – максимальное количество продолжительностей, которое будет обрабатываться в клиенте поиска
Выгрузка списка валют (Currency)
Метод возвращает список используемых валют.
- Формат запроса:
- GET .../TourSearchOwin/Currency
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Code – код валюты
- Name – наименование валюты
- IsMain – признак валюты «Главная»
- IsNational – признак валюты «Национальная»
- IsoCode – ISO код валюты
- Key – идентификатор валюты
- IsShowInSearch – признак показывать ли валюту в поиске
Выгрузка квотируемых услуг системы (QuotedServices)
Метод производит выгрузку услуг с признаком «Квотируемая»
- Формат запроса:
- GET .../TourSearchOwin/QuotedServices
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – идентификатор услуги
- Code – код услуги
- Name – наименование услуги (русский)
- NameLat – наименование услуги (английский)
- IsDuration – наличие продолжительности у услуги
- IsCity – наличие города у услуги
- IsSubCode1 – признак наличия SubCode1 у услуги (вид проживания у отеля, тариф у авиаперелета)
- IsSubCode2 – признак наличия SubCode2 у услуги (тип питания у отеля)
- Quoted – признак квотируемости услуги
- CheckGeoPoint – наличие геоточек у услуги
- IsRoute – признак маршрутной услуги
- IsPartnerBasedOn – признак сопоставления партнера услуги в зависимости от отеля
- Control – идентификатор статуса услуги
Выгрузка городов отправления (в одну сторону)
Метод производит выгрузку всех доступных городов отправления для перелета в одну сторону.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/departures?
- Принимаемые параметры:
- нет принимаемых параметров
- Возвращаемый результат:
- Key – ключ города
- Name – название города
Выгрузка списка стран прибытия (в одну сторону)
Метод производит выгрузку всех доступных направлений для перелета в одну сторону.
- Формат запроса:
- GET .../TourSearchOwin/individuals/avia/twoway/arrivals/"departures"/countries?
- Принимаемые параметры ( * – обязательный):
- где departures * – идентификатор города отправления (из контроллера .../TourSearchOwin/individuals/avia/twoway/departures?)
- Возвращаемый результат:
- Name – название страны
- Key – ключ страны
- DestinationType – тип результата (всегда возвращается в JSON = 1, в xml = country)