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

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
Строка 37: Строка 37:
! Тип
! Тип
! Обязат.
! Обязат.
! Описание
! Описание (нажмите [...] для отображения дополнительного описания)
! Пример
|-
|-
|1
|001
|style="font-weight: bold; font-family: Courier;" |<ws:getProductChangesListRequest>
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''<ws:getProductChangeListRequest>'''}}
|
|
|
|
|
| style="width:52em;"|  
|style="font-family: Courier;" |
|-
|-
|2
|002
|style="font-weight: bold; font-family: Courier;" |···<bs:listOptions>
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''<{{color|#660e7a|bs:}}listOptions>'''}}
|[[ListOptions|bs:ListOptions]]
|[[ListOptions|bs:ListOptions]]
|[0..1]
|[0..1]
|Параметры запрашиваемого списка.
| style="width:52em;"| Параметры запрашиваемого списка.
|style="font-family: Courier;" |
|-
|-
|3
|003
|style="font-weight: bold; font-family: Courier;" |······<bs:count>
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}count>'''}}{{color|#131313|10}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}count>'''}}
|[http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger xs:nonNegativeInteger]
|[http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger xs:nonNegativeInteger]
|[0..1]
|[0..1]
|Максимальное запрашиваемое количество объектов в списке.
|<div class="mw-collapsible mw-collapsed" data-expandtext="&nbsp;...&nbsp;" data-collapsetext="свернуть" style="font-weight: bold; width:52em;">
<span style="white-space:nowrap; font-weight: normal;">Максимальное запрашиваемое количество объектов в списке.</span>
<div class="mw-collapsible-content" style="font-weight: normal;">
* По умолчанию значение 100;
* По умолчанию значение 100;
* Максимально возможное значение 1000.
* Максимально возможное значение 1000.</div>
|style="font-family: Courier;" |<bs:count>10</bs:count>
</div>
|-
|-
|4
|004
|style="font-weight: bold; font-family: Courier;" |······<bs:offset>
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}offset>'''}}{{color|#131313|2}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}offset>'''}}
|[http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger xs:nonNegativeInteger]
|[http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger xs:nonNegativeInteger]
|[0..1]
|[0..1]
|Номер элемента, по которому осуществляется смещение первого элемента списка.  
|<div class="mw-collapsible mw-collapsed" data-expandtext="&nbsp;...&nbsp;" data-collapsetext="свернуть" style="font-weight: bold; width:52em;">
* По умолчанию значение 0.
<span style="white-space:nowrap; font-weight: normal;">Номер элемента, по которому осуществляется смещение первого элемента списка. </span>
|style="font-family: Courier;" |<bs:offset>2</bs:offset>
<div class="mw-collapsible-content" style="font-weight: normal;">
* По умолчанию значение 0.</div>
</div>
|-
|-
|5
|005
|style="font-weight: bold; font-family: Courier;" |···</bs:listOptions>
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''</{{color|#660e7a|bs:}}listOptions>'''}}
|
|
|
|
|
|style="font-family: Courier;" |
| style="width:52em;"|  
|-
|-
|6
|006
|style="font-weight: bold; font-family: Courier;" |···<bs:updateDateInterval>
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''<{{color|#660e7a|bs:}}updateDateInterval>'''}}
|[[DataInterval|bs:DataInterval]]
|[[DataInterval|bs:DataInterval]]
|[1..1]
|[1..1]
| Интервал времени обновления.  
|<div class="mw-collapsible mw-collapsed" data-expandtext="&nbsp;...&nbsp;" data-collapsetext="свернуть" style="font-weight: bold; width:52em;">
* В список попадают все записи, дата обновлений которых попадает в указанный интервал.
<span style="white-space:nowrap; font-weight: normal;"> Интервал времени обновления.</span>
|style="font-family: Courier;" |
<div class="mw-collapsible-content" style="font-weight: normal;">
* В список попадают все записи, дата обновлений которых попадает в указанный интервал.</div>
</div>
|-
|-
|7
|007
|style="font-weight: bold; font-family: Courier;" |······<bs:beginDate>
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}beginDate>'''}}{{color|#131313|2017-07-07T00:00:00}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}beginDate>'''}}
|[http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime]
|[http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime]
|[1..1]
|[1..1]
|Начало временного интервала.
| style="width:52em;"| Начало временного интервала.
|style="font-family: Courier;" |<bs:beginDate>2017-07-07T00:00:00</bs:beginDate>
|-
|-
|8
|008
|style="font-weight: bold; font-family: Courier;" |······<bs:endDate>
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}endDate>'''}}{{color|#131313|2017-07-25T00:00:00}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}endDate>'''}}
|[http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime]
|[http://www.w3.org/TR/xmlschema-2/#dateTime xs:dateTime]
|[0..1]
|[0..1]
|Конец временного интервала.
| style="width:52em;"| Конец временного интервала.
|style="font-family: Courier;" |<bs:endDate>2017-07-25T00:00:00</bs:endDate>
|-
|-
|9
|009
|style="font-weight: bold; font-family: Courier;" |···</bs:updateDateInterval>
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''</{{color|#660e7a|bs:}}updateDateInterval>'''}}
|
|
|
|
|
|style="font-family: Courier;" |
| style="width:52em;"|  
|-
|-
|10
|010
|style="font-weight: bold; font-family: Courier;" |</ws:getProductChangesListRequest>
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''</ws:getProductChangeListRequest>'''}}
|
|
|
|
|
|style="font-family: Courier;" |
| style="width:52em;"|  
|-
|-
|}
|}

Версия 15:52, 27 сентября 2020

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

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

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

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

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

  • список продукции, изменённый за заданный период.

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getProductChangeListRequest>
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:getProductChangeListRequest>

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

# Название XML-элемента Тип Обязат. Описание Пример
1 <ws:getProductChangesListResponse>
2 ···<dt:productList count="19" total="19" offset="0"> dt:ProductList [1..1] Список продукции
  • total - всего записей;
  • offset - смещение относительно первого элемента;
  • count - количество выводимых записей.
3 ······<dt:product> dt:Product [0..*] Продукция
  • второй уровень иерархического справочника продукции ИС Меркурий
4 ·········<bs:uuid> bs:UUID [1..1] Идентификатор версии продукции. <bs:uuid>3008afa9-8a88-8586-5f75-08ce43189ac8</bs:uuid>
5 ·········<bs:guid> bs:UUID [1..1] Глобальный идентификатор продукции. <bs:guid>362aa885-9b9f-ae95-05d0-f9570f4fbdc6</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:code> bs:String255 [1..1] Код ТН ВЭД продукции. <dt:code>0210, 1601, 1602</dt:code>
15 ·········<dt:productType> dt:ProductType [1..1] Тип продукции
  • первый уровень иерархического справочника продукции ИС Меркурий
<dt:productType>5</dt:productType>
16 ······</dt:product>
17 ···</dt:productList>
18 </ws:getProductChangesListResponse>

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

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

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

Запрос на получение данных о трех первых изменениях за период с 09.01.2017 по текущий день без смещения.

<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:getProductChangesListRequest>
         <bs:listOptions>
            <bs:count>3</bs:count>
            <bs:offset>0</bs:offset>
         </bs:listOptions>
         <bs:updateDateInterval>
            <bs:beginDate>2017-01-09T00:00:00</bs:beginDate>
         </bs:updateDateInterval>
      </ws:getProductChangesListRequest>
   </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:getProductChangesListResponse 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:productList count="3" total="24" offset="0">
            <dt:product>
               <bs:uuid>2ae3bb0b-c9c9-69bd-e0c0-d876cbb5ba01</bs:uuid>
               <bs:guid>1bdc8c2c-ee40-593d-3bc8-e1b00b484264</bs:guid>
               <bs:active>false</bs:active>
               <bs:last>false</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2009-07-16T10:02:27+04:00</bs:createDate>
               <bs:updateDate>2017-04-17T16:37:24+03:00</bs:updateDate>
               <bs:next>b19e1829-299e-4269-8b84-8f2b7b5ff4e8</bs:next>
               <dt:name>субпродукты, кровь и боенские отходы непищевые кормовые</dt:name>
               <dt:code>1504</dt:code>
               <dt:productType>2</dt:productType>
            </dt:product>
            <dt:product>
               <bs:uuid>111be16b-b268-c093-8be3-f939cb052d77</bs:uuid>
               <bs:guid>46fde18a-f6af-f7b0-de47-044281271112</bs:guid>
               <bs:active>false</bs:active>
               <bs:last>false</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2008-01-01T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2017-04-11T14:53:51+03:00</bs:updateDate>
               <bs:next>b11e92ec-68da-4c93-98b7-496f9e118f2b</bs:next>
               <dt:name>готовая или консервированная рыба; икра осетровых и ее заменители, изготовленные из икринок рыбы</dt:name>
               <dt:code>1604</dt:code>
               <dt:productType>7</dt:productType>
            </dt:product>
            <dt:product>
               <bs:uuid>c43b6edc-c123-4b82-ad25-120b2de88c96</bs:uuid>
               <bs:guid>82e5b09f-2ffd-c43c-0b64-892b3b3d80a8</bs:guid>
               <bs:active>false</bs:active>
               <bs:last>false</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2011-05-23T10:52:47+04:00</bs:createDate>
               <bs:updateDate>2017-03-10T13:33:36+03:00</bs:updateDate>
               <bs:next>6842e496-c008-413d-b6f9-53acfb4802a3</bs:next>
               <dt:name>дезсредства</dt:name>
               <dt:code>3808</dt:code>
               <dt:productType>6</dt:productType>
            </dt:product>
         </dt:productList>
      </v2:getProductChangesListResponse>
   </soap:Body>
</soapenv:Envelope>