DispatchICOrder: различия между версиями

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


== Данные запроса ==
== Данные запроса (submitApplicationRequest/application/data)==
{| class="wikitable"
{| class="wikitable"
! #
! #

Версия 08:15, 7 июля 2020

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

Операция DispatchICOrder предназначена для создания заказов на эмиссию кодов маркировки (КМ) в ГИС МТ.

На вход системы передаются следующие сведения:

  • список товаров (не более 10), который содержит: GTIN товара, количество КМ, шаблон КМ, способ генерации.

Результатом выполнения данной операции является:

  • эмиссия указанного количества КМ в ГИС МТ;
  • уникальный идентификатор заказа и планируемое время выполнения операции.

По идентификатору заказа хозяйствующий субъект может запросит КМ в ГИС МТ.

Подача заявки

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

Структура данных запроса в формате ХML.

  <ws:submitApplicationRequest>
    <ws:apiKey>{app:APIKey}</ws:apiKey>
    <app:application>
      <app:serviceId>{xs:NCName}</app:serviceId>
      <app:issuerId>{bs:UUID}</app:issuerId>
      <app:issueDate>{xs:dateTime}</app:issueDate>
      <app:data>{app:ApplicationDataWrapper}</app:data>
    </app:application>
  </ws:submitApplicationRequest>


Объект submitApplicationRequest

Заявка в единой заявочной системе на выполнение определенной операции, определяет пользователя, который инициирует запрос и содержит сведения самого запроса.

Поле Описание Тип Обязательность
apiKey Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. app:APIKey 1
application Сведения о заявке. app:application 1

Объект submitApplicationRequest/application

Сведения о заявке.

Поле Описание Тип Обязательность
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь).
  • crpt-gateway.service:1.0
xs:NCName 1
issuerId Идентификатор хозяйствующего субъекта от имени которого происходит обращение к Ветис.API. Указанный хозяйствующий субъект должен быть одним из хозяйствующих субъектов, обслуживаемых данной программной системой. Перечень обслуживаемых программной системой хозяйствующих субъектов устанавливается при предоставлении доступа к Ветис.API. bs:UUID 1
issueDate Дата и время обращения пользователя к заявочной системе. Устанавливается разработчиком клиентской системы. xs:dateTime 1
data Сведения о заявке. app:ApplicationDataWrapper 1

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

Структура данных запроса в формате ХML.

      <submitApplicationResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
         <application xmlns="http://api.vetrf.ru/schema/cdm/application">
            <applicationId>{bs:UUID}</applicationId>
            <status>{app:ApplicationStatus}</status>
            <serviceId>{xs:NCName}</serviceId>
            <issuerId>{bs:UUID}</issuerId>
            <issueDate>{xs:dateTime}</issueDate>
            <rcvDate>{xs:dateTime}</rcvDate>
         </application>
      </submitApplicationResponse>

Объект submitApplicationResponse

Заявка в заявочной системе, содержит сведения запроса.

Поле Описание Тип Обязательность
application Сведения о заявке. app:Application 1

Объект submitApplicationResponse/application

Поле Описание Тип Обязательность
applicationId Сгенерированный идентификатор заявки. bs:UUID 1
status Статус готовности результата. app:ApplicationStatus 1
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор хозяйствующего субъекта от имени которого происходит обращение к Ветис.API. Указанный хозяйствующий субъект должен быть одним из хозяйствующих субъектов, обслуживаемых данной программной системой. Перечень обслуживаемых программной системой хозяйствующих субъектов устанавливается при предоставлении доступа к Ветис.API. bs:UUID 1
issueDate Дата и время обращения пользователя к заявочной системе. Устанавливается разработчиком клиентской системы. xs:dateTime 1
rcvDate Дата и время формирования результата. xs:dateTime 1

Получение результата обработки заявки

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

Структура данных запроса в формате ХML.

<ws:receiveApplicationResultRequest>
    <ws:apiKey>{xs:string}</ws:apiKey>
    <ws:issuerId>{bs:UUID}</ws:issuerId>
    <ws:applicationId>{bs:UUID}</ws:applicationId>
</ws:receiveApplicationResultRequest>

Объект receiveApplicationResultRequest

Запрос на получение результатов обработки заявки.

Поле Описание Тип Обязательность
apiKey Специальный код, который идентифицирует учетную запись пользователя и позволяет веб-сервису получить доступ к информации о хозяйствующем субъекте и обслуживаемых предприятиях, к которым данный пользователь относится. xs:string 1
issuerId Идентификатор пользователя, обратившегося к заявочной системе. bs:UUID 1
applicationId Идентификатор заявки, в заявочной системе. Хранится в базе в течение 3-х дней. По истечении 3-х дней получить ответ по applicationId будет невозможно. bs:UUID 1

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

Структура данных ответа в формате ХML.

<receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
    <application xmlns="http://api.vetrf.ru/schema/cdm/application">
        <applicationId>{bs:UUID}</applicationId>
        <status>{app:ApplicationStatus}</status>
        <serviceId>{xs:NCName}</serviceId>
        <issuerId>{bs:UUID}</issuerId>
        <issueDate>{xs:dateTime}</issueDate>
        <rcvDate>{xs:dateTime}</rcvDate>
        <prdcRsltDate>{xs:dateTime}</prdcRsltDate>
        <result>
            <...>
        </result>
    </application>
</receiveApplicationResultResponse>

Объект receiveApplicationResultResponse

Получение результатов обработки заявки.

Поле Описание Тип Обязательность
application Сведения о заявке. app:Application 1

Объект receiveApplicationResultResponse/application

Поле Описание Тип Обязательность
applicationId Сгенерированный идентификатор заявки. bs:UUID 1
status Статус готовности результата. app:ApplicationStatus 1
serviceId Код запрашиваемого сервиса (системы, к которой обращается пользователь). xs:NCName 1
issuerId Идентификатор хозяйствующего субъекта от имени которого происходит обращение к Ветис.API. Указанный хозяйствующий субъект должен быть одним из хозяйствующих субъектов, обслуживаемых данной программной системой. Перечень обслуживаемых программной системой хозяйствующих субъектов устанавливается при предоставлении доступа к Ветис.API. bs:UUID 1
issueDate Дата и время обращения пользователя к заявочной системе. Устанавливается разработчиком клиентской системы. xs:dateTime 1
rcvDate Дата и время формирования результата. xs:dateTime 1
prdcRsltDate Дата и время получения результата выполнения заявки. xs:dateTime 1
result Результат выполнения заявки. app:ApplicationResultWrapper 1

Данные запроса (submitApplicationRequest/application/data)

# Название XML-элемента Тип Обязат. Описание
001 <cgw:dispatchICOrderRequest>
002 ···<cgw:productionOrderId>7d827571-e01f-4bb3-ba23-99398a7dfbec</cgw:productionOrderId> bs:String255 [1..1] Номер производственного заказа. Должен соответствовать номеру производственного заказа, переданного в documentContent.
003 ···<cgw:documentContent>ewogICJjb250YWN0UGVyc29uIjogIkpva … </cgw:documentContent> [xs:base64Binary] [1..1] Содержимое документа (заказа).
004 ···<cgw:signature>MIIMFgYJKoZIhvcNAQcCoIIMBz … </cgw:signature> [xs:base64Binary] [1..1] Отсоединенная электронная подпись документа.
005 </cgw:dispatchICOrderRequest>

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

# Название XML-элемента Тип Обязат. Описание
001 <cgw:dispatchICOrderResponse>
002 ···<cgw:orderId>068ab44e-9163-4193-a488-87ab6eb2ba27</cgw:orderId> bs:UUID [1..1] Номер сформированного документа (заказа).
003 ···<cgw:expectedCompleteTimestamp>916</cgw:expectedCompleteTimestamp> [xs:nonNegativeInteger] [1..1] Ожидаемое время формирования результата.
004 </cgw:dispatchICOrderResponse>

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

Запрос на эмиссию КМ

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.vetrf.ru/schema/cdm/application/ws-definitions" xmlns:app="http://api.vetrf.ru/schema/cdm/application">
    <soapenv:Header/>
    <soapenv:Body>
        <ws:submitApplicationRequest>
            <ws:apiKey>{{apiKey}}</ws:apiKey>
            <app:application>
                <app:serviceId>{{serviceId}}</app:serviceId>
                <app:issuerId>{{issuerId}}</app:issuerId>
                <app:issueDate>2018-07-19T00:00:00</app:issueDate>
                <app:data>
                    <cgw:dispatchICOrderRequest xmlns:ns6="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" xmlns:ns5="http://api.vetrf.ru/schema/cdm/base" xmlns:ns8="http://api.vetrf.ru/schema/cdm/registry/ws-definitions/v2" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns7="http://api.vetrf.ru/schema/cdm/dictionary/v2" xmlns:cgw="http://api.vetrf.ru/schema/cdm/crptgw/applications/v1" xmlns:ns2="http://api.vetrf.ru/schema/cdm/application/ws-definitions" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns4="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" xmlns:ns3="http://api.vetrf.ru/schema/cdm/application">
                        <cgw:productionOrderId>7d827571-e01f-4bb3-ba23-99398a7dfbec</cgw:productionOrderId>
                        <cgw:documentContent>ewogICJjb250YWN0UGVyc29uIjogIkpvaG4gU21pdGggKNCY0LLQsNC90L7QsiDQn9C10YLRgCDQodC40LTQvtGA0L7QstC40YcpIiwKICAiY3JlYXRlTWV0aG9kVHlwZSI6ICJTRUxGX01BREUiLAogICJwcm9kdWN0aW9uT3JkZXJJZCI6ICI2M2I1ZDFjZC05MTliLTRjZWYtYjExNy0yY2U1OTA1OWJjMzMiLAogICJwcm9kdWN0cyI6IFsKICAgIHsKICAgICAgImV4cERhdGUiOiAiMTkxMjMxIiwKICAgICAgImV4cERhdGU3MiI6ICIxOTEyMzEyMzU5IiwKICAgICAgImd0aW4iOiAiMDEzMzQ1Njc4OTQzMzkiLAogICAgICAicXVhbnRpdHkiOiAzLAogICAgICAic2VyaWFsTnVtYmVyVHlwZSI6ICJTRUxGX01BREUiLAogICAgICAic2VyaWFsTnVtYmVycyI6IFsKICAgICAgICAiWFQ2Yzg0ZTM5Z1hqVyIsCiAgICAgICAgIjJrWTM5T21kbUhUd3giLAogICAgICAgICJYNGVic3NKUHpubkxnIgogICAgICBdLAogICAgICAidGVtcGxhdGVJZCI6IDEKICAgIH0KICBdLAogICJyZWxlYXNlTWV0aG9kVHlwZSI6ICJJTVBPUlQiCn0=</cgw:documentContent>
					<cgw:signature>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</cgw:signature>
                    </cgw:dispatchICOrderRequest>
                </app:data>
            </app:application>
        </ws:submitApplicationRequest>
    </soapenv:Body>
</soapenv:Envelope>


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

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
            <application xmlns="http://api.vetrf.ru/schema/cdm/application">
                <applicationId>bec7ec62-59b0-4c44-a3cd-137435bfdb7b</applicationId>
                <status>COMPLETED</status>
                <serviceId>crpt-gateway.service</serviceId>
                <issuerId>11111111-1111-1111-1111-111111111111</issuerId>
                <issueDate>2018-07-19T00:00:00+03:00</issueDate>
                <rcvDate>2020-07-06T18:20:29+03:00</rcvDate>
                <prdcRsltDate>2020-07-06T18:21:02+03:00</prdcRsltDate>
                <result>
                    <cgw:dispatchICOrderResponse xmlns:cgw="http://api.vetrf.ru/schema/cdm/crptgw/applications/v1">
                        <cgw:orderId>068ab44e-9163-4193-a488-87ab6eb2ba27</cgw:orderId>
                        <cgw:expectedCompleteTimestamp>916</cgw:expectedCompleteTimestamp>
                    </cgw:dispatchICOrderResponse>
                </result>
            </application>
        </receiveApplicationResultResponse>
    </soap:Body>