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

Материал из Справочная система Россельхознадзора
Перейти к навигации Перейти к поиску
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
==Общие сведения==
==Общие сведения==


Операция '''GetProductByGuid''' предназначена для получения актуальной версии записи продукции по её глобальному идентификатору (active=true, last=true). Глобальный идентификатор продукции содержится в ветеринарных сертификатах. Выполнение операции заканчивается либо возвратом объекта продукции, либо ошибкой, в случае если параметры запроса не корректны, если запись по запросу не найдена или произошла иная ошибка выполнения запроса.
Операция '''GetProductByGuid''' предназначена для получения актуальной версии записи продукции (2 уровень справочника) по её глобальному идентификатору (active=true, last=true). Выполнение операции заканчивается либо возвратом объекта продукции, либо ошибкой, в случае если параметры запроса не корректны, если запись по запросу не найдена или произошла иная ошибка выполнения запроса.
<!--===Используемые пространства имён и типы===
<!--===Используемые пространства имён и типы===
{{столбцы}}
{{столбцы}}
Строка 18: Строка 18:


===Входные данные===
===Входные данные===
* глобальный уникальный идентификатор продукта.
* глобальный уникальный идентификатор продукции.


===Выходные данные===
===Выходные данные===
* данные о запрашиваемом продукте.
* данные о запрашиваемой продукции.


==Данные запроса==
==Спецификация запроса==
{| class="wikitable"
! #
! Название XML-элемента
! Тип
! Обязат.
! Описание (нажмите [...] для отображения дополнительного описания)
|-
|001
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''<ws:getProductByGuidRequest>'''}}
|
|
| style="width:52em;"|
|-
|002
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''<{{color|#660e7a|bs:}}guid>'''}}{{color|#131313|GUID}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}guid>'''}}
|[[UUID|bs:UUID]]
|[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>
<div class="mw-collapsible-content" style="font-weight: normal;">
* второй уровень иерархического справочника продукции ИС Меркурий</div>
</div>
|-
|003
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''</ws:getProductByGuidRequest>'''}}
|
|
| style="width:52em;"|
|-
|}


 
==Спецификация ответа==
<!--<div class="toccolours mw-collapsible mw-collapsed" style="width:100%">
{| class="wikitable"
Структура данных запроса в формате ХML.
! #
<div class = "mw-collapsible-content">
! Название XML-элемента
<syntaxhighlight lang="xml">
! Тип
<ws:getProductByGuidRequest>
! Обязат.
        <base:guid>{base:guid}</base:guid>
! Описание (нажмите [...] для отображения дополнительного описания)
      </ws:getProductByGuidRequest>
|-
</syntaxhighlight>
|001
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''<ws:getProductByGuidResponse>'''}}
|
|
| style="width:52em;"|
|-
|002
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''<{{color|#660e7a|dt:}}product>'''}}
|[[Product_v2.0|dt:Product]]
|[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>
<div class="mw-collapsible-content" style="font-weight: normal;">
* второй уровень иерархического справочника продукции ИС Меркурий</div>
</div>
|-
|003
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}uuid>'''}}{{color|#131313|UUID}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}uuid>'''}}
|[[UUID|bs:UUID]]
|[1..1]
| style="width:52em;"| Идентификатор версии продукции.
|-
|004
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}guid>'''}}{{color|#131313|GUID}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}guid>'''}}
|[[UUID|bs:UUID]]
|[1..1]
| style="width:52em;"| Глобальный идентификатор продукции.
|-
|005
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}active>'''}}{{color|#131313|true}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}active>'''}}
|[http://www.w3.org/TR/xmlschema-2/#boolean xs:boolean]
|[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>
<div class="mw-collapsible-content" style="font-weight: normal;">
* true - запись активна;
* false - запись не активна.</div>
</div>
|-
|006
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}last>'''}}{{color|#131313|true}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}last>'''}}
|[http://www.w3.org/TR/xmlschema-2/#boolean xs:boolean]
|[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>
<div class="mw-collapsible-content" style="font-weight: normal;">
* true - да;
* false - нет.
</div>
</div>
</div>
</div>
-->
===Объект getProductByGuidRequest===
Корневой элемент запроса.
{| class="wikitable"
|-
|-
! Поле !! Описание !! Тип данных !! Обязательность
|007
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}status>'''}}{{color|#131313|100}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}status>'''}}
|[[VersionStatus|bs:VersionStatus]]
|[1..1]
| style="width:52em;"| Статус версии записи.
|-
|008
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}createDate>'''}}{{color|#131313|2017-07-07T12:00:00}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}createDate>'''}}
|[http://www.w3.org/TR/xmlschema-2/#DateTime xs:DateTime]
|[1..1]
| style="width:52em;"| Дата создания записи.
|-
|009
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}updateDate>'''}}{{color|#131313|2017-07-07T12:00:00}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}updateDate>'''}}
|[http://www.w3.org/TR/xmlschema-2/#DateTime xs:DateTime]
|[1..1]
| style="width:52em;"| Дата изменения записи.
|-
|010
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|bs:}}previous>'''}}{{color|#131313|UUID}}{{color|#190dbf|'''</{{color|#660e7a|bs:}}previous>'''}}
|[[UUID|bs:UUID]]
|[0..1]
| style="width:52em;"| Идентификатор предыдущей версии записи.
|-
|011
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|dt:}}name>'''}}{{color|#131313|готовые мясные продукты}}{{color|#190dbf|'''</{{color|#660e7a|dt:}}name>'''}}
|[[String255|bs:String255]]
|[1..1]
| style="width:52em;"| Название продукции.
|-
|012
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|dt:}}code>'''}}{{color|#131313|0210, 1601, 1602}}{{color|#190dbf|'''</{{color|#660e7a|dt:}}code>'''}}
|[[String255|bs:String255]]
|[1..1]
| style="width:52em;"| Код ТН ВЭД продукции.
|-
|-
| '''GUID''' || Глобальный идентификатор продукции. || [[UUID|bs:UUID]] || 1
|013
|}
|style="font-weight: ; font-family: Courier;" |······{{color|#190dbf|'''<{{color|#660e7a|dt:}}productType>'''}}{{color|#131313|5}}{{color|#190dbf|'''</{{color|#660e7a|dt:}}productType>'''}}
 
|[[ProductType_v2.0|dt:ProductType]]
==Данные ответа==
|[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>
<!--- div class="toccolours mw-collapsible mw-collapsed" style="width:100%">
<div class="mw-collapsible-content" style="font-weight: normal;">
Структура данных ответа в формате ХML.
* первый уровень иерархического справочника продукции ИС Меркурий. </div>
<div class = "mw-collapsible-content">
<syntaxhighlight lang="xml">
<ws:getProductByGuidResponse xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:pro="http://api.vetrf.ru/schema/cdm/argus/production" xmlns:ws="http://api.vetrf.ru/schema/cdm/argus/production/ws-definitions">
        <pro:product>
            <bs:uuid>{bs:UUID}</bs:uuid>
            <bs:guid>{bs:UUID}</bs:guid>
            <bs:active>{xs:boolean}</bs:active>
            <bs:last>{xs:boolean}</bs:last>
            <bs:status>{bs:VersionStatus}</bs:status>
            <bs:createDate>{xs:dateTime}</bs:createDate>
            <bs:updateDate>{xs:dateTime}</bs:updateDate>
            <pro:name>{bs:String255}</pro:name>
            <pro:code>{bs:String255}</pro:code>
            <pro:productType>{prod:ProductType}</pro:productType>
        </pro:product>
      </ws:getProductByGuidResponse>
</syntaxhighlight>
</div>
</div>
</div> -->
===Объект getProductByGuidResponse===
Корневой объект ответа. Содержит информацию о запрашиваемой продукции.
{| class="wikitable"
|-
|-
! Поле !! Описание !! Тип !! Обязательность
|014
|style="font-weight: ; font-family: Courier;" |···{{color|#190dbf|'''</{{color|#660e7a|dt:}}product>'''}}
|
|
| style="width:52em;"|
|-
|015
|style="font-weight: ; font-family: Courier;" |{{color|#190dbf|'''</ws:getProductByGuidResponse>'''}}
|
|
| style="width:52em;"|
|-
|-
| [[#Объект ..Response/product|'''product''']] || Объект содержит данные о продукции. || [[Product|prod:Product]] || 1
|}
|}
===Объект [[#Объект getProductByGuidResponse|..Response]]/'''product'''===
Объект соержит данные о продукции.
{{Ветис.API ProductService Product}}


==Описание ошибок==
==Описание ошибок==
Строка 107: Строка 192:
<div class = "mw-collapsible-content">
<div class = "mw-collapsible-content">
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  
<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:ws="http://api.vetrf.ru/schema/cdm/argus/production/ws-definitions"  
  <soapenv:Header/>
                  xmlns:base="http://api.vetrf.ru/schema/cdm/base">
  <soapenv:Body>
  <soapenv:Header/>
      <ws:getProductByGuidRequest>
  <soapenv:Body>
        <bs:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</bs:guid>
    <ws:getProductByGuidRequest>
      </ws:getProductByGuidRequest>
      <base:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</base:guid>
  </soapenv:Body>
    </ws:getProductByGuidRequest>
  </soapenv:Body>
</soapenv:Envelope>
</soapenv:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 126: Строка 209:
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <ws:getProductByGuidResponse xmlns:bs="http://api.vetrf.ru/schema/cdm/base"  
      <v2:getProductByGuidResponse 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">
                                xmlns:pro="http://api.vetrf.ru/schema/cdm/argus/production"  
        <dt:product>
                                xmlns:ws="http://api.vetrf.ru/schema/cdm/argus/production/ws-definitions">
            <bs:uuid>3008afa9-8a88-8586-5f75-08ce43189ac8</bs:uuid>
      <pro:product>
            <bs:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</bs:guid>
        <bs:uuid>3008afa9-8a88-8586-5f75-08ce43189ac8</bs:uuid>
            <bs:active>true</bs:active>
        <bs:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</bs:guid>
            <bs:last>true</bs:last>
        <bs:active>true</bs:active>
            <bs:status>100</bs:status>
        <bs:last>true</bs:last>
            <bs:createDate>2011-05-23T10:35:08+04:00</bs:createDate>
        <bs:status>100</bs:status>
            <bs:updateDate>2011-05-23T10:35:08+04:00</bs:updateDate>
        <bs:createDate>2011-05-23T10:35:08+03:00</bs:createDate>
            <dt:name>готовые мясные продукты</dt:name>
        <bs:updateDate>2011-05-23T10:35:08+03:00</bs:updateDate>
            <dt:code>0210, 1601, 1602</dt:code>
        <pro:name>готовые мясные продукты</pro:name>
            <dt:productType>5</dt:productType>
        <pro:code>0210, 1601, 1602</pro:code>
        </dt:product>
        <pro:productType>5</pro:productType>
      </v2:getProductByGuidResponse>
      </pro:product>
  </soap:Body>
    </ws:getProductByGuidResponse>
  </S:Body>
</soapenv:Envelope>
</soapenv:Envelope>
</syntaxhighlight>
</syntaxhighlight>

Текущая версия на 15:44, 27 сентября 2020

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

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

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

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

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

  • данные о запрашиваемой продукции.

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getProductByGuidRequest>
002 ···<bs:guid>GUID</bs:guid> bs:UUID [1..1]

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

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

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

# Название XML-элемента Тип Обязат. Описание (нажмите [...] для отображения дополнительного описания)
001 <ws:getProductByGuidResponse>
002 ···<dt:product> dt:Product [1..1]

Продукция.

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

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

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

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

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

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

  • первый уровень иерархического справочника продукции ИС Меркурий.
014 ···</dt:product>
015 </ws:getProductByGuidResponse>

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

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

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

Запрос на получение данных о продукции "Готовые мясные продукты".

<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:getProductByGuidRequest>
         <bs:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</bs:guid>
      </ws:getProductByGuidRequest>
   </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:getProductByGuidResponse 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:product>
            <bs:uuid>3008afa9-8a88-8586-5f75-08ce43189ac8</bs:uuid>
            <bs:guid>e9fa27c7-c0e0-2f64-308c-c6409de238ae</bs:guid>
            <bs:active>true</bs:active>
            <bs:last>true</bs:last>
            <bs:status>100</bs:status>
            <bs:createDate>2011-05-23T10:35:08+04:00</bs:createDate>
            <bs:updateDate>2011-05-23T10:35:08+04:00</bs:updateDate>
            <dt:name>готовые мясные продукты</dt:name>
            <dt:code>0210, 1601, 1602</dt:code>
            <dt:productType>5</dt:productType>
         </dt:product>
      </v2:getProductByGuidResponse>
   </soap:Body>
</soapenv:Envelope>