Web-сервисы: Сервис для работы с пользователями системы

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

Содержание

Введение

Данный web-сервис предназначен для работы с пользователями системы Мастер-Web. Позволяет производить регистрацию и аутентификацию пользователей в качестве представителей агентств или частных лиц, получать информацию о зарегистрированных пользователях, изменять информацию зарегистрированных пользователей.

Установка

Для установки Сервиса для работы с пользователями системы нужно создать директорию UserManagementService в каталоге c:/inetpub/wwwroot/ (корневом каталоге IIS) и выложить туда файлы из папки UserManagementService. В управлении IIS необходимо создать виртуальный каталог для папки UserManagementService.

Создание виртуального каталога

По умолчанию корневым каталогом IIS является C:/Inetpub/wwwroot. Для создания виртуального каталога для приложения находящегося в этом каталоге нужно выполнить следующие действия:
1 Зайти в Пуск (Start) → Настройки (Settings) → Панель управления (Control Panel) → Администрирование (Administrative Tools)
Панель управления

2 Диспетчер служб IIS
Администрирование - Диспетчер служб IIS

3 В открывшемся дереве каталогов выбрать Web Sites – Default Web Site. В открывшемся списке найти папку, для которой нужно создать виртуальный каталог, кликнуть по ней правой кнопкой мыши и выбрать Преобразовать в приложение
Преобразовать в приложение

4 В открывшемся окне нужно нажать кнопку ОК
Добавить приложение

Подключение к базе данных ПК «Мастер-Тур»

В файле web.config, расположенном в папке UserManagementService пропишите необходимые параметры подключения (красным цветом выделены значения, которые необходимо ввести). Строка подключения к базе данных ПК «Мастер-Тур»:
<add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК «Мастер-Тур»;Initial Catalog=название базы данных ПК «Мастер-Тур;User ID=логин пользователя ПК «Мастер-Тур»;Password=пароль пользователя ПК «Мастер-Тур»"/>

Настройка

После установки «Сервис для работы с пользователями системы» доступен по адресу http://ip- адрес сервера Мастер-Веб/UserManagementService/UserManagementService.svc.

Настройка в файле WEB.CONFIG

Дополнительные настройки задаются в файле web.config, находящемся в папке UserManagementService.

Описание Значение Настройка
1 Настройка, определяющая к какому филиалу будет привязано регистрируемое агентство или частное лицо. Ключ филиала из таблицы tbl_Partners
<add key="defaultFilialKey" value="2" />
2 Настройка, определяющая партнера в базе ПК «Мастер-Тур», к которому будут привязываться регистрируемые частные лица. Ключ партнера (из таблицы tbl_Partners), к которому будут привязываться регистрируемые частные лица.
<add key="personalBookingPartnerKey" value="10769" />
3 Настройка, проверяющая уникальность ИНН регистрируемого агентства.
  • true - проверяется уникальность ИНН регистрируемого агентства;
  • false или отсутствие настройки – не проверяется уникальность ИНН регистрируемого агентства.
<add key="isCheckUniqueINN" value="true" />
4 Определяет, использовать ли признак Проверка реквизита из справочника «Страны» при проверке корректности ввода ИНН.
  • true – использовать признак Проверка ИНН - проверка проводится только для тех стран, у которых включен признак Проверка реквизита;
  • false или отсутствие настройки – проверка ИНН проводится для всех стран.
<add key="useCheckINNSetting" value="true" />

Подготовка данных

Для получения token'a необходимо воспользоваться сервисом авторизации (WsAuthorization).

Предупреждение


С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты 
Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи 
с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер.
Установить дату, начиная с которой данное ограничение начинает функционировать, можно в дополнительных настройках ПК «Мастер-Тур».
Настройка работает, начиная с релиза 9222SP0. 

Работа в системе

Метод AgencyRegistration

Данный метод предназначен для регистрации пользователей (агентств).

Сигнатура метода

public int AgencyRegistration(string Address, string AgencyName, string City, string Comment, string ContactName, string Country, string Email, string Fax, System.Nullable<int> Filial, string INN, System.Nullable<int> IsActive, string Login, string Password, string PhoneCode, string PhoneNumber, string Token, string ZipCode)

Описание принимаемых методом параметров

  • Address - адрес
  • AgencyName – название агентства (обязательный параметр)
  • City – город
  • Comment – примечание
  • ContactName – контактное лицо
  • Contry – страна
  • Email – e-mail пользователя (обязательный параметр)
  • Fax – факс
  • Filial – филиал
  • INN – ИНН
  • IsActive – признак активности пользователя сразу после регистрации
  • Login – логин (обязательный параметр)
  • Password – пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https) (обязательный параметр)
  • PhoneCode – код города
  • PhoneNumber – телефон
  • PartnerRegisterNumber - реестровый номер
  • Token - токен (обязательный параметр)
  • ZipCode – индекс

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

  • UserKey - идентификатор пользователя

Метод PersonRegistration

Данный метод предназначен для регистрации пользователей (частных лиц).

Сигнатура метода

public int PersonRegistration(string Address, string City, string Country, string Email, System.Nullable<int> Filial, System.Nullable<int> IsActive, string Login, string Name, string Password, string PhoneCode, string PhoneNumber, string SecondName, string Surname, string Token, string ZipCode)

Описание принимаемых методом параметров

  • Address - адрес
  • City – город
  • Contry – страна
  • Email – e-mail пользователя (обязательный параметр)
  • Filial – филиал
  • IsActive – признак активности пользователя сразу после регистрации
  • Login – логин (обязательный параметр)
  • Name – имя (обязательный параметр)
  • Password – пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https) (обязательный параметр)
  • PhoneCode – код города
  • PhoneNumber – телефон
  • SecondName - отчество
  • Surname – фамилия
  • Token - токен (обязательный параметр)
  • ZipCode – индекс

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

  • UserKey - идентификатор пользователя

Метод UniqueLoginCheck

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

Сигнатура метода

public int UniqueLoginCheck(string Login, string Token)

Описание принимаемых методом параметров

  • Login – логин (обязательный параметр)
  • Token - токен (обязательный параметр)

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

  • LoginUnique - статус проверки логина на уникальность:
    • 0 – логин не найден в БД
    • 1 – логин найден в БД

Метод GetUserKeyAndType

Данный метод предназначен для получения идентификатора (UserKey) и типа пользователя (агентство или частное лицо).

Сигнатура метода

public UserKeyAndType GetUserKeyAndType(string Login, string Token)

Описание принимаемых методом параметров

  • Login – логин (обязательный параметр)
  • Token - токен (обязательный параметр)

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

  • UserKey - идентификатор пользователя
  • UserType - тип пользователя:
    • 0 - агентство
    • 1 - частник

Метод UserAuthorization

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

Сигнатура метода

public UserAuthorizationResult UserAuthorization(string Login, string Password, string Token)

Описание принимаемых методом параметров

  • Login – логин (обязательный параметр)
  • Password - пароль (обязательный параметр)
  • Token - токен (обязательный параметр)

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

  • AuthorizationStatus - статус авторизации:
    • 0 - AccessDenied - пользователь не найден с указанным username и password
    • 1 - AccessAllow - пользователь найден с указанным username и password
    • 2 - DogovorExpired - дата окончания договора партнёра меньше текущей (для частников не проверять)
  • UserCanBooking - возможность бронирования:
    • false
    • true
  • UserRight - права пользователя:
    • 1 - уполномоченный
    • 0 - неуполномеченный
  • UserType - тип пользователя:
    • 0 - агентство
    • 1 - частник

Метод PasswordRecovery

Данный метод предназначен для восстановления пароля зарегистрированного пользователя.

Сигнатура метода

public string PasswordRecovery(string Email, string Login, string Token)

Описание принимаемых методом параметров

  • Email - адрес электронной почты (обязательный параметр)
  • Login – логин (обязательный параметр)
  • Token - токен (обязательный параметр)

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

  • Password - пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)

Метод GetUserKeysByEMail

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

Сигнатура метода

public int[] GetUserKeysByEmail(string Email, string Token)

Описание принимаемых методом параметров

  • Email - адрес электронной почты (обязательный параметр)
  • Token - токен (обязательный параметр)

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

  • Keys - идентификаторы пользователей из таблицы [DUP_USER]

Метод GetAgencyInfo

Данный метод предназначен для получения данных зарегистрированного пользователя "агентство".

Сигнатура метода

public AgencyInformation GetAgencyInfo(string Token, int UserKey)

Описание принимаемых методом параметров

  • Token - токен (обязательный параметр)
  • UserKey - идентификатор пользователя (обязательный параметр)

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

  • Address – адрес
  • AgencyKey – ключ агентства из таблицы [Partners]
  • AgencyName – название агентства
  • City – город
  • Comment – примечание
  • ContactName – контактное лицо
  • Contry – страна
  • Email – e-mail
  • Fax – факс
  • Filial – филиал
  • INN – ИНН
  • IsActive – признак активности пользователя сразу после регистрации
  • PartnerRegisterNumber - реестровый номер
  • PhoneCode – код города
  • PhoneNumber – телефон
  • ZipCode – индекс

Метод GetPersonInfo

Данный метод предназначен для получения данных зарегистрированного пользователя "частное лицо".

Сигнатура метода

public PersonInformation GetPersonInfo(string Token, int UserKey)

Описание принимаемых методом параметров

  • Token - токен (обязательный параметр)
  • UserKey - идентификатор пользователя (обязательный параметр)

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

  • Address - адрес
  • City – город
  • Contry – страна
  • Email – e-mail
  • Filial – филиал
  • IsActive – признак активности пользователя сразу после регистрации
  • Name – имя
  • PhoneCode – код города
  • PhoneNumber – телефон
  • SecondName - отчество
  • Surname – фамилия
  • ZipCode – индекс

Метод ModifyAgencyInfo

Данный метод предназначен для изменения данных зарегистрированного пользователя "агентство".

Сигнатура метода

public int ModifyAgencyInfo(string Address, string AgencyName, string City, string Comment, string ContactName, string Country, string Email, string Fax, System.Nullable<int> Filial, string INN, System.Nullable<int> IsActive, string Login, string Password, string PhoneCode, string PhoneNumber, string Token, int UserKey, string ZipCode)

Описание принимаемых методом параметров

  • Address - адрес
  • AgencyName – название агентства
  • City – город
  • Comment – примечание
  • ContactName – контактное лицо
  • Contry – страна
  • Email – e-mail
  • Fax – факс
  • Filial – филиал
  • INN – ИНН
  • IsActive – признак активности пользователя сразу после регистрации
  • Login – логин
  • Password – пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
  • PartnerRegisterNumber - реестровый номер
  • PhoneCode – код города
  • PhoneNumber – телефон
  • Token - токен (обязательный параметр)
  • UserKey - идентификатор пользователя (обязательный параметр)
  • ZipCode – индекс

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

  • Status - статус изменения данных пользователя:
  • 0 - Error
  • 1 - Ok

Метод ModifyPersonInfo

Данный метод предназначен для изменения данных зарегистрированного пользователя "частное лицо".

Сигнатура метода

public int ModifyPersonInfo(string Address, string City, string Country, string Email, System.Nullable<int> Filial, System.Nullable<int> IsActive, string Login, string Name, string Password, string PhoneCode, string PhoneNumber, string SecondName, string Surname, string Token, int UserKey, string ZipCode)

Описание принимаемых методом параметров

  • Address - адрес
  • City – город
  • Contry – страна
  • Email – e-mail
  • Filial – филиал
  • IsActive – признак активности пользователя сразу после регистрации
  • Login – логин
  • Name – имя
  • Password – пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
  • PhoneCode – код города
  • PhoneNumber – телефон
  • SecondName - отчество
  • Surname – фамилия
  • Token - токен (обязательный параметр)
  • UserKey - идентификатор пользователя (обязательный параметр)
  • ZipCode – индекс

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

  • Status - статус изменения данных пользователя:
  • 0 - Error
  • 1 - Ok