UpdateUserWorkingAreas v2

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

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

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

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



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



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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <merc:updateUserWorkingAreasRequest>
002 ···<merc:localTransactionId>А0001</merc:localTransactionId> xs:NCName [1..1] Идентификатор заявки в клиентской системе.
003 ···<merc:initiator> vd:User [1..1]

Пользователь, зарегистрированный в системе Меркурий и инициирующий запрос к шлюзу.

  • Является ответственным за выполнение бизнес-операции.
  • Здесь потребуется логин ветврача или пользователя ХС. Логин для базовой аутентификации не подойдёт.
004 ······<vd:login>user_ab_150101</vd:login> xs:NCName [1..1] Логин пользователя, зарегистрированного в системе Меркурий.
005 ···</merc:initiator>
006 ···<vd:user> vd:User [1..*] Описание пользователя системы
  • Обязательно должен быть указан uuid или login пользователя.
007 ······<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор пользователя
008 ······<vd:login>ivanov_ii_171105</vd:login> xs:NCName [0..1] Логин пользователя
009 ······<vd:workingAreaList> vd:WorkingAreaList [0..1] Список зон ответственности
010 ·········<vd:workingArea> vd:WorkingArea [0..*]

Зона ответственности пользователя

  • Может быть задана как территорией, так и конкретным предприятием (площадкой)
011 ············<vd:area> dt:Area [0..1] Территория
  • Указывается в случае, если не указано поле enterprise
012 ···············<dt:country> dt:Country [1..1]

Страна.

  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
013 ··················<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор страны
014 ··················<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор страны
015 ···············</dt:country>
016 ···············<dt:region> dt:Region [1..1]

Регион (республика, область, край, автономная область).

  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
017 ··················<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор региона
018 ··················<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор региона
019 ···············</dt:region>
020 ···············<dt:district> dt:Locality [0..1]

Район региона

  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
021 ··················<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор района региона
022 ··················<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор района региона
023 ···············</dt:district>
024 ···············<dt:locality> dt:Locality [0..1]

Населённый пункт

  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
025 ··················<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор города региона (города регионального подчинения)
026 ··················<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор города региона (города регионального подчинения)
027 ···············</dt:locality>
028 ···············<dt:subLocality> dt:Locality [0..1]

Населённый пункт, подчиненный другогому населенному пункту (locality)

  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
029 ··················<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор населенного пункта
030 ··················<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор населенного пункта
031 ···············</dt:subLocality>
032 ············</vd:area>
033 ············<vd:enterprise> dt:Enterprise [0..1]

Данные о предприятии (площадке)

  • Указывается в случае, если не указано поле area
  • Обязательно должен быть указан uuid или guid. При указании обоих приоритет у uuid.
034 ···············<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Идентификатор версии предприятия (площадки)
035 ···············<bs:guid>GUID</bs:guid> bs:UUID [0..1] Глобальный идентификатор предприятия (площадки)
036 ············</vd:enterprise>
037 ·········</vd:workingArea>
038 ······</vd:workingAreaList>
039 ···</vd:user>
040 </merc:updateUserWorkingAreasRequest>

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <merc:updateUserWorkingAreasResponse>
002 ···<vd:user> vd:User [1..*] Описание пользователя системы
  • Обязательно должен быть указан uuid или login пользователя.
003 ······<bs:uuid>UUID</bs:uuid> bs:UUID [0..1] Уникальный идентификатор пользователя
004 ······<vd:login>ivanov_ii_171105</vd:login> xs:NCName [0..1] Логин пользователя
005 ······<vd:workingAreaList> vd:WorkingAreaList [0..1] Список зон ответственности
006 ·········<vd:workingArea> vd:WorkingArea [0..*]

Зона ответственности пользователя

  • Может быть задана как территорией, так и конкретным предприятием (площадкой)
007 ············<vd:area> dt:Area [0..1] Территория
  • Указывается в случае, если не указано поле enterprise
008 ···············<dt:country> dt:Country [1..1] Страна
009 ··················<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор страны
010 ···············</dt:country>
011 ···············<dt:region> dt:Region [1..1] Регион (республика, область, край, автономная область)
012 ··················<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор региона страны
013 ···············</dt:region>
014 ···············<dt:district> dt:Locality [0..1] Район региона
015 ··················<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор района региона
016 ···············</dt:district>
017 ···············<dt:locality> dt:Locality [0..1] Населённый пункт
018 ··················<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор города региона (города регионального подчинения)
019 ···············</dt:locality>
020 ···············<dt:subLocality> dt:Locality [0..1] Населённый пункт, подчиненный другогому населенному пункту (locality)
021 ··················<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор населенного пункта
022 ···············</dt:subLocality>
023 ············</vd:area>
024 ············<vd:enterprise> dt:Enterprise [0..1] Данные о предприятии (площадке)
  • Указывается в случае, если не указано поле area
025 ···············<bs:uuid>UUID</bs:uuid> bs:UUID [1..1] Идентификатор версии предприятия (площадки)
026 ···············<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор предприятия (площадки)
027 ············</vd:enterprise>
028 ·········</vd:workingArea>
029 ······</vd:workingAreaList>
030 ···</vd:user>
031 </merc:updateUserWorkingAreasResponse>

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

Назначение зон ответственности конкретными предприятиями

Назначение зон ответственности конкретными предприятиями

<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:updateUserWorkingAreasRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>login</vd:login>
            </merc:initiator>
            <vd:user>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:workingAreaList>
                <vd:workingArea>
                  <vd:enterprise>
                    <bs:guid>8f4a7faa-df83-400e-9868-df02324ad985</bs:guid>
                  </vd:enterprise>
                </vd:workingArea>
		<vd:workingArea>
                  <vd:enterprise>
                    <bs:guid>01c5c8be-08d5-405d-a7fa-9da5960f560c</bs:guid>
                  </vd:enterprise>
                </vd:workingArea>
              </vd:workingAreaList>
            </vd:user>
          </merc:updateUserWorkingAreasRequest>
        </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:updateUserWorkingAreasResponse>
            <vd:user>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:workingAreaList>
                <vd:workingArea>
                  <vd:enterprise>
                    <bs:guid>8f4a7faa-df83-400e-9868-df02324ad985</bs:guid>
                  </vd:enterprise>
                </vd:workingArea>
		<vd:workingArea>
                  <vd:enterprise>
                    <bs:guid>01c5c8be-08d5-405d-a7fa-9da5960f560c</bs:guid>
                  </vd:enterprise>
                </vd:workingArea>
              </vd:workingAreaList>
            </vd:user>
          </merc:updateUserWorkingAreasResponse>
        </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:updateUserWorkingAreasRequest>
            <merc:localTransactionId>a10003</merc:localTransactionId>
            <merc:initiator>
              <vd:login>login</vd:login>
            </merc:initiator>
            <vd:user>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:workingAreaList>
                <vd:workingArea>
                  <vd:area>
                    <dt:country>
                      <bs:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</bs:guid>
                    </dt:country>
                    <dt:region>
                      <bs:guid>294277aa-e25d-428c-95ad-46719c4ddb44</bs:guid>
                    </dt:region>
                    <dt:locality>
                      <bs:guid>06814fb6-0dc3-4bec-ba20-11f894a0faf5</bs:guid>
                    </dt:locality>
                  </vd:area>
                </vd:workingArea>
              </vd:workingAreaList>
            </vd:user>
          </merc:updateUserWorkingAreasRequest>
        </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:updateUserWorkingAreasResponse>
            <vd:user>
              <vd:login>ivanov_ii_171108</vd:login>
              <vd:workingAreaList>
                <vd:workingArea>
                  <vd:area>
                    <dt:country>
                      <bs:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</bs:guid>
                    </dt:country>
                    <dt:region>
                      <bs:guid>294277aa-e25d-428c-95ad-46719c4ddb44</bs:guid>
                    </dt:region>
                    <dt:locality>
                      <bs:guid>06814fb6-0dc3-4bec-ba20-11f894a0faf5</bs:guid>
                    </dt:locality>
                  </vd:area>
                </vd:workingArea>
              </vd:workingAreaList>
            </vd:user>
          </merc:updateUserWorkingAreasResponse>
        </apl:result>
      </apl:application>
    </apldef:receiveApplicationResultResponse>
  </env:Body>
</env:Envelope>