UpdateUserWorkingAreas v2: различия между версиями

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 30: Строка 30:
  |type      = notice
  |type      = notice
  |text      = '''Инициатор запроса'''
  |text      = '''Инициатор запроса'''
  |text-small = Инициатор запроса должен иметь связь с хозяйствующем субъектом, к которому привязывается указываемый в запросе пользователь. Для выполнения операций по добавлению пользователей инициатор запроса должен иметь роль "Администратор ХС" в системе "Ветис.Паспорт".
  |text-small = Инициатор запроса должен иметь связь с хозяйствующем субъектом. Для выполнения операций по изменению зон ответственности пользователей инициатор запроса должен иметь роли "Администратор ХС" и "Управление зонами ответственности пользователей в системе "Ветис.Паспорт".
}}
}}
{{ambox
{{ambox
  |type      = notice
  |type      = notice
  |text      = '''Регистрация или привязка списка пользователей'''
  |text      = '''Назначение зон ответственности для списка пользователей'''
  |text-small = Операция поддерживает регистрацию списка новых пользователей или привязку списка существующих пользователей к хозяйствующему субъекту.
  |text-small = Операция поддерживает назначение зон ответственности для списка пользователей в рамках одного запроса.
}}
}}



Версия 13:06, 9 ноября 2017

Общие сведения

Операция UpdateUserWorkingAreas предназначена для назначения зон ответственности пользователям в системе Меркурий.

Зона ответственности - некий адрес с детализацией до населенного пункта или конкретный поднадзорный объект (площадка) из реестра, которыми ограничиваются права доступа пользователей.

Минимальной зоной ответственности является предприятие (площадка). Контроль прав доступа пользователя осуществляется по предприятию. То есть доступ пользователя к конкретному предприятию определяется наличием связи с хозяйствующим субъектом, а также наличием закрепленной за ним зоны ответственности, в которую попадает это предприятие (или географически, если соответствуют компоненты адреса зоны и предприятия, или по точному совпадению предприятий).

Результирующая зона ответственности - это объединение всех зон ответственности, заданных для пользователя в контексте данного хозяйствующего субъекта. Если для пользователя не задано ни одной зоны ответственности, то результирующая зона ответственности - это множество всех предприятий хозяйствующего субъекта, с которым связан пользователь.

При выполнении операции на вход системы передаются следующие сведения:

  • информация о пользователе - инициаторе запроса;
  • имя пользователя или уникальный идентификатор, если существующий пользователь привязывается к ХС;
  • список зон ответственности для пользователя.

Результатом выполнения данной операции является:

  • назначение указанных в запросе зон ответственности пользователю.

Возможные сценарии

1. Назначение зон ответственности пользователю.
2. Если пользователь не связан с ХС-заявителем, то отказ в выполнении операции.
3. Некорректный запрос.
4. Внутренняя ошибка системы.



Используемые пространства имен и типы




Спецификация запроса

# Название XML-элемента Тип Обязат. Описание Пример
1 <merc:addBusinessEntityUserRequest>
2 ···<merc:localTransactionId> xs:NCName [1..1] Идентификатор заявки в клиентской системе. <bs:guid>A00001</bs:guid>
3 ···<merc:initiator> vd:User [1..1] Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу.
  • Является ответственным за выполнение бизнес-операции. Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт.
4 ······<vd:login> xs:NCName [1..1] Логин пользователя, зарегистрированного в системе Меркурий. <vd:login>user_ab_150101</vd:login>
5 ···</merc:initiator>
6 ···<vd:user> vd:User [1..*] Описание пользователя системы
  • Если регистриуется новый пользователь, то uuid и login не указываются.
  • Если существующий пользователь привязывается к ХС, то указывается uuid или login. Остальные поля в случае указания будут проигнорированы.
7 ······<bs:uuid> bs:UUID [0..1] Уникальный идентификатор пользователя <bs:uuid>138712f8-823a-4184-b58e-863cc2af18cf</bs:uuid>
8 ······<vd:login> xs:NCName [0..1] Логин пользователя <vd:login>ivanov_ii_171105</vd:login>
9 ······<vd:firstName> bs:String255 [0..1] Имя
  • Обязательно к указнию только при регистрации нового пользователя
<vd:firstName>Иванов</vd:firstName>
10 ······<vd:middleName> bs:String255 [0..1] Отчество
  • Обязательно к указанию только при регистрации нового пользователя
<vd:middleName>Иван</vd:middleName>
11 ······<vd:lastName> bs:String255 [0..1] Фамилия
  • Обязательно к указанию только при регистрации нового пользователя
<vd:lastName>Иванович</vd:lastName>
12 ······<vd:birthDate> xs:date [0..1] Дата рождения
  • Обязательно к указанию только при регистрации нового пользователя
<vd:birthDate>1987-01-02</vd:birthDate>
13 ······<vd:identity> vd:Document [0..1] Документ, удостоверяющий личность
  • Обязательно к указанию только при регистрации нового пользователя
14 ·········<vd:issueSeries> bs:String255 [1..1] Серия документа <vd:issueSeries>1511</vd:issueSeries>
15 ·········<vd:issueNumber> bs:String255 [1..1] Номер документа <vd:issueNumber>241708</vd:issueNumber>
16 ·········<vd:type> dt:DocumentType [1..1] Тип документа
  • Возможные значения: 17, 18, 19, 20, 21, 22
<vd:type>17</vd:type>
17 ······</vd:identity>
18 ······<vd:citizenship> vd:Citizenship [1..1] Гражданство пользователя
  • Обязательно к указанию только при регистрации нового пользователя
19 ·········<vd:country> dt:Country [1..1] Страна
  • Обязательно должен быть указан один из идентификаторов: uuid или guid; при указании обоих приоритет у uuid.
20 ············<bs:uuid> bs:UUID [0..1] Уникальный идентификатор страны в соответствии со справочником РСХН. <bs:uuid>53557240-35e7-48c8-81ce-8b9948cfef90</bs:uuid>
21 ············<bs:guid> bs:UUID [0..1] Глобальный идентификатор страны в соответствии со справочником РСХН. <bs:guid>2c779c29-1fc2-44a6-8add-92752657f089</bs:guid>
22 ·········</vd:country>
23 ······</vd:citizenship>
24 ······<vd:snils> vd:SNILSType [0..1] СНИЛС (опционально)
  • Может быть указано только при регистрации нового пользователя
<vd:snils>123-123-123 12</vd:snils>
25 ······<vd:phone> bs:String255 [0..1] Телефон пользователя (опционально)
  • Может быть указано только при регистрации нового пользователя
<vd:phone>23-23-23</vd:phone>
26 ······<vd:workPhone> bs:String255 [0..1] Рабочий телефон пользователя (опционально)
  • Может быть указано только при регистрации нового пользователя
<vd:workPhone>23-23-25</vd:workPhone>
27 ······<vd:email> bs:String255 [0..1] Адрес электронной почты пользователя
  • Обязательно к указанию только при регистрации нового пользователя
<vd:email>1511440241708@yandex.ru</vd:email>
28 ······<vd:workEmail> bs:String255 [0..1] Рабочий адрес электронной почты пользователя (опционально)
  • Может быть указано только при регистрации нового пользователя
<vd:workEmail>34833784001f@yandex.ru</vd:workEmail>
29 ······<vd:post> bs:String255 [0..1] Должность пользователя (опционально)
  • Может быть указано только при регистрации нового пользователя
<vd:post>Должность</vd:post>
30 ······<vd:authorityList> vd:AuthorityList [0..1] Список ролей пользователя (опционально)
  • Может быть указано только при регистрации нового пользователя
31 ·········<vd:authority> vd:UserAuthority [1..*] Роль пользователя
32 ············<vd:ID> xs:NCName [1..1] Идентификатор роли пользователя <vd:ID>MERCURY_AUTHORIZED_APPLICANT</vd:ID>
33 ·········</vd:authority>
34 ······</vd:authorityList>
35 ···</vd:user>
36 </merc:addBusinessEntityUserRequest>

Спецификация ответа

# Название XML-элемента Тип Обязат. Описание Пример
1 <merc:addBusinessEntityUserResponse>
2 ···<vd:user> vd:User [1..*] Описание пользователя системы
3 ······<bs:uuid> bs:UUID [1..1] Уникальный идентификатор пользователя <bs:uuid>138712f8-823a-4184-b58e-863cc2af18cf</bs:uuid>
4 ······<vd:login> xs:NCName [1..1] Логин пользователя <vd:login>ivanov_ii_171105</vd:login>
5 ······<vd:firstName> bs:String255 [0..1] Имя <vd:firstName>Иванов</vd:firstName>
6 ······<vd:middleName> bs:String255 [0..1] Отчество <vd:middleName>Иван</vd:middleName>
7 ······<vd:lastName> bs:String255 [0..1] Фамилия <vd:lastName>Иванович</vd:lastName>
8 ······<vd:birthDate> xs:date [0..1] Дата рождения <vd:birthDate>1987-01-02</vd:birthDate>
9 ······<vd:phone> bs:String255 [0..1] Телефон пользователя <vd:phone>23-23-23</vd:phone>
10 ······<vd:workPhone> bs:String255 [0..1] Рабочий телефон пользователя <vd:workPhone>23-23-25</vd:workPhone>
11 ······<vd:email> bs:String255 [0..1] Адрес электронной почты пользователя <vd:email>1511440241708@yandex.ru</vd:email>
12 ······<vd:workEmail> bs:String255 [0..1] Рабочий адрес электронной почты пользователя <vd:workEmail>34833784001f@yandex.ru</vd:workEmail>
13 ······<vd:post> bs:String255 [0..1] Должность пользователя <vd:post>Должность</vd:post>
14 ······<vd:authorityList> vd:AuthorityList [0..1] Список ролей пользователя
15 ·········<vd:authority> vd:UserAuthority [1..*] Роль пользователя
16 ············<vd:ID> xs:NCName [1..1] Идентификатор роли пользователя <vd:ID>MERCURY_AUTHORIZED_APPLICANT</vd:ID>
17 ············<vd:name> bs:String255 [1..1] Описание роли пользователя <vd:name>Авторизованный заявитель в системе Меркурий</vd:name>
18 ·········</vd:authority>
19 ······</vd:authorityList>
20 ···</vd:user>
21 </merc:addBusinessEntityUserResponse>

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

Регистрация нового пользователя

Регистрация нового пользователя
<SOAP-ENV:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <apldef:submitApplicationRequest>
      <apldef:apiKey>apikey</apldef:apiKey>
      <apl:application>
        <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08</apl:issueDate>
        <apl:data>
          <merc:addBusinessEntityUserRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>login</vd:login>
            </merc:initiator>
            <vd:user>
              <vd:firstName>Иван</vd:firstName>
              <vd:middleName>Иванович</vd:middleName>
              <vd:lastName>Иванов</vd:lastName>
              <vd:birthDate>1987-01-02</vd:birthDate>
              <vd:identity>
                <vd:issueSeries>1508</vd:issueSeries>
                <vd:issueNumber>436542</vd:issueNumber>
                <vd:type>17</vd:type>
              </vd:identity>
              <vd:citizenship>
                <vd:country>
                  <bs:uuid>72a84b51-5c5e-11e1-b9b7-001966f192f1</bs:uuid>
                  <bs:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</bs:guid>
                </vd:country>
              </vd:citizenship>
              <vd:email>1508871436542@yandex.ru</vd:email>
            </vd:user>
          </merc:addBusinessEntityUserRequest>
        </apl:data>
      </apl:application>
    </apldef:submitApplicationRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Ответ на запрос
<env:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">
  <env:Header/>
  <env:Body>
    <apldef:receiveApplicationResultResponse>
      <apl:application>
        <apl:applicationId>ecd5b39a-7bbf-41c5-adfe-a92259b72584</apl:applicationId>
        <apl:status>COMPLETED</apl:status>
        <apl:serviceId>mercury-g2b.service</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08.000+03:00</apl:issueDate>
        <apl:rcvDate>2017-11-08T10:32:07.000+03:00</apl:rcvDate>
        <apl:prdcRsltDate>2017-11-08T10:32:08.000+03:00</apl:prdcRsltDate>
        <apl:result>
          <merc:addBusinessEntityUserResponse>
            <vd:user>
              <bs:uuid>6c2eb90a-b717-4075-8093-32d59b684452</bs:uuid>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:firstName>Иван</vd:firstName>
              <vd:middleName>Иванович</vd:middleName>
              <vd:lastName>Иванов</vd:lastName>
              <vd:birthDate>1987-01-02T00:00:00.000+03:00</vd:birthDate>
              <vd:email>1508871436542@yandex.ru</vd:email>
            </vd:user>
          </merc:addBusinessEntityUserResponse>
        </apl:result>
      </apl:application>
    </apldef:receiveApplicationResultResponse>
  </env:Body>
</env:Envelope>


Привязка существующего пользователя к хозяйствующему субъекту

Привязка существующего пользователя к хозяйствующему субъекту
<SOAP-ENV:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <apldef:submitApplicationRequest>
      <apldef:apiKey>apikey</apldef:apiKey>
      <apl:application>
        <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08</apl:issueDate>
        <apl:data>
          <merc:addBusinessEntityUserRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>login</vd:login>
            </merc:initiator>
            <vd:user>
              <vd:login>ivanov_ii_171108</vd:login>
            </vd:user>
          </merc:addBusinessEntityUserRequest>
        </apl:data>
      </apl:application>
    </apldef:submitApplicationRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Ответ на запрос
<env:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">
  <env:Header/>
  <env:Body>
    <apldef:receiveApplicationResultResponse>
      <apl:application>
        <apl:applicationId>ecd5b39a-7bbf-41c5-adfe-a92259b72584</apl:applicationId>
        <apl:status>COMPLETED</apl:status>
        <apl:serviceId>mercury-g2b.service</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08.000+03:00</apl:issueDate>
        <apl:rcvDate>2017-11-08T10:32:07.000+03:00</apl:rcvDate>
        <apl:prdcRsltDate>2017-11-08T10:32:08.000+03:00</apl:prdcRsltDate>
        <apl:result>
          <merc:addBusinessEntityUserResponse>
            <vd:user>
              <bs:uuid>2732beec-c3f5-4024-892a-1c92fca663f3</bs:uuid>
              <vd:login>ivanov_ii_171108</vd:login>
            </vd:user>
          </merc:addBusinessEntityUserResponse>
        </apl:result>
      </apl:application>
    </apldef:receiveApplicationResultResponse>
  </env:Body>
</env:Envelope>


Регистрация списка новых пользователей

Привязка существующего пользователя к хозяйствующему субъекту
<SOAP-ENV:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <apldef:submitApplicationRequest>
      <apldef:apiKey>apikey</apldef:apiKey>
      <apl:application>
        <apl:serviceId>mercury-g2b.service:2.0</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08</apl:issueDate>
        <apl:data>
          <merc:addBusinessEntityUserRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>login</vd:login>
            </merc:initiator>
            <vd:user>
              <vd:firstName>Иван</vd:firstName>
              <vd:middleName>Иванович</vd:middleName>
              <vd:lastName>Иванов</vd:lastName>
              <vd:birthDate>1987-01-02</vd:birthDate>
              <vd:identity>
                <vd:issueSeries>1512</vd:issueSeries>
                <vd:issueNumber>061952</vd:issueNumber>
                <vd:type>17</vd:type>
              </vd:identity>
              <vd:citizenship>
                <vd:country>
                  <bs:uuid>72a84b51-5c5e-11e1-b9b7-001966f192f1</bs:uuid>
                  <bs:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</bs:guid>
                </vd:country>
              </vd:citizenship>
              <vd:email>1512053061952@yandex.ru</vd:email>
            </vd:user>
            <vd:user>
              <vd:firstName>Петр</vd:firstName>
              <vd:middleName>Петрович</vd:middleName>
              <vd:lastName>Петров</vd:lastName>
              <vd:birthDate>1987-01-02</vd:birthDate>
              <vd:identity>
                <vd:issueSeries>1508</vd:issueSeries>
                <vd:issueNumber>636157</vd:issueNumber>
                <vd:type>17</vd:type>
              </vd:identity>
              <vd:citizenship>
                <vd:country>
                  <bs:uuid>72a84b51-5c5e-11e1-b9b7-001966f192f1</bs:uuid>
                  <bs:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</bs:guid>
                </vd:country>
              </vd:citizenship>
              <vd:email>1508171636157@yandex.ru</vd:email>
            </vd:user>
          </merc:addBusinessEntityUserRequest>
        </apl:data>
      </apl:application>
    </apldef:submitApplicationRequest>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


Ответ на запрос
<env:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" 
xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" 
xmlns:apl="http://api.vetrf.ru/schema/cdm/application" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2">
  <env:Header/>
  <env:Body>
    <apldef:receiveApplicationResultResponse>
      <apl:application>
        <apl:applicationId>ecd5b39a-7bbf-41c5-adfe-a92259b72584</apl:applicationId>
        <apl:status>COMPLETED</apl:status>
        <apl:serviceId>mercury-g2b.service</apl:serviceId>
        <apl:issuerId>Id</apl:issuerId>
        <apl:issueDate>2017-11-08T10:32:08.000+03:00</apl:issueDate>
        <apl:rcvDate>2017-11-08T10:32:07.000+03:00</apl:rcvDate>
        <apl:prdcRsltDate>2017-11-08T10:32:08.000+03:00</apl:prdcRsltDate>
        <apl:result>
          <merc:addBusinessEntityUserResponse>
            <vd:user>
              <bs:uuid>80b3835a-5669-4f28-b383-ab11bc0a6cc1</bs:uuid>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:firstName>Иван</vd:firstName>
              <vd:middleName>Иванович</vd:middleName>
              <vd:lastName>Иванов</vd:lastName>
              <vd:birthDate>1987-01-02T00:00:00.000+03:00</vd:birthDate>
              <vd:email>1512053061952@yandex.ru</vd:email>
              <vd:workEmail>1512053061952@yandex.ru</vd:workEmail>
            </vd:user>
            <vd:user>
              <bs:uuid>c207f427-9252-4e84-89d8-fe4532374234</bs:uuid>
              <vd:login>petrov_pp_171108</vd:login>
              <vd:firstName>Петр</vd:firstName>
              <vd:middleName>Петрович</vd:middleName>
              <vd:lastName>Петров</vd:lastName>
              <vd:birthDate>1987-01-02T00:00:00.000+03:00</vd:birthDate>
              <vd:email>1508171636157@yandex.ru</vd:email>
              <vd:workEmail>1508171636157@yandex.ru</vd:workEmail>
            </vd:user>
          </merc:addBusinessEntityUserResponse>
        </apl:result>
      </apl:application>
    </apldef:receiveApplicationResultResponse>
  </env:Body>
</env:Envelope>