6.6 Конвертация контейнера МЭДО в контейнер цифрового документа «Служебное письмо»

Через запрос к API «Портала ГосЭДО» можно выполнить конвертацию контейнера документа в электронном виде формата МЭДО 2.7.1 в контейнер цифрового документа «Служебное письмо» с помощью команды convertMedoContainerToDigitalContainer.

Команда: convertMedoContainerToDigitalContainer

Действие:

Конвертирует контейнер документа в электронном виде формата МЭДО 2.7.1 (document.edc.zip) в контейнер цифрового документа (document.gosx) вида «Служебное письмо» (вид документа «Doc01-004-00001»). При этом файл основного документа (PDF) помещается в контейнер как приложение к цифровому документу.

Параметры:

  • zip (файл) – контейнер документа МЭДО в формате ZIP (document.edc.zip).

Возвращаемый результат:

Возвращает контейнер цифрового документа (document.gosx), полученный в результате конвертации. Формат цифрового документа «GOSX» является ZIP-архивом, включающим файл структурированных данных документа (XML), файлы приложений к цифровому документу и файлы подписей.

Пример реализации в JavaScript:

<!--- REST API Портала ГосЭДО: сервисы для цифровых документов -->
<!--- Для вызова используется REST API http(s)://server-url/#/SERVICE-->
<script>
    async
    function fetchAdapterService(myAction, myKey, myValue, saveAsFile, mySession = 'NONE') {
        // Пример адреса для обращения к сервисам, если Портал ГосЭДО доступен по IP 10.77.142.21:84
        RESTAPIURL = 'http://10.77.142.21:84/api/service';
        const formData = new FormData();
        formData.append('action', myAction);
        formData.append(myKey, myValue);
        if (mySession != 'NONE') formData.append('session_id', mySession);
        var object = {};
        formData.forEach(function(value, key) {
            object[key] = value;
        });
        const response = await fetch(RESTAPIURL, {
            method: 'POST',
            body: formData
        }).
        catch((error) = >{});
        if (response.status == 200) {
            //Присвоение в переменную file ответа
            let file = await response.blob();
            let link = document.createElement("a");
            link.href = window.URL.createObjectURL(file);
            link.download = saveAsFile;
            link.click();
        }
    }
</script>
<!--- REST API Портала ГосЭДО: конвертация контейнера МЭДО в контейнер цифрового документа "Служебное письмо" -->
<script>
    // функция, которая выполняется при нажатии кнопки «Конвертировать контейнер»
    async
    function convertContainer() {
        //Получение в переменную myValue файла document.edc.zip, выбранного в поле file
        myValue = document.querySelector('#file').files[0];
        //передача параметров в функцию fetchAdapterService:
        //Команда: convertMedoContainerToDigitalContainer
        //Параметр: zip
        //Значение параметра: myValue (файл)
        //сохранить результат как document.gosx
        fetchAdapterService('convertMedoContainerToDigitalContainer', 'zip', myValue, 'document.gosx');
    }
</script>
<!--поле выбора файла, нужно выбрать файл document.edc.zip из транспортного контейнера МЭДО-->
<input id="file" type="file">
<!-- кнопка для запуска конвертации контейнера, выбранного в поле file-->
<button onclick="convertContainer()">Конвертировать контейнер</button>
Последнее изменение: Wednesday, 26 June 2024, 14:38