Показать/Скрыть содержание

    Конечная точка Documents

    Конечная точка /documents предоставляет следующие методы:

    • Загрузка документа
    • Загрузка пакета документов
    • Загрузка пакета документов через multipart
    • Получение информации о загруженном документе
    • Получение информации о нескольких загруженных документах
    • Получение информации о загруженных документах пользователя
    • Получение информации о загруженных документах пользователя с выборкой
    • Получение информации о загруженном документе по хэшу
    • Получение хранящегося документа
    • Получение нескольких хранящихся документов
    • Изменение информации о документе
    • Связывание документа
    • Получение привязанного документа
    • Запрос на конвертацию документа
    • Получение информации о сконвертированном документе
    • Получение сконвертированного документа
    • Получение сконвертированного документа с указанием страницы
    • Получение информации о доступных преобразованиях для документа
    • Получение сконвертированного документа для отображения
    • Удаление документа

    Загрузка документа

    Предназначен для потоковой загрузки документа в СОД. При загрузке считается хэш документа. Содержимое документа передается в теле запроса с Content-Type: application/octet-stream, а дополнительные параметры – в отдельном HTTP заголовке, закодированном в формат Base64.

    Параметр Значение
    HTTP-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents
    Тело запроса Content byte[] - Содержимое документа
    Заголовок CPDSS-POSTDOC PostDocumentInput - Параметры загружаемого документа, в формате Base64 URL
    Возвращаемое значение UploadResult - Результат загрузки документа
    Пример

    Содержимое документа 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",
      "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 /{{InstanceName}}/api/documents HTTP/1.1
    Host: hostname
    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 - Внутренняя ошибка сервера

    Загрузка пакета документов

    Предназначен для загрузки небольшого пакета документов в СОД. При загрузке считается хэш документа. Содержимое документов передается в теле запроса.

    Примечание

    Данный метод может быть использован для загрузки пакета небольших документов. Для загрузки пакета больших документов необходимо использовать метод пакетной загрузки /documents/multipartpack.

    Параметр Значение
    HTTP-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/pack
    Тело запроса PostDocumentPack - Содержимое документов
    Возвращаемое значение PackUploadResult - Результат загрузки документов
    Пример

    Содержимое документа first.txt:

    test
    

    Содержимое документа second.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 /{{InstanceName}}/api/documents/pack HTTP/1.1
    Host: {{hostname}}
    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 - Внутренняя ошибка сервера

    Загрузка пакета документов с использованием multipart/form-data

    Предназначен для загрузки небольшого пакета документов в СОД. При загрузке считается хэш документа. Содержимое документов передается в теле запроса через multipart/form-data.

    При формировании запроса необходимо выставить Content-Type: multipart/form-data.

    Параметр Значение
    HTTP-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/multipartpack
    Тело запроса multipart - Содержимое документов (см описание структуры ниже)
    Query string ignoreContentDispositionNames - игнорировать имена в Сontent Disposition при проверках, по умолчанию - false
    Возвращаемое значение PackUploadResult - Результат загрузки документов

    Тело запроса представляет собой перечисление элементов, содержащих информацию о загружаемом документе и его содержимом.

    Для загрузки некоторого документа с именем {docName} необходимо передать пару элементов.

    • Имя первого элемента должно быть представлено в формате {docName}_info.
    • Содержимое первого элемента представляет собой json строку, соотвествующую DocumentItem с информацией о документе. При этом поле content не должно быть заполнено.
    • Имя второго элемента должно быть представлено в формате {docName}_content.
    • Второй элемент должен следовать строго после первого в теле запроса и содержать файл, передаваемый через элемент multipart/form-data.

    При использовании параметра ignoreContentDispositionNames можно использовать произвольное значение {docName}, не обязательно совпадающее с именем файла.

    Пример

    Содержимое документа first.txt:

    first
    

    Содержимое документа second.txt:

    second
    

    Объекты DocumentItem в формате JSON:

    {"Filename":"first.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null},
    
    {"Filename":"second","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":"txt"}
    
    Пример запроса
    
    POST /{{InstanceName}}/api/documents/multipartpack HTTP/1.1
    Host: {{hostname}}
    Content-Type: multipart/form-data
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    cache-control: no-cache
    
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="first.txt_info"
    
    {"Filename":"first.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null}
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="first.txt_content"; filename="first.txt"
    
    <first.txt content>
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="second_info"
    
    {"Filename":"second","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":"txt"}
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="second_content"; filename="second.txt"
    
    <second.txt content>
    ----------------------------delimiter7dc1d13623304d6--
    
    Пример ответа
    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":["e3487184-6c20-40ed-87f5-311eb8df00ba","033bebf3-49e4-4a35-99fb-809d4573fd68"]}
    
    Пример запроса с указанием параметра ignoreContentDispositionNames
    
    POST /{{InstanceName}}/api/documents/multipartpack?ignoreContentDispositionNames=true HTTP/1.1
    Host: {{hostname}}
    Content-Type: multipart/form-data
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    cache-control: no-cache
    
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="const_info"
    
    {"Filename":"first.txt","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":null}
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="const_content"; filename="first.txt"
    
    <first.txt content>
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="const_info"
    
    {"Filename":"second","IsTemporary":false,"AdditionalInfo":null,"ParentDocumentId":null,"FileType":"txt"}
    ----------------------------delimiter7dc1d13623304d6
    Content-Disposition: form-data; name="const_content"; filename="second.txt"
    
    <second.txt content>
    ----------------------------delimiter7dc1d13623304d6--
    
    Типовые ошибки
    HTTP код Код ошибки Описание
    400 invalid_object_state Превышена квота для пользователя
    400 invalid_request Не найден связанный документ для загружаемого файла;
    Передан пустой файл.
    500 - Внутренняя ошибка сервера

    Получение информации о загруженном документе

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/info
    Параметры id (обязательный), тип string - ID файла в Сервисе Обработки Документов (СОД)
    Возвращаемое значение DocumentInfo - Информация о документе
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/info HTTP/1.1
    Host: {{hostname}}
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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": 1613470763,
        "LastAccessTime": 1613470763,
        "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-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/info
    Тело запроса GetDocumentsInfo - Запрос информации о документах
    Возвращаемое значение List<GetDocumentInfoResult> - Информация о документах
    Пример запроса
    POST /{{InstanceName}}/api/documents/info HTTP/1.1
    Host: {{hostname}}
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    cache-control: no-cache
    
    {
        "DocumentIds":
        [
            3f13c381-0ab3-4751-b514-0f59361ab373,
            123
        ]
    }
    
    Пример ответа
    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: 1442
    
    {
        "3f13c381-0ab3-4751-b514-0f59361ab373": {
            "Found": true,
            "DocumentInfo": {
                "Id": "3f13c381-0ab3-4751-b514-0f59361ab373",
                "UserId": "f21bee19-cb45-4d8a-baad-ec9bb84b80eb",
                "Name": "file.txt",
                "FileType": "txt",
                "UploadTime": 1634200895,
                "LastAccessTime": 1634200895,
                "IsTemporary": false,
                "FileSize": 2367,
                "Hash": "",
                "HashAlgorithm": "none",
                "AdditionalInfo": {
                    "SmallFile": "True",
                    "SnippetTemplate": "<root>\n<table style=\"width:100%\">\n<tr>\n<th>№п/п</th>\n<th>Фамидия, имя и отчество</th>\n<th>Номер счета</th>\n<th>Сумма</th>\n<th>Результат зачисления</th>\n<th>Причина зачисления</th>\n</tr>\n{0:TableRow_EmpSalary_0}\n</table>\n<table style=\"width:100%\">\n<tr>\n<th>values</th>\n</tr>\n{0:TableRow_EtcTable_1}\n</table>\n<![CDATA[{\n\t\"TableRow_EmpSalary\": \n\t{\n\t\t\"0\": \"<tr> <th></th> <th>{0:TABLES.EmpSalary.#i.LastName} {0:TABLES.EmpSalary.#i.FirstName} {0:TABLES.EmpSalary.#i.MiddleName}</th> <th>{0:TABLES.EmpSalary.#i.Account}</th> <th>{0:TABLES.EmpSalary.#i.SalarySum} {0:TABLES.EmpSalary.#i.SalarySumCurrency}</th> <th></th> <th>{0:FIELDS.LetterOfReg.AdmissionValueDesc}</th> </tr>\",\n\t},\n\t\"TableRow_EtcTable\": \n\t{\n\t\t\"1\": \"<th>{0:TABLES.EtcTable.#i.value}</tr>\",\n\t},\n\t\"TABLES.EtcTable.#i.value\": \n\t{\n\t\t\"data123\": \"Отформатированные данные в таблице из CDATA\",\n\t},\n}]]>\n</root>"
                }
            }
        },
        "123": {
            "Found": false
        }
    }
    
    Типовые ошибки
    HTTP код Код ошибки Описание
    400 - Некорректный запрос
    500 - Внутренняя ошибка сервера

    Получение информации о загруженном документе по хэшу

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/hash/{hash}/info
    Параметры hash (обязательный), тип string - хэш файла в СОД
    Возвращаемое значение DocumentInfo - Информация о документе
    Пример запроса
    GET /{{InstanceName}}/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: {{hostname}}
    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": 1613470763,
        "LastAccessTime": 1613470763,
        "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://{{hostname}}/{{InstanceName}}/api/documents/{id}/content?offset={offset}
    Параметры id (обязательный), тип string - ID файла в СОД;
    offset (опциональный), тип int - смещение с начала содержимого документа в байтах
    Возвращаемое значение тип Stream - Содержимое документа
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/content HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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 - Внутренняя ошибка сервера

    Получение нескольких хранящихся документов

    Предназначен для получения содержимого загруженных документов через multipart.

    Параметр Значение
    HTTP-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/content/download
    Параметры GetDocumentsContentMultipart - список запрашиваемых документов
    Возвращаемое значение тип multipart/byteranges - Содержимое документов
    Пример запроса
    POST /{{InstanceName}}/api/documents/content/download HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    
    {"DocumentIds":["9f8b1c78-3427-4bea-a078-491353d6b353", "02fc4840-f229-48a4-b03c-d1d278744ddf"]}
    
    Пример ответа
    HTTP/1.1 200
    status: 200
    Cache-Control: private
    Content-Length: 96
    multipart/byteranges; boundary="ba15f993-04dc-44f9-87cb-faef08de52d7"
    Server: Microsoft-IIS/10.0
    X-AspNet-Version: 4.0.30319
    Date: Tue, 27 Aug 2019 11:02:37 GMT
    
    --ba15f993-04dc-44f9-87cb-faef08de52d7
    Content-Type: application/octet-stream
    Content-Disposition: attachment; filename=file123.txt; name=9f8b1c78-3427-4bea-a078-491353d6b353
    123
    --ba15f993-04dc-44f9-87cb-faef08de52d7
    Content-Type: application/octet-stream
    Content-Disposition: attachment; filename=file456.txt; name=02fc4840-f229-48a4-b03c-d1d278744ddf
    456
    --ba15f993-04dc-44f9-87cb-faef08de52d7--
    
    Типовые ошибки
    HTTP код Код ошибки Описание
    200 object_not_found Документ не найден (объект ошибки в теле одной из частей запроса)
    500 - Внутренняя ошибка сервера
    Пример ошибки object_not_found

    Файл 99d8aeca-68a0-4985-bfc6-4891da69d1f8 найден, 6c67c768-3848-454a-b443-b039cdf357a2q - не найден.

    --c2d29a50-158a-4189-b992-e037bcc098e5
    Content-Type: application/octet-stream
    Content-Disposition: attachment; filename=file.pdf; name=99d8aeca-68a0-4985-bfc6-4891da69d1f8
    
    123
    --c2d29a50-158a-4189-b992-e037bcc098e5
    Content-Type: application/json
    Content-Disposition: attachment; name=6c67c768-3848-454a-b443-b039cdf357a2q
    
    {"Error":"object_not_found","ErrorDescription":"Документ не найден"}
    --c2d29a50-158a-4189-b992-e037bcc098e5--
    

    Изменение информации о документе

    Предназначен для изменения информации о документе.

    Параметр Значение
    HTTP-метод PATCH
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/info
    Параметры строки запроса id (обязательный), тип string - ID файла в СОД
    Тело запроса DocumentInfo - Информация о документе
    Пример запроса
    PATCH /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05 HTTP/1.1
    Content-Type: application/json
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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 - Внутренняя ошибка сервера

    Получение сконвертированного документа

    Предназначен для получения сконвертированного документа для отображения пользователю в веб-интерфейсе. Если документ не был сконвертирован - запрос запускает процедуру конвертации. Если конвертация документа не успевает завершиться к моменту таймаута ответа - возвращает в ответе код 202 без тела.

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/converted_content
    Параметры id (обязательный), тип string - ID файла в СОД
    Возвращаемое значение тип Stream - Содержимое сконвертированного документа
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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 - Внутренняя ошибка сервера

    Получение сконвертированного документа с указанием страницы

    Предназначен для получения сконвертированного документа для отображения пользователю в веб-интерфейсе. Если документ не был сконвертирован - запрос запускает процедуру конвертации. Если конвертация документа не успевает завершиться к моменту таймаута ответа - возвращает в ответе код 202 без тела.

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/converted_content/{startPage}?range={range}
    Параметры id (обязательный), тип string - ID файла в СОД
    Параметры startPage (обязательный), тип int - Номер страницы сконвертированного документа.
    Параметры range (опциональный), тип string - Число страниц для выборки. По умолчанию имеет значение 1.
    Возвращаемое значение тип Stream - Содержимое сконвертированного документа
    Возвращаемое значение, заголовок TotalPageCount тип int - общее число страниц в документе, если в запросе был указан параметр page_id
    Возвращаемое значение, заголовок ContentPageCount тип int - число страниц в возврщаемом документе, если в запросе был указан параметр page_id
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content/1?range=10 HTTP/1.1 
    
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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-метод POST
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/converted_content/
    Параметры id (обязательный), тип string - ID файла в СОД
    Возвращаемое значение ConvertedDocumentInfo - Информация о сконвертированном документе
    Пример запроса
    POST /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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
    
    {
        "OriginalDocument": "1671c6bb-7c16-47e2-9c26-7a3c9e388f05",
        "ConvertedFormat": "Pdf",
        "ConvertationStatus": "Completed"
    }
    
    Типовые ошибки
    HTTP код Код ошибки Описание
    202 - Запрос принят
    200 - Запрос обработан
    404 - Документ не найден
    500 - Внутренняя ошибка сервера

    Получение информации о сконвертированном документе

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/converted_content/info
    Параметры id (обязательный), тип string - ID файла в СОД
    Возвращаемое значение ConvertedDocumentInfo - Информация о сконвертированном документе
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/converted_content/info  HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    Accept-Encoding: gzip, deflate
    Content-Length:
    Connection: keep-alive
    
    Пример ответа
    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": "Completed"
    }
    
    Типовые ошибки
    HTTP код Код ошибки Описание
    404 - Документ не найден
    500 - Внутренняя ошибка сервера

    Получение информации о доступных преобразованиях для документа

    Предназначен для получения информации о доступных способах конвертации для документа.

    Параметр Значение
    HTTP-метод GET
    Путь https://{{hostname}}/{{InstanceName}}/api/documents/{id}/supported_convertations
    Параметры id (обязательный), тип string - ID файла в СОД.
    Возвращаемое значение тип List<DocumentConvertations> - информация о доступных способах конвертации для документа.
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/supported_convertations HTTP/1.1
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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://{{hostname}}/{{InstanceName}}/api/documents/{id}/preview?type={format}
    Параметры id (обязательный), тип string - ID файла в СОД.
    Параметры format (обязательный), тип string - Допустимые значения: Snippet, Document.
    Возвращаемое значение тип Stream - Содержимое сконвертированного документа.
    Возвращаемое значение, заголовок ContentHash тип string - he-строка, содержащая хэш-значение, вычисленное от содержимого ответа.
    Пример запроса
    GET /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05/preview?format=Snippet HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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://{{hostname}}/{{InstanceName}}/api/documents/{id}
    Параметры id (обязательный), тип string - ID файла в СОД
    Пример запроса
    DELETE /{{InstanceName}}/api/documents/1671c6bb-7c16-47e2-9c26-7a3c9e388f05 HTTP/1.1
    Authorization: Bearer eyJ0eXAiOiJ....c0XtQ25ZEsw
    Accept: */*
    Cache-Control: no-cache
    Host: {{hostname}}
    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 - Внутренняя ошибка сервера
    В начало © ООО "КРИПТО-ПРО", 2000–2025