Exportcenter:UploadAttachment:v2.2
Перейти к навигации
Перейти к поиску
Общие сведения
Операция UploadAttachment предназначена для загрузки файлов в хранилище и получения уникальных идентификаторов (ссылок) на файлы для дальнейшего использования в операциях.
Передача файлов осуществляется с использованием технологий:
Технология | Ссылка на спецификацию | Описание |
---|---|---|
MTOM (SOAP Message Transmission Optimization Mechanism) | https://www.w3.org/TR/soap12-mtom | MTOM - это W3C Механизм оптимизации передачи сообщений, метод эффективной отправки двоичных данных к и от веб-сервисов. Обычно используется с XOP. |
XOP (XML-binary Optimized Packaging) | https://www.w3.org/TR/xop10 | XOP - это W3C Механизм сериализации и десериализации набора элементов XML, содержащих двоичные данные. |
Спецификация запроса
# | Название XML-элемента | Тип | Обязат. | Описание (нажмите [...] для отображения дополнительного описания) |
---|---|---|---|---|
001 | <def:uploadAttachmentRequest> | |||
002 | ···<def:apiKey>?</def:apiKey> | apl:APIKey | [1..1] | API Key |
003 | ···<def:attachment> | def:ApplicationAttachment | [1..1] | Вложение/файл, ассоциированный с заявкой интеграционного шлюза ВетИС.API |
004 | ······<def:serviceId>exportcenter.service:2.2</def:serviceId> | xs:Name | [1..1] | Идентификатор сервиса |
005 | ······<def:issuerId>?</def:issuerId> | bs:UUID | [1..1] | Идентификатор заявителя, клиента интеграционного шлюза ВетИС.API |
006 | ······<def:data> | def:AttachmentDataWrapper | [1..1] | Содержимое загружаемого вложения/файлов с поддержкой пакетной загрузки |
007 | ·········<def:includedFile> | exc:ExcDocumentFile | [1..*] | Содержимое вложенного документа с возможностью передачи открепленной подписи |
008 | ············<exc:id>?</exc:id> | bs:Identifier | [1..1] | Идентификатор файла |
009 | ············<exc:fileName>?</exc:fileName> | bs:String255 | [1..1] | Название файла |
010 | ············<exc:mimeCode>?</exc:mimeCode> | xs:token | [1..1] | MIME-код файла, представленного в бинарном виде |
011 | ············<exc:encoding>?</exc:encoding> | xs:token | [0..1] | Кодировка файла, представленного в бинарном виде |
012 | ············<exc:fileSize>?</exc:fileSize> | xs:nonNegativeInteger | [0..1] | Размер файла в байтах |
013 | ············<exc:fileDigest algorithmId="?">?</exc:fileDigest> | exc:ExcFileDigest | [1..1] | Хеш-значение для файла в соответствии с указанным алгоритмом
|
014 | ············<exc:binaryData xmime:contentType="?">?</exc:binaryData> | exc:ExcDocumentBinaryData | [1..1] | Содержимое файла в формате base64 |
015 | ············<exc:signature>?</exc:signature> | exc:ExcDocumentBinaryData | [0..*] | Открепленная подпись файла |
016 | ·········</def:includedFile> | |||
017 | ······</def:data> | |||
018 | ···</def:attachment> | |||
019 | </def:uploadAttachmentRequest> |
Спецификация ответа
# | Название XML-элемента | Тип | Обязат. | Описание (нажмите [...] для отображения дополнительного описания) |
---|---|---|---|---|
001 | <def:uploadAttachmentResponse> | |||
002 | ···<def:attachment> | def:ApplicationAttachment | [1..1] | Вложение/файл, ассоциированный с заявкой интеграционного шлюза ВетИС.API |
003 | ······<def:attachmentId>?</def:attachmentId> | bs:UUID | [1..1] | Идентификатор загружаемого вложения |
004 | ······<def:uploadStatus>?</def:uploadStatus> | def:AttachmentUploadStatus | [1..1] | Результат загрузки вложения/файла
|
005 | ······<def:uploadDate>?</def:uploadDate> | xs:dateTime | [1..1] | Дата и время загрузки |
006 | ······<def:result> | def:AttachmentDataWrapper | [0..1] | Результат успешной или частично успешной загрузки вложения/файлов
|
007 | ·········<def:includedFile> | exc:ExcDocumentFile | [1..*] | Содержимое вложенного документа |
008 | ············<exc:id>?</exc:id> | bs:Identifier | [1..1] | Идентификатор файла |
009 | ············<exc:fileName>?</exc:fileName> | bs:String255 | [1..1] | Название файла |
010 | ············<exc:mimeCode>?</exc:mimeCode> | xs:token | [1..1] | MIME-код файла, представленного в бинарном виде |
011 | ············<exc:fileSize>?</exc:fileSize> | xs:nonNegativeInteger | [1..1] | Размер файла в байтах |
012 | ············<exc:referenceId>?</exc:referenceId> | exc:ExcDocumentFileReference | [1..1] | Ссылка или идентификатор файла в хранилище |
013 | ·········</def:includedFile> | |||
014 | ······</def:result> | |||
015 | ······<def:errors> | app:BusinessErrorList | [0..1] | Ошибки при загрузке вложения/файлов
|
016 | ·········<app:error code="?" qualifier="?">?</app:error> | app:BusinessError | [1..*] | Код и описание ошибки |
017 | ······</def:errors> | |||
018 | ···</def:attachment> | |||
019 | </def:uploadAttachmentResponse> |
Примеры запросов
RQ1. Пример запроса загрузки файлов.
RQ1.Request.Example
<def:uploadAttachmentRequest
xmlns:def="http://api.vetrf.ru/schema/cdm/exportcenter/attachment/ws-definitions/v1"
xmlns:exc="http://api.vetrf.ru/schema/cdm/exportcenter/applications/v2"
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
xmlns:app="http://api.vetrf.ru/schema/cdm/application">
<def:apiKey>TEST_API_KEY==</def:apiKey>
<def:attachment>
<def:serviceId>exportcenter.service:2.2</def:serviceId>
<def:issuerId>9f267cfc-fea3-4238-ba41-5777b5995137</def:issuerId>
<def:data>
<def:includedFile>
<exc:id>1</exc:id>
<exc:fileName>Имя_файла.pdf</exc:fileName>
<exc:mimeCode>application/pdf</exc:mimeCode>
<exc:fileSize>2007693</exc:fileSize>
<exc:fileDigest algorithmId="SHA-256">DSJHGSDFTYWUYGSHGF567221GFD76R21GVC76SG2487SDHG</exc:fileDigest>
<exc:binaryData xmime:contentType="application/pdf"> <!-- Передача файла c MTOM и XOP -->
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:1531990080907"/>
</exc:binaryData>
<exc:signature>KJHKLJKJHDFDSKJHKDFh7634jhkdfjKjhkf8767845jdKJNkfuy8746==</exc:signature> <!-- Пример передачи подписи без MTOM -->
<exc:signature> <!-- Пример передачи подписи c MTOM и XOP -->
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:288267554280"/>
</exc:signature>
</def:includedFile>
<def:includedFile>
<exc:id>2</exc:id>
<exc:fileName>Акт_отбора_868934_20230403.pdf</exc:fileName>
<exc:mimeCode>application/pdf</exc:mimeCode>
<exc:fileSize>200</exc:fileSize>
<exc:fileDigest algorithmId="SHA-256">DSJHGSDFTYWUYGSHGF567221GFD76R21GVC76SG2487SDHG</exc:fileDigest>
<exc:binaryData xmime:contentType="application/pdf">
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:8945876458764"/>
</exc:binaryData>
<exc:signature>KJHKLJKJHDFDSKJHKDFh7634jhkdfjKjhkf8767845jdKJNkfuy8746==</exc:signature> <!-- Пример передачи подписи без MTOM -->
</def:includedFile>
</def:data>
</def:attachment>
</def:uploadAttachmentRequest>
RS1. Пример ответа с успешной загрузкой файлов из запроса RQ1.
RS1.Response.Example
<def:uploadAttachmentResponse
xmlns:def="http://api.vetrf.ru/schema/cdm/exportcenter/attachment/ws-definitions/v1"
xmlns:exc="http://api.vetrf.ru/schema/cdm/exportcenter/applications/v2"
xmlns:app="http://api.vetrf.ru/schema/cdm/application">
<def:attachment>
<def:attachmentId>15f4acf8-6d6f-479a-b14c-606a508e7101</def:attachmentId>
<def:uploadStatus>UPLOADED</def:uploadStatus>
<def:uploadDate>2009-05-16T16:42:28</def:uploadDate>
<def:result>
<def:includedFile>
<exc:id>1</exc:id>
<exc:fileName>Имя_файла.pdf</exc:fileName>
<exc:mimeCode>application/pdf</exc:mimeCode>
<exc:fileSize>2007693</exc:fileSize>
<exc:referenceId>ru:vetrf:api:storage:exportcenter.service:e3948581-443f-445c-b71e-6d35d58fda91</exc:referenceId>
</def:includedFile>
<def:includedFile>
<exc:id>2</exc:id>
<exc:fileName>Акт_отбора_868934_20230403.pdf</exc:fileName>
<exc:mimeCode>application/pdf</exc:mimeCode>
<exc:fileSize>200</exc:fileSize>
<exc:referenceId>ru:vetrf:api:storage:exportcenter.service:e3948581-443f-445c-b71e-6d35d58fda91</exc:referenceId>
</def:includedFile>
</def:result>
</def:attachment>
</def:uploadAttachmentResponse>
RS2. Пример ответа с частично успешной загрузкой файлов из запроса RQ1.
RS2.Response.Example
<def:uploadAttachmentResponse
xmlns:def="http://api.vetrf.ru/schema/cdm/exportcenter/attachment/ws-definitions/v1"
xmlns:exc="http://api.vetrf.ru/schema/cdm/exportcenter/applications/v2"
xmlns:app="http://api.vetrf.ru/schema/cdm/application">
<def:attachment>
<def:attachmentId>15f4acf8-6d6f-479a-b14c-606a508e7101</def:attachmentId>
<def:uploadStatus>PARTIALLY_UPLOADED</def:uploadStatus>
<def:uploadDate>2009-05-16T16:42:28</def:uploadDate>
<def:result>
<def:includedFile>
<exc:id>1</exc:id>
<exc:fileName>Имя_файла.pdf</exc:fileName>
<exc:mimeCode>application/pdf</exc:mimeCode>
<exc:fileSize>2007693</exc:fileSize>
<exc:referenceId>ru:vetrf:api:storage:exportcenter.service:e3948581-443f-445c-b71e-6d35d58fda91</exc:referenceId>
</def:includedFile>
</def:result>
<def:errors>
<app:error code="AMNT00024" qualifier="2">Открепленная подпись файла не прошла проверку.</app:error>
<app:error code="AMNT00021" qualifier="2">Хэш-сумма файла не соответствует загруженному содержимому.</app:error>
</def:errors>
</def:result>
</def:attachment>
</def:uploadAttachmentResponse>
RS3. Пример ответа с отказом загрузки файлов из запроса RQ1.
RS3.Response.Example
<def:uploadAttachmentResponse
xmlns:def="http://api.vetrf.ru/schema/cdm/exportcenter/attachment/ws-definitions/v1"
xmlns:exc="http://api.vetrf.ru/schema/cdm/exportcenter/applications/v2"
xmlns:app="http://api.vetrf.ru/schema/cdm/application">
<def:attachment>
<def:attachmentId>15f4acf8-6d6f-479a-b14c-606a508e7101</def:attachmentId>
<def:uploadStatus>REJECTED</def:uploadStatus>
<def:uploadDate>2009-05-16T16:42:28</def:uploadDate>
<def:errors>
<app:error code="AMNT00024" qualifier="1">Открепленная подпись файла не прошла проверку.</app:error>
<app:error code="AMNT00021" qualifier="2">Хэш-сумма файла не соответствует загруженному содержимому.</app:error>
</def:errors>
</def:result>
</def:attachment>
</def:uploadAttachmentResponse>