6.5 Конвертация паспорта документа в цифровой документ «Служебное письмо»
Через запрос к API «Портала ГосЭДО» можно выполнить конвертацию паспорта документа в электронном виде формата МЭДО 2.7.1 (passport.xml) в цифровой документ по виду документа «Служебное письмо» (digital.xml) с помощью команды convertMedoXmlToDigitalXML.
Команда: convertMedoXmlToDigitalXML
Действие:
Конвертирует паспорт документа в электронном виде формата МЭДО 2.7.1 (passport.xml) в цифровой документ по виду документа «Служебное письмо» (вид документа «Doc01-004-00001» согласно справочнику НСИ Cat01-002-00002 «Виды электронных документов»). При этом в результирующем файле digital.xml файл основного документа (PDF) указывается как приложение к цифровому документу.
Параметры:
- xml (файл) – паспорт документа МЭДО в формате XML (passport.xml).
Возвращаемый результат:
Возвращает файл XML (digital.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 Портала ГосЭДО: конвертация passport.xml в "Служебное письмо" digital.xml -->
<script>
// функция, которая выполняется при нажатии кнопки «Конвертировать паспорт в "Служебное письмо"»
async function convertPassport() {
//Получение в переменную myValue файла XML, выбранного в поле file
myValue = document.querySelector('#file').files[0];
//передача параметров в функцию fetchAdapterService:
//Команда: convertMedoXmlToDigitalXML
//Параметр: xml
//Значение параметра: myValue (файл)
//сохранить результат как digital.xml
fetchAdapterService('convertMedoXmlToDigitalXML', 'xml', myValue, 'digital.xml');
}
</script>
<!--поле выбора файла, нужно выбрать файл passport.xml из транпортного контейнера МЭДО-->
<input id="file" type="file">
<!-- кнопка для запуска конвертации паспорта (passport.xml), выбранного в поле file-->
<button onclick="convertPassport()">Конвертировать паспорт в "Служебное письмо"</button>