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

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 23: Строка 23:
** [[VersionStatus|bs:VersionStatus]]
** [[VersionStatus|bs:VersionStatus]]
{{столбцы/конец}}
{{столбцы/конец}}
===Входные данные===
* параметры выводимого списка
* идентификатор региона
===Выходные данные===
* список записей районов, принадлежащих данному региону, актуальных и последних (active=true, last=true).


==Данные запроса==
==Данные запроса==

Версия 16:45, 1 ноября 2016

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

Операция GetDistrictListByRegion предназначена для получения списка районов региона. В список попадают только активные записи районов (active=true, last=true), у которых глобальный идентификатор региона равен запрошенному. Выполнение операции заканчивается либо возвратом списка районов, либо ошибкой, в случае если параметры запроса не корректны или произошла иная ошибка выполнения запроса. Операция поддерживает возможность частичного вывода списка.

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


Входные данные

  • параметры выводимого списка
  • идентификатор региона

Выходные данные

  • список записей районов, принадлежащих данному региону, актуальных и последних (active=true, last=true).

Данные запроса

Объект getDistrictListByRegionRequest

Корневой объект запроса. Содержит параметры запрашиваемого списка и идентификатор региона.

Поле Описание Тип данных Обязательность
listOptions Параметры возвращаемого списка: количество элементов и смещение. bs:ListOptions 0..1
regionGUID Идентификатор региона. bs:UUID 1

Объект ..Request/listOptions

Объект содержит два параметра запрашиваемого списка: количество выводимых объектов и смещение относительно начала.

Поле Описание Тип данных Обязательность
count Количество значений в списке
  • По умолчанию значение равно 100;
  • Максимально допустимое значение равно 1000.
xs:nonNegativeInteger 0..1
offset Смещение в списке относительно начала. xs:nonNegativeInteger 0..1

Данные ответа

Объект getDistrictListByRegionResponse

Корневой объект ответа.

Поле Описание Тип данных Обязательность
districtList Объект содержит список районов. ikar:DistrictList 1

Объект ..Response/districtList

Объект содержит список районов указанного региона.

Поле Описание Тип данных Обязательность
district Данные района. ikar:District 1..*

Атрибуты списка districtList

Атрибут Описание Тип данных Обязательность
count Количество элементов списка, запрашиваемое или переданное. xs:int 1
total Общий размер списка. xs:long 1
offset Смещение первого элемента списка относительно его начала. xs:int 1

Объект ..Response/districtList/district

Объект содержит информацию о районе.

Поле Описание Тип данных Обязательность
UUID Уникальный идентификатор версии записи. bs:UUID 1
GUID Глобальный уникальный идентификатор записи. bs:UUID 1
active Флаг, указывающий активна ли запись. xs:boolean 1
last Флаг, указывающий, является ли версия записи последней. xs:boolean 1
status Статус записи. bs:VersionStatus 1
createDate Дата создания записи. xs:date 1
updateDate Дата обновления записи. xs:date 1
previous Идентификатор предыдущей записи. bs:UUID 0..1
name Название региона страны. xs:string 1
view Представление объекта. Обычно это название + тип.
  • Например: Калачовский район
bs:String255 1
regionCode Код региона
  • Например: 33 (код Владимирской области).
xs:string 1
type Название адресного типа.
  • Например: р-н
bs:String255 1
countryGuid Глобальный идентификатор страны. bs:UUID 1
hasStreets Флаг, указывающий на наличие улиц. xs:boolean 1
regionGuid Глобальный идентификатор региона, которому принадлежит район. bs:UUID 1

Описание ошибок

Ошибка Описание
InternalServiceFault Внутренняя ошибка сервиса
IncorrectRequestFault Некорректный запрос. Возникает, если запрос не соответствует требованиям указанным в xsd.
OffsetOutOfRangeFault Заданный в запросе отступ больше числа записей в результате запроса
EntityNotFoundFault Ошибка, свидетельствующая о том, что регион с указанным глобальным идентификатором не найден.


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

Запрос списка трёх районов г.Москвы со смещением, равным единице.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:ws="http://api.vetrf.ru/schema/cdm/ikar/ws-definitions" 
                  xmlns:base="http://api.vetrf.ru/schema/cdm/base" 
                  xmlns:ikar="http://api.vetrf.ru/schema/cdm/ikar">
  <soapenv:Header/>
  <soapenv:Body>
    <ws:getDistrictListByRegionRequest>
      <base:listOptions>
        <base:count>3</base:count>
        <base:offset>1</base:offset>
      </base:listOptions>
      <ikar:regionGuid>0c5b2444-70a0-4932-980c-b4dc0d3f02b5</ikar:regionGuid>
    </ws:getDistrictListByRegionRequest>
  </soapenv:Body>
</soapenv:Envelope>


Ответ на запрос

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
  <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <ws:getDistrictListByRegionResponse xmlns:bs="http://api.vetrf.ru/schema/cdm/base" 
                                        xmlns:ikar="http://api.vetrf.ru/schema/cdm/ikar" 
                                        xmlns:ws="http://api.vetrf.ru/schema/cdm/ikar/ws-definitions">
      <ikar:districtList count="3" total="19" offset="1">
        <ikar:district>
          <bs:uuid>41451677-aad4-4cb9-ba76-2b0eeb156acb</bs:uuid>
          <bs:guid>10409e98-eb2d-4a52-acdd-7166ca7e0e48</bs:guid>
          <bs:active>true</bs:active>
          <bs:last>true</bs:last>
          <bs:status>100</bs:status>
          <bs:createDate>2012-09-17T00:00:00+04:00</bs:createDate>
          <bs:updateDate>2013-02-04T00:00:00+04:00</bs:updateDate>
          <bs:previous>10409e98-eb2d-4a52-acdd-7166ca7e0e48</bs:previous>
          <ikar:name>Вороновское</ikar:name>
          <ikar:view>п Вороновское</ikar:view>
          <ikar:regionCode>77</ikar:regionCode>
          <ikar:type>п</ikar:type>
          <ikar:countryGuid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</ikar:countryGuid>
          <ikar:hasStreets>false</ikar:hasStreets>
          <ikar:regionGuid>0c5b2444-70a0-4932-980c-b4dc0d3f02b5</ikar:regionGuid>
        </ikar:district>
        <ikar:district>
          <bs:uuid>d086c3bb-ca25-42e4-928a-a48058bd4aff</bs:uuid>
          <bs:guid>f3860e12-eee7-4a1a-8ece-0d82b2ce497f</bs:guid>
          <bs:active>true</bs:active>
          <bs:last>true</bs:last>
          <bs:status>100</bs:status>
          <bs:createDate>2012-09-17T00:00:00+04:00</bs:createDate>
          <bs:updateDate>2013-02-04T00:00:00+04:00</bs:updateDate>
          <bs:previous>f3860e12-eee7-4a1a-8ece-0d82b2ce497f</bs:previous>
          <ikar:name>Воскресенское</ikar:name>
          <ikar:view>п Воскресенское</ikar:view>
          <ikar:regionCode>77</ikar:regionCode>
          <ikar:type>п</ikar:type>
          <ikar:countryGuid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</ikar:countryGuid>
          <ikar:hasStreets>false</ikar:hasStreets>
          <ikar:regionGuid>0c5b2444-70a0-4932-980c-b4dc0d3f02b5</ikar:regionGuid>
        </ikar:district>
        <ikar:district>
          <bs:uuid>79173671-d055-4817-8f0f-29857dc2d2fd</bs:uuid>
          <bs:guid>faf030f6-d9cc-4200-8c49-b28b036d522a</bs:guid>
          <bs:active>true</bs:active>
          <bs:last>true</bs:last>
          <bs:status>100</bs:status>
          <bs:createDate>2012-09-17T00:00:00+04:00</bs:createDate>
          <bs:updateDate>2013-02-04T00:00:00+04:00</bs:updateDate>
          <bs:previous>faf030f6-d9cc-4200-8c49-b28b036d522a</bs:previous>
          <ikar:name>Десеновское</ikar:name>
          <ikar:view>п Десеновское</ikar:view>
          <ikar:regionCode>77</ikar:regionCode>
          <ikar:type>п</ikar:type>
          <ikar:countryGuid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</ikar:countryGuid>
          <ikar:hasStreets>false</ikar:hasStreets>
          <ikar:regionGuid>0c5b2444-70a0-4932-980c-b4dc0d3f02b5</ikar:regionGuid>
        </ikar:district>
      </ikar:districtList>
    </ws:getDistrictListByRegionResponse>
  </SOAP-ENV:Body>
</soapenv:Envelope>