GetUnitChangesList v2.0

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

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

Операция GetUnitChangesList предназначена для получения списка единиц измерения, в которые были внесены изменения в указанный период. В общем случае в список могут попасть не актуальные и/или не последние записи (active=false, last=false). Поддерживается постраничный вывод. Выполнение операции заканчивается либо возвратом списка единиц измерения, либо ошибкой, в случае если параметры запроса не корректны или произошла иная ошибка выполнения запроса.

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

  • параметры выводимого списка;
  • интервал дат, за которые неообходимо получить список изменений.

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

  • список изменений в записях единиц измерений.

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getUnitChangesListRequest>
002 ···<bs:listOptions> bs:ListOptions [0..1] Параметры запрашиваемого списка.
003 ······<bs:count>10</bs:count> xs:nonNegativeInteger [0..1]

Максимальное запрашиваемое количество объектов в списке.

  • По умолчанию значение 100;
  • Максимально возможное значение 1000.
004 ······<bs:offset>2</bs:offset> xs:nonNegativeInteger [0..1]

Номер элемента, по которому осуществляется смещение первого элемента списка.

  • По умолчанию значение 0.
005 ···</bs:listOptions>
006 ···<bs:updateDateInterval> bs:DataInterval [1..1]

Интервал времени обновления.

  • В список попадают все записи, дата обновлений которых попадает в указанный интервал.
007 ······<bs:beginDate>2017-07-07T00:00:00</bs:beginDate> xs:dateTime [1..1] Начало временного интервала.
008 ······<bs:endDate>2017-07-25T00:00:00</bs:endDate> xs:dateTime [0..1] Конец временного интервала.
009 ···</bs:updateDateInterval>
010 </ws:getUnitChangesListRequest>

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

# Название XML-элемента Тип Обязат. Описание Пример
1 <ws:getUnitChangesListResponse>
2 ···<dt:unitList count="25" total="25" offset="0"> dt:UnitList [1..1] Список единиц измерения
  • total - всего записей;
  • offset - смещение относительно первого элемента;
  • count - количество выводимых записей.
3 ······<dt:unit> dt:Unit [0..*] Единица измерения
4 ·········<bs:uuid> bs:UUID [1..1] Идентификатор версии единицы измерения <bs:uuid>069792f0-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
5 ·········<bs:guid> bs:UUID [1..1] Глобальный идентификатор единицы измерения <bs:guid>21ed96c9-337b-4a27-8761-c6e6ad3c9f5b</bs:guid>
6 ·········<bs:active> xs:boolean [1..1] Является ли запись активной:
  • true - запись активна;
  • false - запись не активна.
<bs:active>true</bs:active>
7 ·········<bs:last> xs:boolean [1..1] Является ли версия записи последней:
  • true - да;
  • false - нет.
<bs:last>true</bs:last>
8 ·········<bs:status> bs:VersionStatus [1..1] Статус версии единицы измерения <bs:status>100</bs:status>
9 ·········<bs:createDate> xs:DateTime [1..1] Дата создания единицы измерения <bs:createDate>2017-07-07T12:00:00</bs:createDate>
10 ·········<bs:updateDate> xs:DateTime [1..1] Дата изменения единицы измерения <bs:updateDate>2017-07-07T12:00:00</bs:updateDate>
11 ·········<bs:previous> bs:UUID [0..1] Идентификатор предыдущей версии записи реестра единиц измерения <bs:previous>c9781d68-8f7d-4fb6-a007-d7a14f0815f6</bs:previous>
12 ·········<bs:next> bs:UUID [0..1] Идентификатор следующей версии записи реестра единиц измерения <bs:next>8aaaac24-8e10-499e-b1a2-cda0bf3f5855</bs:next>
13 ·········<dt:name> bs:String255 [1..1] Наименование единицы измерения <dt:name>кг</dt:name>
14 ·········<dt:fullName> bs:String255 [1..1] Полное наименование единицы измерения <dt:fullName>килограмм</dt:fullName>
15 ·········<dt:commonUnitGuid> bs:UUID [1..1] Глобальный идентификатор базовой единицы измерения
  • Например, для тонны базовая единица - кг
<dt:commonUnitGuid>21ed96c9-337b-4a27-8761-c6e6ad3c9f5b</dt:commonUnitGuid>
16 ·········<dt:factor> xs:integer [1..1] Коэффициент относительно базовой единицы измерения
  • Например, для тонны = 1000
<dt:factor>1</dt:factor>
17 ······</dt:unit>
18 ···</dt:unitList>
19 </ws:getUnitChangesListResponse>

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

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

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

Запрос единиц измерения, измененных в период с 01.01.2010 по текущий день.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2" xmlns:bs="http://api.vetrf.ru/schema/cdm/base">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:getUnitChangesListRequest>
         <bs:updateDateInterval>
            <bs:beginDate>2010-01-01T00:00:00</bs:beginDate>
         </bs:updateDateInterval>
      </ws:getUnitChangesListRequest>
   </soapenv:Body>
</soapenv:Envelope>


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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <v2:getUnitChangesListResponse xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2" xmlns:v2="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2">
         <dt:unitList count="4" total="4" offset="0">
            <dt:unit>
               <bs:uuid>0697a506-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
               <bs:guid>fe6b50e4-9bab-4d87-bfa9-06e37df6853d</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2010-01-20T10:00:26+03:00</bs:createDate>
               <bs:updateDate>2010-01-20T10:00:26+03:00</bs:updateDate>
               <dt:name>флакон</dt:name>
               <dt:fullName>флакон</dt:fullName>
               <dt:commonUnitGuid>fe6b50e4-9bab-4d87-bfa9-06e37df6853d</dt:commonUnitGuid>
               <dt:factor>1</dt:factor>
            </dt:unit>
            <dt:unit>
               <bs:uuid>0697a592-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
               <bs:guid>1146c5f8-d9f4-43a7-85a6-5431bea22520</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2010-02-18T22:44:45+03:00</bs:createDate>
               <bs:updateDate>2010-02-18T22:44:45+03:00</bs:updateDate>
               <dt:name>упаковка</dt:name>
               <dt:fullName>упаковка</dt:fullName>
               <dt:commonUnitGuid>1146c5f8-d9f4-43a7-85a6-5431bea22520</dt:commonUnitGuid>
               <dt:factor>1</dt:factor>
            </dt:unit>
            <dt:unit>
               <bs:uuid>0697a61e-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
               <bs:guid>2288d216-cb78-41f8-9c25-dbeabce76eae</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2010-04-01T13:56:12+04:00</bs:createDate>
               <bs:updateDate>2010-04-01T13:56:12+04:00</bs:updateDate>
               <dt:name>мешок</dt:name>
               <dt:fullName>мешки</dt:fullName>
               <dt:commonUnitGuid>2288d216-cb78-41f8-9c25-dbeabce76eae</dt:commonUnitGuid>
               <dt:factor>1</dt:factor>
            </dt:unit>
            <dt:unit>
               <bs:uuid>0697a6b4-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
               <bs:guid>8a080965-fd21-4fb3-b635-efed9515ec34</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2010-11-24T15:28:56+03:00</bs:createDate>
               <bs:updateDate>2010-11-24T15:28:56+03:00</bs:updateDate>
               <dt:name>канистра</dt:name>
               <dt:fullName>канистра</dt:fullName>
               <dt:commonUnitGuid>8a080965-fd21-4fb3-b635-efed9515ec34</dt:commonUnitGuid>
               <dt:factor>1</dt:factor>
            </dt:unit>
         </dt:unitList>
      </v2:getUnitChangesListResponse>
   </soap:Body>
</soapenv:Envelope>