Конечная точка /documents предоставляет следующие методы:
Предназначен потоковой загрузки документа в хранилище. При загрузке считается хэш документа. Содержимое документа передается в теле запроса с Content-Type: application/octet-stream, а дополнительные параметры – в отдельном HTTP заголовке, закодированном в формат Base64.
Пример
Содержимое документа test.txt
:
ATTRIBUTES:
GlobalID=fe16c231-804d-4681-ac1b-a7612bd55cf8
DocType=PayDocCur
DocTypeVersion=2.0
CreateDate=2019-05-16 14:28:08.58
CreateOrg=348409
FIELDS:
DocInfo.DocAccount=40702840838050000545
DocInfo.DocDate=2019-05-16
DocInfo.DocNumber=104
DocInfo.DocSum=7.00
DocInfo.DocSumCurrency=840
PayDocCur.AdditionalInfo=/FULLPAY/
PayDocCur.AmountTransfer=7.00
PayDocCur.BenefAccountCurISOCode=USD
PayDocCur.BenefBankBIC=CHASUS31HPQ
PayDocCur.BenefBankBICType=SWIFT
PayDocCur.BenefBankCountryCode=840
PayDocCur.BenefBankCountryISOCode=US
PayDocCur.BenefBankName=JPMORGAN CHASE BANK, N.A.
PayDocCur.BenefBankPlace=NEW YORK,NY
PayDocCur.BenefCountryCode=044
PayDocCur.BenefCountryISOCode=BS
PayDocCur.Beneficiar=ASKOT INVESTMENTS LTD
PayDocCur.BeneficiarAccount=40807840955130000002
PayDocCur.BeneficiarAddress=NASSAU, EST HILL STREET, 3944
PayDocCur.BeneficiarCountry=БАГАМЫ
PayDocCur.BeneficiarPlace=NASSAU
PayDocCur.BranchShortName=0038-7981-01835
PayDocCur.ChargeBEN=false
PayDocCur.ChargeOUR=true
PayDocCur.ChargeSHA=false
PayDocCur.ChargesType=OUR
PayDocCur.CurrCodeISO=USD
PayDocCur.CurrCodeISOTransfer=USD
PayDocCur.CurrCodeTransfer=840
PayDocCur.Flag_TargetAssignment=false
PayDocCur.IMediaBankAddress=2, KRASNOGO TEKSTILSHCHIKA STREET
PayDocCur.IMediaBankBIC=SABRRU2P
PayDocCur.IMediaBankBICType=SWIFT
PayDocCur.IMediaBankCountryCode=643
PayDocCur.IMediaBankCountryISOCode=RU
PayDocCur.IMediaBankName=SBERBANK (SEVERO-ZAPADNY HEAD OFFICE)
PayDocCur.IMediaBankPlace=ST. PETERSBURG
PayDocCur.IMediaClirCodeSymbol=RU
PayDocCur.IMediaClirCountryCode=RU
PayDocCur.IMediaClirShortName=Банковский идентификационный код (БИК)
PayDocCur.IsMultiCurr=false
PayDocCur.OfficialsPhone=76502587430
PayDocCur.Option50a=F
PayDocCur.Option56a=A
PayDocCur.Option57a=A
PayDocCur.Payer=JSC 'SRI PI.'
PayDocCur.PayerAddress=LENINA
PayDocCur.PayerBIC=044525225
PayDocCur.PayerBankBIC=SABRRUMM
PayDocCur.PayerBankName=SBERBANK (HEAD OFFICE - ALL BRANCHE
PayDocCur.PayerBankPlace=Москва
PayDocCur.PayerCountryCode=643
PayDocCur.PayerCountryISOCode=RU
PayDocCur.PayerCountryNameRu=РОССИЯ
PayDocCur.PayerFiscalCode=7715784155
PayDocCur.PayerName=АО "НИИ ТП"
PayDocCur.PayerPlace=PERM
PayDocCur.PaymentDirection=0
PayDocCur.PaymentsDetails=FLOWING EXPENSES
PayDocCur.SenderOfficials=niitp_rut niitp_rut niitp_rut
PayDocCur.Urgent=false
Объект PostDocumentInput
в формате JSON:
{
"Filename": "test.txt",
"AdditionalInfo" : "",
"IsTemporary" : "True",
"AdditionalInfo" :
{
"SnippetTemplate" : "<div style=\"border-radius: 7px;\r\n\t\t\tbox-shadow: 0 0 7px rgba(0,0,0,0.5);\r\n\t\t\tpadding: 15px;\r\n\t\t\tmargin: 10px;\r\n\t\t\tline-height: 1.3;\r\n\t\t\tfont-family: Tahoma;\r\n\t\t\t\">\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px;\">\r\n\t\t{0:FIELDS.PayDocCur.AdditionalInfo}\r\n\t<\/div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\t{0:FIELDS.PayDocCur.BenefBankCountryISOCode}\r\n\t<\/div>\r\n\t\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px; padding-top: 18px;\">\r\n\t\t{0:FIELDS.PayDocCur.ChargeBEN}\r\n\t<\/div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\t\u0412 \u0442\u043E\u043C \u0447\u0438\u0441\u043B\u0435 \u041D\u0414\u0421 15% - 4.60 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E 891 \u0442\u044B\u0441\u044F\u0447 \u0440\u0443\u0431\u043B\u0435\u0439\r\n\t<\/div>\r\n\t\r\n\t<div style=\"font-size: 18px; padding-top: 13px;\">\r\n\t\t<b>{0:FIELDS.PayDocCur.IMediaBankCountryCode}<\/b> \u20BD\r\n\t<\/div>\r\n\t<![CDATA[{\r\n\t\"FIELDS.PayDocCur.AdditionalInfo\": \r\n\t{\r\n\t\t\"\/FULLPAY\/\": \"\u041F\u043E\u043B\u043D\u0430\u044F \u043E\u043F\u043B\u0430\u0442\u0430\",\r\n\t},\r\n\t\"FIELDS.PayDocCur.ChargeBEN\":\r\n\t\t{\r\n\t\t\"false\": \"\u0431\u0435\u0437 \u043E\u043F\u043B\u0430\u0442\u044B BEN\",\r\n\t\t\"true\": \"\u0441 \u043E\u043F\u043B\u0430\u0442\u043E\u0439 BEN\"\r\n\t}\r\n}]]>\r\n<\/div>",
"DocumentTemplate" : ""
}
}
Значение заголовка CPDSS-POSTDOC
(переносы строк добавлены для удобства чтения):
ewogICJGaWxlbmFtZSI6ICJ0ZXN0LnR4dCIsCiAgIkFkZGl0aW9uYWxJbmZvIiA6ICIiLAogICJJc1Rl
bXBvcmFyeSIgOiAiVHJ1ZSIsCiAgIkFkZGl0aW9uYWxJbmZvIiA6IAogIHsKICAgICJTbmlwcGV0VGVt
cGxhdGUiIDogIjxkaXYgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA3cHg7XHJcblx0XHRcdGJveC1zaGFk
b3c6IDAgMCA3cHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdFx0
XHRtYXJnaW46IDEwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0XHRcdGZvbnQtZmFt
aWx5OiBUYWhvbWE7XHJcblx0XHRcdFwiPlxyXG5cdDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE2cHg7
IGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nLWJvdHRvbTogNXB4O1wiPlxyXG5cdFx0ezA6RklFTERT
LlBheURvY0N1ci5BZGRpdGlvbmFsSW5mb31cclxuXHQ8XC9kaXY+XHJcblx0PGRpdiBzdHlsZT1cImZv
bnQtc2l6ZTogMTJweDsgY29sb3I6IGdyYXk7XCI+XHJcblx0XHR7MDpGSUVMRFMuUGF5RG9jQ3VyLkJl
bmVmQmFua0NvdW50cnlJU09Db2RlfVxyXG5cdDxcL2Rpdj5cclxuXHRcclxuXHQ8ZGl2IHN0eWxlPVwi
Zm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZy1ib3R0b206IDVweDsgcGFk
ZGluZy10b3A6IDE4cHg7XCI+XHJcblx0XHR7MDpGSUVMRFMuUGF5RG9jQ3VyLkNoYXJnZUJFTn1cclxu
XHQ8XC9kaXY+XHJcblx0PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IGdyYXk7XCI+
XHJcblx0XHRcdTA0MTIgXHUwNDQyXHUwNDNFXHUwNDNDIFx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQzQlx1
MDQzNSBcdTA0MURcdTA0MTRcdTA0MjEgMTUlIC0gNC42MCBcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0M0Nc
dTA0MzVcdTA0NDBcdTA0M0RcdTA0M0UgODkxIFx1MDQ0Mlx1MDQ0Qlx1MDQ0MVx1MDQ0Rlx1MDQ0NyBc
dTA0NDBcdTA0NDNcdTA0MzFcdTA0M0JcdTA0MzVcdTA0MzlcclxuXHQ8XC9kaXY+XHJcblx0XHJcblx0
PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgcGFkZGluZy10b3A6IDEzcHg7XCI+XHJcblx0XHQ8
Yj57MDpGSUVMRFMuUGF5RG9jQ3VyLklNZWRpYUJhbmtDb3VudHJ5Q29kZX08XC9iPiBcdTIwQkRcclxu
XHQ8XC9kaXY+XHJcblx0PCFbQ0RBVEFbe1xyXG5cdFwiRklFTERTLlBheURvY0N1ci5BZGRpdGlvbmFs
SW5mb1wiOiBcclxuXHR7XHJcblx0XHRcIlwvRlVMTFBBWVwvXCI6IFwiXHUwNDFGXHUwNDNFXHUwNDNC
XHUwNDNEXHUwNDMwXHUwNDRGIFx1MDQzRVx1MDQzRlx1MDQzQlx1MDQzMFx1MDQ0Mlx1MDQzMFwiLFxy
XG5cdH0sXHJcblx0XCJGSUVMRFMuUGF5RG9jQ3VyLkNoYXJnZUJFTlwiOlxyXG5cdFx0e1xyXG5cdFx0
XCJmYWxzZVwiOiBcIlx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M0VcdTA0M0ZcdTA0M0JcdTA0MzBcdTA0
NDJcdTA0NEIgQkVOXCIsXHJcblx0XHRcInRydWVcIjogXCJcdTA0NDEgXHUwNDNFXHUwNDNGXHUwNDNC
XHUwNDMwXHUwNDQyXHUwNDNFXHUwNDM5IEJFTlwiXHJcblx0fVxyXG59XV0+XHJcbjxcL2Rpdj4iLAog
ICAgIkRvY3VtZW50VGVtcGxhdGUiIDogIiIKICB9Cn0=
Пример запроса
POST /documentstore/api/documents HTTP/1.1
Host: simdss.cryptopro.ru
Content-Type: application/octet-stream
CPDSS-POSTDOC: ewogICJGaWxlbmFtZSI6ICJ0ZXN0LnR4dCIsCiAgIkFkZGl0aW9uYWxJbmZvIiA6ICIiLAogICJJc1RlbXBvcmFyeSIgOiAiVHJ1ZSIsCiAgIkFkZGl0aW9uYWxJbmZvIiA6IAogIHsKICAgICJTbmlwcGV0VGVtcGxhdGUiIDogIjxkaXYgc3R5bGU9XCJib3JkZXItcmFkaXVzOiA3cHg7XHJcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgwLDAsMCwwLjUpO1xyXG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdFx0XHRtYXJnaW46IDEwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBUYWhvbWE7XHJcblx0XHRcdFwiPlxyXG5cdDxkaXYgc3R5bGU9XCJmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBwYWRkaW5nLWJvdHRvbTogNXB4O1wiPlxyXG5cdFx0ezA6RklFTERTLlBheURvY0N1ci5BZGRpdGlvbmFsSW5mb31cclxuXHQ8XC9kaXY+XHJcblx0PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IGdyYXk7XCI+XHJcblx0XHR7MDpGSUVMRFMuUGF5RG9jQ3VyLkJlbmVmQmFua0NvdW50cnlJU09Db2RlfVxyXG5cdDxcL2Rpdj5cclxuXHRcclxuXHQ8ZGl2IHN0eWxlPVwiZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogYm9sZDsgcGFkZGluZy1ib3R0b206IDVweDsgcGFkZGluZy10b3A6IDE4cHg7XCI+XHJcblx0XHR7MDpGSUVMRFMuUGF5RG9jQ3VyLkNoYXJnZUJFTn1cclxuXHQ8XC9kaXY+XHJcblx0PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IGdyYXk7XCI+XHJcblx0XHRcdTA0MTIgXHUwNDQyXHUwNDNFXHUwNDNDIFx1MDQ0N1x1MDQzOFx1MDQ0MVx1MDQzQlx1MDQzNSBcdTA0MURcdTA0MTRcdTA0MjEgMTUlIC0gNC42MCBcdTA0M0ZcdTA0NDBcdTA0MzhcdTA0M0NcdTA0MzVcdTA0NDBcdTA0M0RcdTA0M0UgODkxIFx1MDQ0Mlx1MDQ0Qlx1MDQ0MVx1MDQ0Rlx1MDQ0NyBcdTA0NDBcdTA0NDNcdTA0MzFcdTA0M0JcdTA0MzVcdTA0MzlcclxuXHQ8XC9kaXY+XHJcblx0XHJcblx0PGRpdiBzdHlsZT1cImZvbnQtc2l6ZTogMThweDsgcGFkZGluZy10b3A6IDEzcHg7XCI+XHJcblx0XHQ8Yj57MDpGSUVMRFMuUGF5RG9jQ3VyLklNZWRpYUJhbmtDb3VudHJ5Q29kZX08XC9iPiBcdTIwQkRcclxuXHQ8XC9kaXY+XHJcblx0PCFbQ0RBVEFbe1xyXG5cdFwiRklFTERTLlBheURvY0N1ci5BZGRpdGlvbmFsSW5mb1wiOiBcclxuXHR7XHJcblx0XHRcIlwvRlVMTFBBWVwvXCI6IFwiXHUwNDFGXHUwNDNFXHUwNDNCXHUwNDNEXHUwNDMwXHUwNDRGIFx1MDQzRVx1MDQzRlx1MDQzQlx1MDQzMFx1MDQ0Mlx1MDQzMFwiLFxyXG5cdH0sXHJcblx0XCJGSUVMRFMuUGF5RG9jQ3VyLkNoYXJnZUJFTlwiOlxyXG5cdFx0e1xyXG5cdFx0XCJmYWxzZVwiOiBcIlx1MDQzMVx1MDQzNVx1MDQzNyBcdTA0M0VcdTA0M0ZcdTA0M0JcdTA0MzBcdTA0NDJcdTA0NEIgQkVOXCIsXHJcblx0XHRcInRydWVcIjogXCJcdTA0NDEgXHUwNDNFXHUwNDNGXHUwNDNCXHUwNDMwXHUwNDQyXHUwNDNFXHUwNDM5IEJFTlwiXHJcblx0fVxyXG59XV0+XHJcbjxcL2Rpdj4iLAogICAgIkRvY3VtZW50VGVtcGxhdGUiIDogIiIKICB9Cn0=
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
cache-control: no-cache
Пример ответа
HTTP/1.1 200
Content-Type:"application/json; charset=utf-8"
Server:"Microsoft-IIS/10.0"
Date:"Tue, 27 Aug 2019 10:55:30 GMT"
Content-Length:"53"
{"DocumentId":"1671c6bb-7c16-47e2-9c26-7a3c9e388f05"}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
400 |
invalid_object_state |
Превышена квота для пользователя |
400 |
invalid_request |
Не найден связанный документ для загружаемого файла; Передан пустой файл. |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для загрузки небольшого пакета документов в хранилище.
При загрузке считается хэш документа.
Содержимое документов передается в теле запроса.
Пример
Содержимое документа test.txt
:
test
Объект PostDocumentPack
в формате JSON:
{
"Documents":
[
{"Filename":"first.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null,"Content":"dGVzdA=="},
{"Filename":"second.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null,"Content":"dGVzdA=="}
]
}
Пример запроса
POST /documentstore/api/documents/pack HTTP/1.1
Host: simdss.cryptopro.ru
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
cache-control: no-cache
{
"Documents":
[
{"Filename":"first.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null,"Content":"dGVzdA=="},
{"Filename":"second.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null,"Content":"dGVzdA=="}
]
}
Пример ответа
HTTP/1.1 200
Content-Type:"application/json; charset=utf-8"
Server:"Microsoft-IIS/10.0"
Date:"Tue, 27 Aug 2019 10:55:30 GMT"
Content-Length:"53"
{"DocumentIds":["8a211775-18fd-425e-ba35-9672bc2cf505","3e9ed5ec-da03-46a1-83c5-519a2ba1be2e"]}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
400 |
invalid_object_state |
Превышена квота для пользователя |
400 |
invalid_request |
Не найден связанный документ для загружаемого файла; Передан пустой файл. |
500 |
- |
Внутренняя ошибка сервера |
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/info |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Возвращаемое значение |
DocumentInfo - Информация о документе |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/info HTTP/1.1
Host: simdss.cryptopro.ru
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
cache-control: no-cache
Пример ответа
HTTP/1.1 200
status: 200
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:00:55 GMT
Content-Length: 1542
{
"Id": "1671c6bb-7c16-47e2-9c26-7a3c9e388f05",
"UserId": "sga",
"Name": "test.txt",
"FileType": "txt",
"UploadTime": "2019-08-27T10:55:29.617Z",
"LastAccessTime": "2019-08-27T11:00:08.4546893Z",
"IsTemporary": true,
"FileSize": 2367,
"PageCount": 0,
"Hash": "693BE8DF00312EEE89CF0E5E608288B2C636DFF9DA965145226F8FE16DFB3689",
"AdditionalInfo": {
"DocumentTemplate": "",
"SnippetTemplate": "<div style=\"border-radius: 7px;\r\n\t\t\tbox-shadow: 0 0 7px rgba(0,0,0,0.5);\r\n\t\t\tpadding: 15px;\r\n\t\t\tmargin: 10px;\r\n\t\t\tline-height: 1.3;\r\n\t\t\tfont-family: Tahoma;\r\n\t\t\t\">\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px;\">\r\n\t\t{0:FIELDS.PayDocCur.AdditionalInfo}\r\n\t</div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\t{0:FIELDS.PayDocCur.BenefBankCountryISOCode}\r\n\t</div>\r\n\t\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px; padding-top: 18px;\">\r\n\t\t{0:FIELDS.PayDocCur.ChargeBEN}\r\n\t</div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\tВ том числе НДС 15% - 4.60 примерно 891 тысяч рублей\r\n\t</div>\r\n\t\r\n\t<div style=\"font-size: 18px; padding-top: 13px;\">\r\n\t\t<b>{0:FIELDS.PayDocCur.IMediaBankCountryCode}</b> ₽\r\n\t</div>\r\n\t<![CDATA[{\r\n\t\"FIELDS.PayDocCur.AdditionalInfo\": \r\n\t{\r\n\t\t\"/FULLPAY/\": \"Полная оплата\",\r\n\t},\r\n\t\"FIELDS.PayDocCur.ChargeBEN\":\r\n\t\t{\r\n\t\t\"false\": \"без оплаты BEN\",\r\n\t\t\"true\": \"с оплатой BEN\"\r\n\t}\r\n}]]>\r\n</div>"
}
}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/hash{hash}/info |
Параметры |
hash (обязательный), тип string - хэш файла в хранилище документов |
Возвращаемое значение |
DocumentInfo - Информация о документе |
Пример запроса
GET /documentstore/api/documents/hash/693BE8DF00312EEE89CF0E5E608288B2C636DFF9DA965145226F8FE16DFB3689/info HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkhWNV80ejJUQ0NpRkNISHhmMnNzNUFEa2xDUSJ9.eyJ1bmlxdWVfbmFtZSI6InNnYSIsIm5hbWVpZCI6ImRkMjYxZDU0LTA2NmMtNDAzZS05YWMzLWZiZmIwNjMzZjU3YiIsImRzc19pc3MiOiJyZWFsc3RzIiwiZHNzX3V1aWQiOiI0OXBEWmZ4VXdGamVIaFlTc3JTWDJMdmRTeEE9IiwiaHR0cDovL2Rzcy5jcnlwdG9wcm8ucnUvaWRlbnRpdHkvY2xhaW1zL2Rpc3BsYXluYW1lIjoi0KLQtdGB0YLQvtCy0YvQuSDQv9C-0LvRjNC30L7QstCw0YLQtdC70Ywgc2ltZHNzIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbW9iaWxlcGhvbmUiOiI3OTEwNDA3NDY4NCIsImVtYWlsIjoic2Fkb2ZpZXZAY3J5cHRvcHJvLnJ1IiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMveDUwMGRpc3Rpbmd1aXNoZWRuYW1lIjoiQ0490KLQtdGB0YLQvtCy0YvQuSDQv9C-0LvRjNC30L7QstCw0YLQtdC70Ywgc2ltZHNzIiwicm9sZSI6IlVzZXJzIiwiaHR0cDovL2Rzcy5jcnlwdG9wcm8ucnUvaWRlbnRpdHkvY2xhaW1zL2FjdGlvbi9pc3N1ZSI6InRmYTpmYWxzZSIsImh0dHA6Ly9kc3MuY3J5cHRvcHJvLnJ1L2lkZW50aXR5L2NsYWltcy9hY3Rpb24vc2lnbmRvY3VtZW50IjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL3NpZ25kb2N1bWVudHMiOiJ0ZmE6dHJ1ZSIsImh0dHA6Ly9kc3MuY3J5cHRvcHJvLnJ1L2lkZW50aXR5L2NsYWltcy9hY3Rpb24vZGVjcnlwdGRvY3VtZW50IjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL2NyZWF0ZXJlcXVlc3QiOiJ0ZmE6dHJ1ZSIsImh0dHA6Ly9kc3MuY3J5cHRvcHJvLnJ1L2lkZW50aXR5L2NsYWltcy9hY3Rpb24vY2hhbmdlcGluIjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL3JlbmV3Y2VydGlmaWNhdGUiOiJ0ZmE6dHJ1ZSIsImh0dHA6Ly9kc3MuY3J5cHRvcHJvLnJ1L2lkZW50aXR5L2NsYWltcy9hY3Rpb24vcmV2b2tlY2VydGlmaWNhdGUiOiJ0ZmE6dHJ1ZSIsImh0dHA6Ly9kc3MuY3J5cHRvcHJvLnJ1L2lkZW50aXR5L2NsYWltcy9hY3Rpb24vaG9sZGNlcnRpZmljYXRlIjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL3VuaG9sZGNlcnRpZmljYXRlIjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL2RlbGV0ZWNlcnRpZmljYXRlIjoidGZhOnRydWUiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWN0aW9uL3ByaXZhdGVrZXlhY2Nlc3MiOiJ0ZmE6dHJ1ZSIsImRzc19ncm91cCI6IkRlZmF1bHQiLCJodHRwOi8vZHNzLmNyeXB0b3Byby5ydS9pZGVudGl0eS9jbGFpbXMvYWNjZXNzcG9saWN5IjoiMCIsImlzcyI6InJlYWxzdHMiLCJleHAiOjE1Njc0Mjc3NjIsIm5iZiI6MTU2NzA2Nzc2Mn0.aaJbxIAbLN-HijJVbromgb5MxVbXAQSdUbwTV58-Ue-0GQztBDFSBBrbDDOmlWBQWrsrxc2hpLhgwYdxtEGM7bcnlnAFTuNtgIm9K5RUWGTS72heH-UKfsVYn-iZimYUvNPSM-GdnAtLUH8w91iYVpnT39nShGT4xjSNcxS26cBHTinOYKe91i9IOtOfHA1YlnxCvqJEgfwYK8so6-MMcKaPoFOdD398QM5i_2wIM5P3hB26grKTTdVSR07PODMU_tPKvksy5fsEkEYN1ZW6RCHLbm30pQAWsH_ExdM9xEuhlhVH7njLmgNvPx_WtkvEj6hI172N9TbvnLxUGDBC4g
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
Date: Thu, 29 Aug 2019 08:38:13 GMT
Content-Length: 2703
{
"Id": "1671c6bb-7c16-47e2-9c26-7a3c9e388f05",
"UserId": "sga",
"Name": "test.txt",
"FileType": "txt",
"UploadTime": "2019-08-27T10:55:29.617Z",
"LastAccessTime": "2019-08-27T11:00:08.4546893Z",
"IsTemporary": true,
"FileSize": 2367,
"PageCount": 0,
"Hash": "693BE8DF00312EEE89CF0E5E608288B2C636DFF9DA965145226F8FE16DFB3689",
"AdditionalInfo": {
"DocumentTemplate": "",
"SnippetTemplate": "<div style=\"border-radius: 7px;\r\n\t\t\tbox-shadow: 0 0 7px rgba(0,0,0,0.5);\r\n\t\t\tpadding: 15px;\r\n\t\t\tmargin: 10px;\r\n\t\t\tline-height: 1.3;\r\n\t\t\tfont-family: Tahoma;\r\n\t\t\t\">\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px;\">\r\n\t\t{0:FIELDS.PayDocCur.AdditionalInfo}\r\n\t</div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\t{0:FIELDS.PayDocCur.BenefBankCountryISOCode}\r\n\t</div>\r\n\t\r\n\t<div style=\"font-size: 16px; font-weight: bold; padding-bottom: 5px; padding-top: 18px;\">\r\n\t\t{0:FIELDS.PayDocCur.ChargeBEN}\r\n\t</div>\r\n\t<div style=\"font-size: 12px; color: gray;\">\r\n\t\tВ том числе НДС 15% - 4.60 примерно 891 тысяч рублей\r\n\t</div>\r\n\t\r\n\t<div style=\"font-size: 18px; padding-top: 13px;\">\r\n\t\t<b>{0:FIELDS.PayDocCur.IMediaBankCountryCode}</b> ₽\r\n\t</div>\r\n\t<![CDATA[{\r\n\t\"FIELDS.PayDocCur.AdditionalInfo\": \r\n\t{\r\n\t\t\"/FULLPAY/\": \"Полная оплата\",\r\n\t},\r\n\t\"FIELDS.PayDocCur.ChargeBEN\":\r\n\t\t{\r\n\t\t\"false\": \"без оплаты BEN\",\r\n\t\t\"true\": \"с оплатой BEN\"\r\n\t}\r\n}]]>\r\n</div>"
}
}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для получения содержимого загруженного документа.
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/content |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Возвращаемое значение |
тип Stream - Содержимое документа |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/content HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Cache-Control: private
Content-Length: 2367
Content-Type: application/octet-stream
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
Date: Tue, 27 Aug 2019 11:02:37 GMT
documentData
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для изменения информации о документе.
Параметр |
Значение |
HTTP-метод |
PATCH |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/info |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Тело запроса |
DocumentInfo - Информация о документе |
Пример запроса
PATCH /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05 HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Content-Length: 30
Connection: keep-alive
{
"IsTemporary": false
}
Пример ответа
HTTP/1.1 200
status: 200
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:04:01 GMT
Content-Length: 0
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для привязки другого документа к текущему
Параметр |
Значение |
HTTP-метод |
POST |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/link |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Тело запроса |
LinkedDocument - Информация о привязываемом документе |
Пример запроса
POST /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/link HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Content-Length: 38
Connection: keep-alive
{
"ParentDocumentId": "dcadd4f3-2126-4efb-99e6-121078b153e1"
}
Пример ответа
HTTP/1.1 200
status: 200
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:04:01 GMT
Content-Length: 0
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
400 |
invalid_request |
Не найден привязывамый документ |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для получения идентификатора привязанного документа.
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/link |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Тело запроса |
LinkedDocument - Информация о привязываемом документе |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/link HTTP/1.1
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Content-Length: 0
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:04:01 GMT
Content-Length: 53
{
"DocumentId": "dcadd4f3-2126-4efb-99e6-121078b153e1"
}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для инициирования конвертации предварительно загруженного документа.
Параметр |
Значение |
HTTP-метод |
POST |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/converted_content/ |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Возвращаемое значение |
ConvertedDocumentInfo - Информация о сконвертированном документе |
Пример запроса
POST /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Content-Length:
Connection: keep-alive
Пример ответа
HTTP/1.1 202
status: 202
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:05:10 GMT
Content-Length: 0
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
202 |
- |
Запрос принят |
200 |
- |
Запрос обработан |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/converted_content/info |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Возвращаемое значение |
ConvertedDocumentInfo - Информация о сконвертированном документе |
Пример запроса
``` http
HTTP/1.1 200
status: 202
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:11:45 GMT
Content-Length: 116
{
"OriginalDocument": "1fdb3f8d-fc7f-4a19-b2f8-3eb6861e944f",
"ConvertedFormat": "Pdf",
"ConvertationStatus": "InProcess"
}
Пример ответа
HTTP/1.1 200
status: 200
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:11:45 GMT
Content-Length: 116
{
"OriginalDocument": "1671c6bb-7c16-47e2-9c26-7a3c9e388f05",
"ConvertedFormat": "Pdf",
"ConvertationStatus": "Complited"
}
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для получения сконвертированного документа для отображения пользователю в веб-интерфейсе.
Если в пути запроса передан номер страницы, то возвращаем указанную страницу сконвертированного документа.
Если документ не был сконвертирован - запрос запускает процедуру конвертации.
Если конвертация документа не успевает завершиться к моменту таймаута ответа - возвращает в ответе код 202 без тела.
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/converted_content/{page_id}?range={range} |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Параметры |
page_id (не обязательный), тип string - Номер страницы сконвертированного документа. |
Параметры |
range (не обязательный), тип string - Число страниц для выборки. |
Возвращаемое значение |
тип Stream - Содержимое сконвертированного документа |
Возвращаемое значение, заголовок TotalPageCount |
тип int - общее число страниц в документе, если в запросе был указан параметр page_id |
Возвращаемое значение, заголовок ContentPageCount |
тип int - число страниц в возврщаемом документе, если в запросе был указан параметр page_id |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Cache-Control: private
Content-Length: 42737
Content-Type: application/octet-stream
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
Date: Tue, 27 Aug 2019 11:08:11 GMT
%PDF-1.4 ... %%EOF
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
400 |
invalid_object_data |
Ошибка при конвертации документа |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для получения информации о доступных способах конвертации для документа.
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/supported_convertations |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов. |
Возвращаемое значение |
тип List<DocumentConvertations> - информация о доступных способах конвертации для документа. |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/supported_convertations HTTP/1.1
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:14:28 GMT
Content-Length: 202
[{"ConvertationType":"Snippet","IsConvertationTypeSupported":"True"},{"ConvertationType":"Document","IsConvertationTypeSupported":"True"},{"ConvertationType":"Raw","IsConvertationTypeSupported":"True"}]
Предназначен для получения сконвертированного документа для отображения пользователю в веб-интерфейсе.
Параметр |
Значение |
HTTP-метод |
GET |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id}/preview?type={format} |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов. |
Параметры |
format (обязательный), тип string - Допустимые значяения: Snippet, Document. |
Возвращаемое значение |
тип Stream - Содержимое сконвертированного документа. |
Возвращаемое значение, заголовок ContentHash |
тип string - hex строка, содержащая хэш значение от содержимого ответа. |
Пример запроса
GET /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/preview?format=Snippet HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Cache-Control: private
Content-Length: 693
Content-Type: application/octet-stream
Server: Microsoft-IIS/10.0
ContentHash: F1EE8A63868F1DFB58A147C351EFB6A9BD8E5A8F3847B9133AF53B68C431A08C
X-AspNet-Version: 4.0.30319
Date: Tue, 27 Aug 2019 11:13:26 GMT
<div style="border-radius: 7px; box-shadow: 0 0 7px rgba(0,0,0,0.5); padding: 15px; margin: 10px; line-height: 1.3; font-family: Tahoma; ">
<div style="font-size: 16px; font-weight: bold; padding-bottom: 5px;">
Полная оплата
</div>
<div style="font-size: 12px; color: gray;">
US
</div>
<div style="font-size: 16px; font-weight: bold; padding-bottom: 5px; padding-top: 18px;">
без оплаты BEN
</div>
<div style="font-size: 12px; color: gray;">
В том числе НДС 15% - 4.60 примерно 891 тысяч рублей
</div>
<div style="font-size: 18px; padding-top: 13px;">
<b>643</b> ₽
</div>
</div>
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
400 |
invalid_object_data |
Ошибка при конвертации документа; Не найден ожидаемый шаблон. |
400 |
invalid_request |
Неизвестный формат. |
400 |
forbidden_object_operation |
Невозможно использовать переданный шаблон, так как использование внешних шаблонов запрещено. |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |
Предназначен для удаления документа и связанных с ним сконвертированных документов из Хранилища документов.
Параметр |
Значение |
HTTP-метод |
DELETE |
Путь |
https://dss.cryptopro.ru/DocumentStore/rest/api/documents/{id} |
Параметры |
id (обязательный), тип string - ID файла в хранилище документов |
Пример запроса
DELETE /documentstore/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05 HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
Accept: */*
Cache-Control: no-cache
Host: simdss.cryptopro.ru
Accept-Encoding: gzip, deflate
Content-Length:
Connection: keep-alive
Пример ответа
HTTP/1.1 200
status: 200
Server: Microsoft-IIS/10.0
Date: Tue, 27 Aug 2019 11:14:28 GMT
Content-Length: 0
Типовые ошибки
HTTP код |
Код ошибки |
Описание |
404 |
- |
Документ не найден |
500 |
- |
Внутренняя ошибка сервера |