GetSubProductByProductList v2.0

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

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

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

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

  • параметры выводимого списка.
  • идентификатор продукта (2 уровень иерархического справочника)

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

  • данные запрошенного вида продукции (3 уровень иерархического справочника).

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

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

Глобальный идентификатор продукции

  • второй уровень иерархического справочника продукции ИС Меркурий
007 </ws:getSubProductByProductListRequest>

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getSubProductByProductListResponse>
002 ···<dt:subProductList total="2" offset="0" count="2"> dt:SubProductList [1..1]

Список видов продукции.

  • total - всего записей;
  • offset - смещение относительно первого элемента;
  • count - количество выводимых записей.
003 ······<dt:subProduct> dt:SubProduct [0..*]

Вид продукции.

  • третий уровень иерархического справочника продукции ИС Меркурий
004 ·········<bs:uuid>UUID</bs:uuid> bs:UUID [1..1] Идентификатор версии вида продукции.
005 ·········<bs:guid>GUID</bs:guid> bs:UUID [1..1] Глобальный идентификатор вида продукции.
006 ·········<bs:active>true</bs:active> xs:boolean [1..1]

Описывает, является ли запись активной.

  • true - запись активна;
  • false - запись не активна.
007 ·········<bs:last>true</bs:last> xs:boolean [1..1]

Описывает, является ли версия записи последней.

  • true - да;
  • false - нет.
008 ·········<bs:status>100</bs:status> bs:VersionStatus [1..1] Статус версии записи.
009 ·········<bs:createDate>2017-07-07T12:00:00</bs:createDate> xs:DateTime [1..1] Дата создания записи.
010 ·········<bs:updateDate>2017-07-07T12:00:00</bs:updateDate> xs:DateTime [1..1] Дата изменения записи.
011 ·········<bs:previous>UUID</bs:previous> bs:UUID [0..1] Идентификатор предыдущей версии записи.
012 ·········<dt:name>мясо птицы</dt:name> bs:String255 [1..1] Название вида продукции.
013 ·········<dt:code>0207</dt:code> bs:String255 [1..1] Код ТН ВЭД вида продукции.
014 ·········<dt:productGuid>GUID</dt:productGuid> bs:UUID [1..1]

Глобальный идентификатор продукции

  • второй уровень иерархического справочника продукции ИС Меркурий
015 ······</dt:subProduct>
016 ···</dt:subProductList>
017 </ws:getSubProductByProductListResponse>

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

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

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

Запрос первых 3 видов для продукции "Мясо птицы".

<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" xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:getSubProductByProductListRequest>
          <bs:listOptions>
            <bs:count>3</bs:count>
            <bs:offset>0</bs:offset>
         </bs:listOptions>
         <dt:productGuid>337f79dc-4376-6e33-dabe-d5447913b97d</dt:productGuid>
      </ws:getSubProductByProductListRequest>
   </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:getSubProductByProductListResponse 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:subProductList count="3" total="23" offset="0">
            <dt:subProduct>
               <bs:uuid>80161573-7639-2493-c5dd-e10f05935cce</bs:uuid>
               <bs:guid>bcb270cd-84fa-f3ad-6e4b-705eb50d703f</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2008-01-01T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2008-01-01T00:00:00+03:00</bs:updateDate>
               <dt:name>курица домашняя: "не разделенная на части охлажденная"</dt:name>
               <dt:code>020711</dt:code>
               <dt:productGuid>337f79dc-4376-6e33-dabe-d5447913b97d</dt:productGuid>
            </dt:subProduct>
            <dt:subProduct>
               <bs:uuid>5d00323a-12ff-510c-f6f1-cb7a9a83f535</bs:uuid>
               <bs:guid>5346cfed-86a5-4ba0-235e-5b0faa81fb87</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2008-01-01T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2008-01-01T00:00:00+03:00</bs:updateDate>
               <dt:name>курица домашняя: "не разделенная на части мороженая"</dt:name>
               <dt:code>020712</dt:code>
               <dt:productGuid>337f79dc-4376-6e33-dabe-d5447913b97d</dt:productGuid>
            </dt:subProduct>
            <dt:subProduct>
               <bs:uuid>41e78ed2-f727-ec66-4d76-25fda8c61316</bs:uuid>
               <bs:guid>c7cf9fdc-6b23-def0-dc46-20c124bb793e</bs:guid>
               <bs:active>true</bs:active>
               <bs:last>true</bs:last>
               <bs:status>100</bs:status>
               <bs:createDate>2008-01-01T00:00:00+03:00</bs:createDate>
               <bs:updateDate>2008-01-01T00:00:00+03:00</bs:updateDate>
               <dt:name>курица домашняя: "части тушек обваленные, охлажденные"</dt:name>
               <dt:code>0207131</dt:code>
               <dt:productGuid>337f79dc-4376-6e33-dabe-d5447913b97d</dt:productGuid>
            </dt:subProduct>
         </dt:subProductList>
      </v2:getSubProductByProductListResponse>
   </soap:Body>
</soapenv:Envelope>