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

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Описание принимаемых методом параметров)
 
(не показано 10 промежуточных версий 3 участников)
Строка 1: Строка 1:
 
==Введение==
 
==Введение==
Данный web-сервис предназначен для работы с пользователями системы Мастер-Web. Позволяет производить регистрацию и авторизацию пользователей в качестве представителей агентств или частных лиц, получать информацию о зарегистрированных пользователях, изменять информацию зарегистрированных пользователей.
+
Данный web-сервис предназначен для работы с пользователями системы Мастер-Web. Позволяет производить регистрацию и аутентификацию пользователей в качестве представителей агентств или частных лиц, получать информацию о зарегистрированных пользователях, изменять информацию зарегистрированных пользователей.
  
 
==Установка==
 
==Установка==
Строка 64: Строка 64:
 
| 3
 
| 3
 
|  Настройка, проверяющая уникальность ИНН регистрируемого агентства.
 
|  Настройка, проверяющая уникальность ИНН регистрируемого агентства.
- '''true''' - проверяется уникальность ИНН регистрируемого агентства;
+
|   
'''false''' или '''отсутствие настройки''' – не проверяется уникальность ИНН регистрируемого агентства.
+
* '''true''' - проверяется уникальность ИНН регистрируемого агентства;
 +
* '''false''' или '''отсутствие настройки''' – не проверяется уникальность ИНН регистрируемого агентства.
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="isCheckUniqueINN" value="true" />
 
<add key="isCheckUniqueINN" value="true" />
Строка 74: Строка 75:
 
| 4
 
| 4
 
| '''Определяет''', использовать ли признак '''Проверка реквизита''' из справочника [[Мастер-Тур:Справочники#Страны|«Страны»]] при проверке корректности ввода ИНН.
 
| '''Определяет''', использовать ли признак '''Проверка реквизита''' из справочника [[Мастер-Тур:Справочники#Страны|«Страны»]] при проверке корректности ввода ИНН.
'''true''' – использовать признак '''Проверка ИНН''' - проверка проводится только для тех стран, у которых '''включен''' признак '''Проверка реквизита''';
+
|   
'''false''' или '''отсутствие настройки''' – проверка ИНН проводится для '''всех''' стран.
+
* '''true''' – использовать признак '''Проверка ИНН''' - проверка проводится только для тех стран, у которых '''включен''' признак '''Проверка реквизита''';
 +
* '''false''' или '''отсутствие настройки''' – проверка ИНН проводится для '''всех''' стран.
 
|<syntaxhighlight lang="xml" enclose="div">
 
|<syntaxhighlight lang="xml" enclose="div">
 
<add key="useCheckINNSetting" value="true" />
 
<add key="useCheckINNSetting" value="true" />
Строка 82: Строка 84:
  
 
==Подготовка данных==
 
==Подготовка данных==
Для получения token'a необходимо воспользоваться '''сервисом авторизации''' ([[Мастер-Web:Дополнительный модуль Распределенный поиск#Сервис авторизации|WsAuthorization]])
+
Для получения token'a необходимо воспользоваться '''сервисом авторизации''' ([[Мастер-Web:Дополнительный модуль Распределенный поиск#Сервис авторизации|WsAuthorization]]).<br />
 +
 
 +
[[Файл:am_063.png|left|Предупреждение]]<br />
 +
С 1 января 2017 года вступили в силу положения Федерального закона от 02.03.2016 № 49-ФЗ «О внесении изменений в отдельные законодательные акты
 +
Российской Федерации в целях совершенствования законодательства, регулирующего туристскую деятельность» (далее – Федеральный закон № 49-ФЗ), в связи
 +
с чем вводится ограничение на осуществление бронирования партнёрами, не указавшими реестровый номер.
 +
Установить дату, начиная с которой данное ограничение начинает функционировать, можно в [[Мастер-Тур:Администрирование системы#Дополнительные настройки|дополнительных настройках]] ПК «Мастер-Тур».
 +
<span style="color:red">Настройка работает, начиная с релиза '''9222SP0'''.</span>
  
 
==Работа в системе==
 
==Работа в системе==
Строка 97: Строка 106:
 
* ContactName – контактное лицо
 
* ContactName – контактное лицо
 
* Contry – страна
 
* Contry – страна
* Email – e-mail пользователя(обязательный параметр)
+
* Email – e-mail пользователя (обязательный параметр)
 
* Fax – факс
 
* Fax – факс
 
* Filial – филиал
 
* Filial – филиал
Строка 106: Строка 115:
 
* PhoneCode – код города
 
* PhoneCode – код города
 
* PhoneNumber – телефон
 
* PhoneNumber – телефон
 +
* PartnerRegisterNumber - реестровый номер
 
* Token - токен (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
* ZipCode – индекс
 
* ZipCode – индекс
Строка 144: Строка 154:
 
* Login – логин (обязательный параметр)
 
* Login – логин (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
 
====Возвращаемые значения====
 
====Возвращаемые значения====
 
* LoginUnique - статус проверки логина на уникальность:
 
* LoginUnique - статус проверки логина на уникальность:
 
** 0 – логин не найден в БД
 
** 0 – логин не найден в БД
 
** 1 – логин найден в БД
 
** 1 – логин найден в БД
 +
 
===Метод GetUserKeyAndType===
 
===Метод GetUserKeyAndType===
 
Данный метод предназначен для получения идентификатора (UserKey) и типа пользователя (агентство или частное лицо). <br />
 
Данный метод предназначен для получения идентификатора (UserKey) и типа пользователя (агентство или частное лицо). <br />
Строка 156: Строка 166:
 
* Login – логин (обязательный параметр)
 
* Login – логин (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
 
====Возвращаемые значения====
 
====Возвращаемые значения====
 
* UserKey - идентификатор пользователя  
 
* UserKey - идентификатор пользователя  
Строка 162: Строка 171:
 
** 0 - агентство
 
** 0 - агентство
 
** 1 - частник
 
** 1 - частник
 +
 
===Метод UserAuthorization===
 
===Метод UserAuthorization===
Данный метод предназначен для аутентификации/авторизации пользователя. <br />
+
Данный метод предназначен для аутентификации пользователя. <br />
 
====Сигнатура метода====  
 
====Сигнатура метода====  
 
<code>public UserAuthorizationResult UserAuthorization(string Login, string Password, string Token)</code>
 
<code>public UserAuthorizationResult UserAuthorization(string Login, string Password, string Token)</code>
Строка 170: Строка 180:
 
* Password - пароль (обязательный параметр)
 
* Password - пароль (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
 
====Возвращаемые значения====
 
====Возвращаемые значения====
 
* AuthorizationStatus - статус авторизации:
 
* AuthorizationStatus - статус авторизации:
Строка 196: Строка 205:
 
====Возвращаемые значения====
 
====Возвращаемые значения====
 
* Password - пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
 
* Password - пароль (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
 +
 +
===Метод GetUserKeysByEMail===
 +
Данный метод предназначен для получения идентификаторов пользователей по значению e-mail адреса. <br />
 +
====Сигнатура метода====
 +
<code>public int[] GetUserKeysByEmail(string Email, string Token)</code>
 +
====Описание принимаемых методом параметров====
 +
* Email - адрес электронной почты (обязательный параметр)
 +
* Token - токен (обязательный параметр)
 +
====Возвращаемые значения====
 +
* Keys - идентификаторы пользователей из таблицы '''[DUP_USER]'''
  
 
===Метод GetAgencyInfo===
 
===Метод GetAgencyInfo===
Строка 204: Строка 223:
 
* Token - токен (обязательный параметр)
 
* Token - токен (обязательный параметр)
 
* UserKey - идентификатор пользователя (обязательный параметр)
 
* UserKey - идентификатор пользователя (обязательный параметр)
 
 
====Возвращаемые значения====
 
====Возвращаемые значения====
* Address - адрес
+
* Address адрес
 +
* AgencyKey – ключ агентства из таблицы '''[Partners]'''
 
* AgencyName – название агентства
 
* AgencyName – название агентства
 
* City – город
 
* City – город
Строка 217: Строка 236:
 
* INN – ИНН
 
* INN – ИНН
 
* IsActive – признак активности пользователя сразу после регистрации
 
* IsActive – признак активности пользователя сразу после регистрации
 +
* PartnerRegisterNumber - реестровый номер
 
* PhoneCode – код города
 
* PhoneCode – код города
 
* PhoneNumber – телефон
 
* PhoneNumber – телефон
Строка 261: Строка 281:
 
* Login – логин
 
* Login – логин
 
* Password – пароль  (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
 
* Password – пароль  (пароль передается в незашифрованном виде. При работе с сервисом рекомендуется использовать протокол https)
 +
* PartnerRegisterNumber - реестровый номер
 
* PhoneCode – код города
 
* PhoneCode – код города
 
* PhoneNumber – телефон
 
* PhoneNumber – телефон
Строка 298: Строка 319:
 
* 1 - Ok
 
* 1 - Ok
  
[[Category:Мастер-Web_Дополнительные_модули]]
+
[[Category:Web-сервисы]]

Текущая версия на 14:29, 16 августа 2018

Содержание

Введение

Данный 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