6.9 Получение информации о состоянии цифрового процесса
Через запрос к API «Портала ГосЭДО» можно запросить актуальное состояние координации по цифровому процессу с помощью команды getProcessInfo.
Команда: getProcessInfo
Действие:
Возвращает актуальное состояние координации по процессу.
Параметры:
- process_guid (строка) – уникальный идентификатор цифрового процесса (ПроцессУУИД).
- session_id (строка от 16 символов, опционально) – ID сессии (песочницы) в рамках которой организована изоляция данных.
Возвращаемый результат:
Возвращает данные в формате json, содержащие набор массивов со сведениями о процессе:
- info ([массив]) - информация о процессе;
- events ([массив]) - события в ходе процесса;
- things ([массив]) - предметы контроля по процессу;
- things_data ([массив]) - реквизиты предметов контроля;
- things_statuses ([массив]) - состояния предметов контроля.
Пример реализации в 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 getProcessInfo() {
myValue = '1a3340e4-207e-4f7d-95c1-4d7c02d9d7ad';
//передача параметров в функцию fetchAdapterService:
//Команда: getProcessInfo
//Параметры: process_guid, session_id
//Значение параметра: myValue = 'ПроцессУУИД' (уникальный идентификатор процесса)
//сохранить результат как response.json
fetchAdapterService('getProcessInfo', 'process_guid', myValue, 'response.json', document.querySelector('#sessionId').value);
}
</script>
<!-- поле для ввода идентификатора сессии -->
<input id="sessionId" type="text" placeholder="session_id (от 15 знаков)"/>
<!-- кнопка инициации выполнения запроса-->
<button onclick="getProcessInfo()">Получить данные процесса</button>
С выполнением демонстрационного примера по описанной функции можно ознакомиться в разделе 4.9 Демонстрация получения информации о состоянии цифрового процесса.
Последнее изменение: Wednesday, 26 June 2024, 14:17