Маршруты согласования volrix.pm: шаблоны маршрутов, заявки, решения участников, заместители, файлы и лист согласования. Права и примеры.
Обновлено 27.09.2026
Согласование в volrix.pm строится из двух частей. **Маршрут** (/approval-routes) - шаблон: этапы, участники и требование подписанта. **Заявка** (/approval-requests) - запуск маршрута для конкретного объекта: документа, письма, поручения, задачи и других. Участники принимают решения по своим шагам, после согласования заявку можно передать на подписание.
**Что принимает API-ключ.** Маршруты, создание и чтение заявок, файлы, лист согласования и история - по скоупам approval_routes:... и approvals:.... Решения по шагам (согласовать, отклонить, делегировать), отмена заявки и заместители выполняются только в сессии самого участника: решение нельзя принять за другого человека ключом.
Базовый адрес, формат ответов и коды ошибок описаны в статье API: адрес, первый запрос и ответы, выпуск ключа и вход под пользователем - в статье API: вход, токен и API-ключи. В примерах ключ лежит в переменной окружения VOLRIX_API_KEY, токен пользователя - в VOLRIX_TOKEN.
Шаг участника проходит статусы waiting, in_progress, approved, rejected или delegated. Возврат инициатору не мешает новой подаче: прежняя попытка и комментарии остаются в истории (0.110.5).
Все заявки по объекту, по ключу (скоуп approvals:read):
curl --fail-with-body -sS \ -H "X-Api-Key: $VOLRIX_API_KEY" \ "https://ваш-адрес/api/v1/approval-requests?target_type=custom_document&target_id=5d0c..."
Решение участника от его имени (сессия):
curl --fail-with-body -sS -X POST \ -H "Authorization: Bearer $VOLRIX_TOKEN" \ -H "Content-Type: application/json" \ -d '{"comment": "Замечаний нет"}' \ "https://ваш-адрес/api/v1/approval-requests/{request_id}/steps/{step_id}/approve"
Как читать колонку «Доступ»: **скоуп вида users:read** - маршрут принимает API-ключ, если в ключе есть этот скоуп, а у сотрудника, выпустившего ключ, есть такое же право в роли (users.read). Если скоупов несколько через «+», нужны все. **Только сессия** - нужен заголовок Authorization: Bearer, API-ключ получит 403. **Без авторизации** - заголовки не нужны. Доступ к конкретному объекту (участие в проекте, права на папку Диска) сервер проверяет дополнительно. Пути в таблицах указаны полностью, от корня сервера.
Поля JSON и форм multipart из схемы сервера. «Да» - поле обязательно. Ссылка на другую схему (например, array[QCApproverInput]) означает вложенный объект с теми же полями.
Запустить маршрут и принять решение
Этапы, участники и контрольный запуск
Подготовка рабочего места и проверка