GetDistrictChangesList

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

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

Метод разработан для получения изменений в списке районов. Выполнение операции заканчивается возвратом списка районов, в том числе неактуальных, либо ошибкой, в случае если параметры запроса не корректны или произошла иная ошибка выполнения запроса. В список попадают записи, дата изменения которых, попадает во временной интервал, указанный в запросе. Метод поддерживает возможность частичного вывода списка.

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

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

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

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

  • список записей районов изменённых за указанный интервал. В список попадают все записи, в том числе не последние и не активные.

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

Объект getDistrictChangesListRequest

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

Поле Описание Тип данных Обязательность
listOptions Параметры запрашиваемого списка. bs:ListOptions 0..1
updateDateInterval Интервал дат. bs:DateInterval 1

Объект ..Request/listOptions

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

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

Объект ..Request/updateDateInterval

Объект содержит сведения об интервале времени, за который необходимо получить обновления.

Поле Описание Тип Обязательность
beginDate Дата, начиная с которой пользователь получит историю изменений записей стран. xs:dateTime 1
endDate Конец временного интервала.
  • В случае, если компонента endDate не указана, то используется текущая дата.
xs:dateTime 0..1

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

Объект getDistrictChangesListResponse

Корневой объект ответа. Содержит список изменённых районов за указанный период времени.

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

Атрибуты объекта districtList

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

Объект ..Response/districtList

Объект содержит сущности, описывающие районы.

Поле Описание Тип данных Обязательность
district Объект, описывающий район. ikar:District 0..*

Объект ..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
next Идентификатор следующей версии записи. 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 Ошибка, свидетельствующая о том, что регион с указанным глобальным идентификатором не найден.

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

Пример запроса первых двух изменений районов с 2012 по 2016 год. Смещение отсутствует.

<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">
  <soapenv:Header/>
  <soapenv:Body>
    <ws:getDistrictChangesListRequest>
      <base:listOptions>
        <base:count>2</base:count>
        <base:offset>0</base:offset>
      </base:listOptions>
      <base:updateDateInterval>
        <base:beginDate>2012-05-01</base:beginDate>
        <base:endDate>2016-09-01</base:endDate>
      </base:updateDateInterval>
    </ws:getDistrictChangesListRequest>
  </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:getDistrictChangesListResponse 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="2" total="3708" offset="0">
         <ikar:district>
           <bs:uuid>3885f68c-51ca-42dc-bbff-1dd604f98a95</bs:uuid>
           <bs:guid>4c3585cc-fdec-4826-8736-53aa064ec41b</bs:guid>
           <bs:active>true</bs:active>
           <bs:last>true</bs:last>
           <bs:status>100</bs:status>
           <bs:createDate>2012-04-10T00:00:00+04:00</bs:createDate>
           <bs:updateDate>2012-05-03T00:00:00+04:00</bs:updateDate>
           <bs:previous>bc2c8cb6-35b7-4c86-a2ad-c37b943d1824</bs:previous>
           <ikar:name>Киришский</ikar:name>
           <ikar:view>Киришский район</ikar:view>
           <ikar:regionCode>47</ikar:regionCode>
           <ikar:type>район</ikar:type>
           <ikar:countryGuid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</ikar:countryGuid>
           <ikar:hasStreets>false</ikar:hasStreets>
           <ikar:regionGuid>6d1ebb35-70c6-4129-bd55-da3969658f5d</ikar:regionGuid>
         </ikar:district>
         <ikar:district>
           <bs:uuid>bc2c8cb6-35b7-4c86-a2ad-c37b943d1824</bs:uuid>
           <bs:guid>4c3585cc-fdec-4826-8736-53aa064ec41b</bs:guid>
           <bs:active>false</bs:active>
           <bs:last>false</bs:last>
           <bs:status>400</bs:status>
           <bs:createDate>1900-01-01T00:00:00+03:00</bs:createDate>
           <bs:updateDate>2012-05-03T00:00:00+04:00</bs:updateDate>
           <bs:next>3885f68c-51ca-42dc-bbff-1dd604f98a95</bs:next>
           <ikar:name>Киришский</ikar:name>
           <ikar:view>Киришский район</ikar:view>
           <ikar:regionCode>47</ikar:regionCode>
           <ikar:type>район</ikar:type>
           <ikar:countryGuid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</ikar:countryGuid>
           <ikar:hasStreets>false</ikar:hasStreets>
           <ikar:regionGuid>6d1ebb35-70c6-4129-bd55-da3969658f5d</ikar:regionGuid>
         </ikar:district>
       </ikar:districtList>
     </ws:getDistrictChangesListResponse>
   </SOAP-ENV:Body>
</soapenv:Envelope>