Мастер-Тур:Работа с методами веб-сервисов

Материал из Megatec
Перейти к: навигация, поиск

Статья находится на стадии разработки.

Содержание

Введение

Обзор

Краткое описание, что такое web-сервиса и для чего они нужны В этой статье собраны ссылки на статьи с описаниями работы Web-сервисов.

Установка

Общее описание установки web-сервисов. Тонкости, отличительные особенности и т.д.

Список существующих web-сервисов

Поисковый сервис (Search)

Данный модуль предназначен для осуществления поиска и подбора туров из внешних приложений - Поисковый сервис.

Метод Search.DoSearch

Метод Search.DoSearch позволяет осуществлять поиск туров - Метод Search.DoSearch

Метод DoSearch обладает параметрами:

  • SearchFilter filter – объект класса, описывающего критерии подбора тура
  • int pageNumber – порядковый номер запрашиваемой страницы
  • SearchParams searchParams – объект класса, описывающего параметры подбора тура

Сервис возвращает объект класса SearchResult, содержащий коллекцию объектов класса SearchResultItem.

AddCostLogic

AdminService

ApplicationsLog

CalculatePriceListDynamic

DictionaryService

QuotaLogic

TourMarginLogic

UserService

TourML

Сервис по оплате путевок внешними системами (сервис для интеграции с платежной системой, прием наличных через платежный терминал, FinanceService)

Данный модуль предназначен для проверки заявки и проведения платежа через платежную систему в базу туроператора(Сервис для интеграции с платежной системой). Модуль совместим со следующими платежными системами:

  • TourPay
  • Контакт
  • Лидер

Метод GetUserToken

Метод GetUserToken возвращает строку - идентификатор аутентификации, который используется для подтверждения авторизации при вызове методов web-сервисов - Метод GetUserToken.

Сигнатура метода - public TokenResult GetUserToken(string userLogin, string userPassword)

Принимаемые методом параметры:

  • userLogin - имя пользователя;
  • userPassword - пароль.

Возвращаемые значения - метод возвращает результат своей работы в виде класса TokenResult. Корректность результата проверяется значением поля ErrorCode данного класса:

  • 0 - результат корректный;
  • 2 – внутренняя ошибка;
  • 5 - неправильный логин или пароль.

Описание класса приведено ниже:

public class TokenResult
 {
     public int ErrorCode;
     public string Token;
 }
 

где

  • ErrorCode - код результата;
  • Token - идентификатор аутентификации.

Метод CheckReservation

Метод CheckReservation предназначен для проверки наличия заявки в БД и определения ее стоимости - Метод CheckReservation. Сигнатура метода - public AmountSum CheckReservation(string userToken, string dgCode)

Принимаемые методом параметры:

  • userToken - идентификатор аутентификации, полученный при вызове метода GetUserToken;
  • dgCode - строковая переменная, представляющая собой код проверяемой путевки.

Возвращаемые значения - метод возвращает результат своей работы в виде класса AmountSum. Корректность результата проверяется значением поля ErrorCode данного класса:

  • 0 – результат корректный, в полях возвращены корректные значения;
  • 1 – заявка не найдена в БД;
  • 2 – внутренняя ошибка;
  • 3 - заявка была аннулирована;
  • 4 - путевка уже оплачена;
  • 6 - некорректный или устаревший идентификатор аутентификации(token).

Ниже приводится описание класса.

public class AmountSum
    {
        public double Amount
        public string RateCode
        public double NationalCurrencyPrice
        public string NationalRateCode
        public int ErrorCode
        public int FilialKey
        public DateTime BeginTourDate
        public DateTime EndTourDate
    }
  • Amount - сумма к оплате в валюте тура;
  • RateCode - iso-код валюты тура;
  • NationalCurrencyPrice - сумма к оплате в национальной валюте;
  • NationalRateCode - iso-код национальной валюты;
  • ErrorCode - код результата;
  • FilialKey - ключ филиала, который создал заявку;
  • BeginTourDate - дата начала тура;
  • EndTourDate - дата окончания тура.

Метод CreatePayment

Метод CreatePayment предназначен для создания платежа по путевке в финансовом блоке ПК Мастер-Тур - Метод CreatePayment. Сигнатура метода - public int CreatePayment(string userToken, DateTime date, Decimal sum, string currencyIsoCode, string reservationCode, string paymentId)

Принимаемые методом параметры:

  • userToken - идентификатор аутентифкации;
  • date – дата проведения платежа;
  • sum – сумма платежа;
  • currencyIsoCode – ISO-код валюты, в которой осуществляется платеж;
  • reservationCode – номер путевки;
  • paymentId – идентификатор платежа во внешней системе.

Возвращаемые значения - метод возвращает целочисленное значение обозначающее результат выполнения операции:

  • 0 – операция выполнена успешно, платеж проведен;
  • 1 – заявка не найдена в БД;
  • 2 – внутренняя ошибка при создании платежа;
  • 3 - заявка была аннулирована;
  • 4 - путевка уже оплачена;
  • 6 - некорректный или устаревший идентификатор аутентификации(token).

При этом в БД создается платеж по выбранной путевке.

MasterTourFacade

Сервис по работе с курсами валют (Rates)

Данный модуль предназначен для работы с курсами валют - Сервис по работе с курсами валют.

Метод GetCourse

Метод GetCourse служит для получения кросс-курса валют - Метод GetCourse.

Для получения результата необходимо передать следующие значения:

  • «rateCodeFrom» - код валюты, кросс-курс которой нужно вывести
  • «rateCodeTo» - код валюты 2
  • «exchangeDate» - дата, на которую необходимо взять курсы валют.

Результаты возвращаются в виде xml-файлов.

Метод Exchange

Метод Exchange служит для пересчета стоимости из одной валюты в другую - Метод Exchange.

Для получения результата необходимо передать следующие значения:

  • «cost» - сумма или стоимость, которую нужно пересчитать
  • «rateCodeFrom» - код валюты, из которой нужно произвести конвертацию
  • «rateCodeTo» - код валюты, в которую необходимо конвертировать стоимость
  • «exchangeDate» - дата, на которую необходимо взять курсы валют.

Результаты возвращаются в виде xml-файлов.

Метод GetNationalCourse

Метод GetNationalCourse служит для получения курса валюты - Метод GetNationalCourse.

Для получения результата необходимо передать следующие значения:

  • «rateCode - код валюты, курс которой нужно получить
  • «exchangeDate» - дата, на которую необходимо взять курс валют.

Результаты возвращаются в виде xml-файлов.

Метод GetNationalCourseToday

Метод GetNationalCourseToday служит для получения курса валюты на текущую дату - Метод GetNationalCourseToday.

Для получения результата необходимо передать следующие значения:

  • «rateCode - код валюты, курс которой нужно получить

Результаты возвращаются в виде xml-файлов.

Метод GetNationalRateCode

Метод GetNationalRateCode служит для получения кода национальной валюты - Метод GetNationalRateCode.

Данный метод не принимает параметров.

Результаты возвращаются в виде xml-файлов.

Сервис по работе с заявками (BookingManager)

Данный модуль предназначен для работы с заявками, в которых были произведены изменения - Сервис по работе с заявками.

Метод GetChangedBookings

Метод GetChangedBookings служит для формирования списка путевок, по которым были произведены изменения за заданный период - Метод GetChangedBookings.

Сигнатура метода - List<SimpleDogovor> GetChangedBookings(DateTime dateFrom, DateTime dateTo)

Параметры, принимаемые методом:

  • dateFrom - дата, начиная с которой ищутся изменения;
  • dateTo - дата, заканчивая которой ищутся изменения.

Возвращаемое значение - коллекция путевок представленных классом SimpleDogovor

Метод VerifyBookingChanges

Метод VerifyBookingChanges служит для определения, были ли произведены изменения по конкретной путевке Метод VerifyBookingChanges.

Сигнатура метода - bool VerifyBookingChanges(int dogovorKey, DateTime dateFrom, DateTime dateTo)

Параметры, принимаемые методом:

  • dogovorKey – ключ путевки, по которой определяется наличие изменений;
  • dateFrom - дата, начиная с которой ищутся изменения;
  • dateTo - дата, заканчивая которой ищутся изменения.

Возвращаемое значение - булевая переменная, определяющая, были ли произведены изменения по путевке за указанный период.

Мастер-Web: Способы аутентификации

Аутентификация – это процедура, проверяющая, имеет ли пользователь с предъявленным идентификатором право на доступ к ресурсу - Способы аутентификации.

Метод Authenticate

При аутентификации через Web-сервис используется метод Authenticate (Метод Authenticate). В этом случае передаются параметры:

  • userName – логин;
  • password – пароль.

При проверке соответствия имени и пароля пользователя возвращается булевское значение: true – в случае успешной аутентификации, в противном случае false.

AnnulateService

Данный модуль предназначен для отправки запроса на аннуляцию путевки из сторонних приложений - Сервис для отправки запроса на аннуляцию путевки.

Метод SendAnnulate

Метод SendAnnulate предоставляет возможность отправлять заявку на аннуляцию путевки от имени on-line пользователя указанного в параметрах вызова метода - Метод SendAnnulate.

Сигнатура метода - string SendAnnulate(string code, string login, string password)

Параметры, принимаемые методом:

  • code - строковая переменная, представляющая собой код предлагаемой к аннуляции путевки;
  • login - строковая переменная, представляющая собой логин пользователя, от имени которого отправляется заявка на аннуляцию;
  • password - строковая переменная, представляющая собой пароль для доступа в систему on-line бронирования пользователя, от имени которого отправляется заявка на аннуляцию.

Возвращаемые значения - метод возвращает результат своей работы в виде строкового значения. Возможны следующие значения:

  • Вам запретили доступ к системе.
  • Вы ввели неправильный пароль \ Попробуйте еще раз. Обратите внимание, не включен ли у Вас Caps Lock \ и на каком языке Вы вводите пароль.
  • Договор с туроператором не заключен или его действие закончилось!
  • Путевка {0} не найдена!
  • Неверно задан пользователь!
  • У указанного пользователя нет прав на аннуляцию заданной путевки!
  • Запрос на аннулирование заявки {0} по стране {1} успешно отослан.
  • Ошибка. Не удалось отправить запрос.

WsAuthorization

Сервис поиска авиабилетов (TicketSearchService)

Данный модуль предназначен для поиска и подбора данных по рейсам, проверки их стоимости и наличия мест - Сервис поиска авиабилетов.

После установки «Сервис поиска авиабилетов» доступен по адресу: http://ip-адрес сервера Мастер-Веб/wsAviaSearch/TicketSerachService.asmx (обращение к сервису происходит из javascript с передачей параметров в формате JSON).

Метод GetArrivalCities

Метод возвращает все города/аэропорты прибытия для заданного города или страны вылета - Метод GetArrivalCities.

Метод GetBackFlightDates

Метод возвращает даты обратных перелётов - Метод GetBackFlightDates.

Метод GetDepartureCities

Метод возвращает все возможные города/аэропорты вылета - Метод GetDepartureCities.

Метод GetFlights

Метод возвращает перелёты по заданным параметрам - Метод GetFlights.

Метод GetStraightFlightDates

Метод возвращает даты прямых перелётов - Метод GetStraightFlightDates.

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

callback: jsonp1277981564108
jsFlightSearchFilter: {"flightSearchParams":{"ctto":275, "cnfrom":460,"bdate":"2010-12-15"}}

Сервис по проверке наличия мест (CheckQuotesService)

Модуль «Сервис проверки наличия мест» предназначен как для проверки квот на одну конкретную услугу, так и на совокупность услуг - Сервис по проверке наличия мест.

Метод CheckQuotes

Метод позволяет осуществить проверку квот на совокупность услуг - Метод CheckQuotes

Сигнатура метода - public QuotaResult.Status CheckQuotes(List<Megatec.Travel.Entities.Service>services, DateTime tourDate, int tourDuration, int currentUserKey)

Параметры, принимаемые методом:

  • services - коллекция услуг, на которые необходимо проверить квоты
  • tourDate - дата начала тура
  • tourDuration - продолжительность тура
  • currentUserKey - ключ агентства в таблице партнеров

Распределенный поиск (ComplexTourService)

Модуль «Распределенный поиск» предназначен для отображения в едином поисковом модуле как своих, так и сторонних предложений. Модуль позволяет осуществлять поиск и бронирование туров от различных туроператоров в одном приложении ПК Мастер-Web - Распределенный поиск.

Сервис для шифрования строковых значений (EncryptionService)

Данный модуль предназначен для шифрования и дешифрации строковых значений - Сервис для шифрования строковых значений.

Метод EncryptString

Данный метод предоставляет возможность шифрации строкового значения методом, используемым в продуктах Мастер-Тур и Мастер-Веб - Метод EncryptString.

Сигнатура метода string EncryptString(string source)

Параметры, принимаемые методом:

  • source - строковое значение, подвергаемое шифрование

Возвращаемое значение - метод возвращает строку, представляющую собой зашифрованный вид полученного на вход значения.

Метод DecryptString

Данный метод предоставляет возможность дешифровки строкового значения, ранее зашифрованного методом, используемым в продуктах Мастер-Тур и Мастер-Веб - Метод DecryptString.

Сигнатура метода - string DecryptString(string source)

Параметры, принимаемые методом:

  • source - строковое значение подвергаемое дешифровке

Возвращаемое значение - метод возвращает строку, представляющую собой исходное значение полученной на вход зашифрованной строки.

Сервис по загрузке поисковых фильтров (FilterBindingService)

Данный модуль предназначен для формирования поискового фильтра, т.е. позволяет при изменении какого-либо из критериев отбора туров определить возможные значения зависимых от него критериев - Сервис по загрузке поисковых фильтров.

Метод GetFilter

Сигнатура метода - public HybridArrayDictionary<SchemeNodeBase, IList> GetFilter(List<SchemeNodeBase> nodes, SchemeNode changedNode, BindType bindType)

HotelInfoService

CalculateReservation

ServiceProvider

Сервис для получения информации по турам (FullTourInfoService)

Данный модуль предназначен для получения информации по списку рассчитанных туров, их типам, а также детализации рассчитанных цен - Сервис для получения информации по турам.

Метод GetTourInfo

Метод GetTourInfo Параметры, принимаемые методом:

  • token
  • tourKey - идентификационный номер тура
  • beginDate Значение - дата начиная с которой выдавать информацию, в формате «yyyy-MM-dd»

Возвращаемое значение:

  • ExtendedTourInfo
    • TourID – идентификационный номер тура
    • Name – название тура
    • TypeID – идентификационный номер типа тура
    • URL – url страницы с описанием тура
    • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
    • ValidFrom – действителен с
    • ValidTo – дейстивтелен по
    • Code – код тура
    • CountryID – идентификационный номер страны
    • TourByDateInfos
      • TourByDateInfo
  • Date – дата заезда
  • TourCosts
    • TourCosts
      • TourCost
  • AccomodationType – тип размещения
  • Cost – стоимость
  • Currency – валюта
  • ServicesCosts
    • ServiceCost
      • ServiceName – назавние услуги
      • Cost – стоимость услуги
      • Currency – валюта
      • TransportKey – ключ транспорта (-1, если услуга не подразумевает схему размещения в транспорте)
      • ServiceID – идентификационный номер услуги

Метод GetBusyBusPlan

Метод GetBusyBusPlan Параметры, принимаемые методом:

  • token
  • tourKey - идентификационный номер тура
  • tourDate - дата начиная с которой выдавать информацию, в формате «yyyy-MM-dd»

Возвращаемое значение:

  • BusPlan
    • TransportKey – идентификационный номер траспортного средства
    • Title – название транспортного средства
    • AreasCount – количество зон (автобусов)
    • RowsCount – количество рядов
    • ColumnsCount – количество мест в ряду
    • Cells
      • BusPlanCell
        • Row – горизонтальная составляющая координаты места
        • Column – вертикальная составляющая координаты места
        • Area – зона (номер автобуса)
        • BusPlanCellType – тип места (None, Comment - комментарий, Gangway – проход, Seat – пассажирское место)
        • IsUsed – true – место занято, иначе - false

Метод GetTours

Метод GetTours Параметры, принимаемые методом:

  • token
  • beginDate - дата, начиная с которой выбирать туры (дата создания тура), в формате «yyyy-MM-dd»

Возвращаемое значение:

  • ArrayOfTourInfo
    • TourInfo
      • TourID – идентификационный номер тура
      • Name – название тура
      • TypeID – идентификационный номер типа тура
      • URL – url страницы с описанием тура
      • CreatedDate – дата создания тура (формат «yyyy-MM-ddThh:mm:ss»)
      • ValidFrom – действителен с
      • ValidTo – дейстивтелен по
      • Code – код тура
      • CountryID – идентификационный номер страны

Метод GetTourTypes

Метод GetTourTypes Параметры, принимаемые методом:

  • token

Возвращаемое значение:

  • ArrayOfTourType
    • TourType
      • TourTypeID – идентификационный номер типа тура
      • Name – название типа тура

Метод GetCountries

Метод GetCountries Параметры, принимаемые методом:

  • token

Возвращаемое значение:

  • ArrayOfCountry
    • Country
      • CountryID – идентификационный номер страны
      • Name – название страны