Работа с доверенностями (МЧД)
Машиночитаемая доверенность (МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица.) — электронный документ с полномочиями представителя организации. HRlink хранит МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица., отправляет её на подписание УКЭПУКЭП Усиленная квалифицированная электронная подпись (QES). Имеет полную юридическую силу. HRlink не хранит закрытый ключ — он находится на ПК пользователя. и отдаёт по API в виде XML или архива с подписью.
Что получится в конце
После выполнения сценария HRlink сохранит МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица., переведёт её в подписание, примет УКЭПУКЭП Усиленная квалифицированная электронная подпись (QES). Имеет полную юридическую силу. HRlink не хранит закрытый ключ — он находится на ПК пользователя. и позволит получить доверенность по externalId.
Что нужно заранее
| Что нужно | Где получить |
|---|---|
tenantHost | Адрес тенантаTenant Экземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов. HRlink |
clientId | Текущий пользователь |
| Токен | Аутентификация |
| XML-файл МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. | В системе, которая формирует доверенность |
Файл отсоединённой подписи .sig | В системе подписания, если XML уже подписан |
externalId МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. | Идентификатор доверенности во внешней системе |
| Средство УКЭПУКЭП Усиленная квалифицированная электронная подпись (QES). Имеет полную юридическую силу. HRlink не хранит закрытый ключ — он находится на ПК пользователя. | На стороне клиента: КриптоПро CSP, Rutoken или другой криптопровайдер |
Какие методы используются
| Шаг | Метод |
|---|---|
| Загрузить XML и подпись | Загрузить файл |
| Импортировать МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. | Импорт МЧД |
| Отправить на подписание | Отправить МЧД на подписание |
| Подписать УКЭПУКЭП Усиленная квалифицированная электронная подпись (QES). Имеет полную юридическую силу. HRlink не хранит закрытый ключ — он находится на ПК пользователя. | Подписать МЧД УКЭП |
| Найти МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. | Получить МЧД по externalId |
Сценарий импорта МЧД
Шаг 1. Загрузить XML-файл доверенности
Загрузите XML доверенности через Загрузить файл. Если XML был подписан отсоединённой подписью — загрузите файл подписи .sig отдельным запросом. Сохраните fileId каждого файла для шага 2.
- curl
- PowerShell
- HTTP
curl -X POST "https://{tenantHost}/api/v1/files" \
-H "Accept: application/json" \
-H "User-Api-Token: {token}" \
-F "file=@/path/to/attorney.xml"
Invoke-RestMethod -Method Post `
-Uri "https://{tenantHost}/api/v1/files" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-Form @{ file = Get-Item "/path/to/attorney.xml" }
POST /api/v1/files HTTP/1.1
Host: {tenantHost}
Accept: application/json
User-Api-Token: {token}
Content-Type: multipart/form-data; boundary=----boundary
------boundary
Content-Disposition: form-data; name="file"; filename="attorney.xml"
Content-Type: application/xml
< /path/to/attorney.xml >
------boundary--
Шаг 2. Импортировать МЧД
Передайте fileId XML и fileId подписи в Импорт МЧД. В ответе сохраните attorney.externalId: по нему следующие методы получают, подписывают и скачивают МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица..
- curl
- PowerShell
- HTTP
curl -X POST "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/import" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Api-Token: {token}" \
-d '{
"xmlFileId": "{fileId XML}",
"signatureFileId": "{fileId подписи}"
}'
Invoke-RestMethod -Method Post `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/import" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-ContentType "application/json" `
-Body (@'
{
"xmlFileId": "{fileId XML}",
"signatureFileId": "{fileId подписи}"
}
'@)
POST /api/v1/clients/{clientId}/attorneys/import HTTP/1.1
Host: {tenantHost}
Accept: application/json
Content-Type: application/json
User-Api-Token: {token}
{
"xmlFileId": "{fileId XML}",
"signatureFileId": "{fileId подписи}"
}
Шаг 3. Отправить на подписание
Переведите МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. в статус подписания через Отправить МЧД на подписание. Метод принимает массив МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица.. В теле передайте externalId и текущую version доверенности — сервер увеличит её на 1 при успешном переходе статуса.
- curl
- PowerShell
- HTTP
curl -X PUT "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/sendToSigning" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Api-Token: {token}" \
-d '{"attorneys":[{"externalId":"ATT-001","version":1}]}'
Invoke-RestMethod -Method Put `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/sendToSigning" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-ContentType "application/json" `
-Body '{"attorneys":[{"externalId":"ATT-001","version":1}]}'
PUT /api/v1/clients/{clientId}/attorneys/sendToSigning HTTP/1.1
Host: {tenantHost}
Accept: application/json
Content-Type: application/json
User-Api-Token: {token}
{"attorneys":[{"externalId":"ATT-001","version":1}]}
Шаг 4. Подписать УКЭП
Получите подпись на стороне клиента (КриптоПро CSP, Rutoken, плагин в браузере) и передайте её в Base64 через Подписать МЧД УКЭП. Поле version — актуальная версия МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. после шага 3.
- curl
- PowerShell
- HTTP
curl -X PUT "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/sign" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Api-Token: {token}" \
-d '{
"signature": "{base64-подпись}",
"version": 2
}'
Invoke-RestMethod -Method Put `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/sign" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-ContentType "application/json" `
-Body (@'
{
"signature": "{base64-подпись}",
"version": 2
}
'@)
PUT /api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/sign HTTP/1.1
Host: {tenantHost}
Accept: application/json
Content-Type: application/json
User-Api-Token: {token}
{
"signature": "{base64-подпись}",
"version": 2
}
Создание доверенности через API
Если нужно создать запись МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. через API без импорта XML — используйте Создать МЧД. В теле передайте externalId, юрлицо, представителя, срок действия и полномочия.
- curl
- PowerShell
- HTTP
curl -X POST "https://{tenantHost}/api/v1/clients/{clientId}/attorneys" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Api-Token: {token}" \
-d '{
"legalEntityId": "{UUID юрлица}",
"externalId": "ATT-002",
"delegateClientUserId": "{UUID пользователя-представителя}",
"startDate": "2026-04-15",
"endDate": "2027-04-15",
"permissions": {
"textContent": "Подписание кадровых документов"
}
}'
Invoke-RestMethod -Method Post `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneys" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-ContentType "application/json" `
-Body (@'
{
"legalEntityId": "{UUID юрлица}",
"externalId": "ATT-002",
"delegateClientUserId": "{UUID пользователя-представителя}",
"startDate": "2026-04-15",
"endDate": "2027-04-15",
"permissions": {
"textContent": "Подписание кадровых документов"
}
}
'@)
POST /api/v1/clients/{clientId}/attorneys HTTP/1.1
Host: {tenantHost}
Accept: application/json
Content-Type: application/json
User-Api-Token: {token}
{
"legalEntityId": "{UUID юрлица}",
"externalId": "ATT-002",
"delegateClientUserId": "{UUID пользователя-представителя}",
"startDate": "2026-04-15",
"endDate": "2027-04-15",
"permissions": {
"textContent": "Подписание кадровых документов"
}
}
Получение доверенности по externalId
Чтобы найти МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. по идентификатору из вашей системы, вызовите Получить МЧД по externalId. Это удобно, когда attorneyId не сохранён на стороне интегратора.
- curl
- PowerShell
- HTTP
curl -X GET "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001" \
-H "Accept: application/json" \
-H "User-Api-Token: {token}"
Invoke-RestMethod -Method Get `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
}
GET /api/v1/clients/{clientId}/attorneysByExternalId/ATT-001 HTTP/1.1
Host: {tenantHost}
Accept: application/json
User-Api-Token: {token}
Скачивание архива и XML
Архив содержит XML-файл МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. и файл подписи в одном ZIP — используйте его для передачи МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. в другие системы. Отдельный XML нужен, когда сторонняя сторона запрашивает только тело доверенности без подписи.
- Архив — Скачать архив МЧД
- Только XML — Скачать XML МЧД
- curl
- PowerShell
- HTTP
# Скачать архив
curl -X GET "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/archive" \
-H "User-Api-Token: {token}" -o attorney.zip
# Скачать XML
curl -X GET "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/xml" \
-H "User-Api-Token: {token}" -o attorney.xml
# Скачать архив
Invoke-RestMethod -Method Get `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/archive" `
-Headers @{ "User-Api-Token" = "{token}" } `
-OutFile "attorney.zip"
# Скачать XML
Invoke-RestMethod -Method Get `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/xml" `
-Headers @{ "User-Api-Token" = "{token}" } `
-OutFile "attorney.xml"
GET /api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/archive HTTP/1.1
Host: {tenantHost}
User-Api-Token: {token}
GET /api/v1/clients/{clientId}/attorneysByExternalId/ATT-001/xml HTTP/1.1
Host: {tenantHost}
User-Api-Token: {token}
Реестр доверенностей
Список МЧДМЧД Машиночитаемая доверенность (Attorney) — электронный документ, подтверждающий полномочия представителя юридического лица. клиента с фильтрами и пагинацией отдаёт Получить реестр МЧД. Пагинация — через limit (количество элементов в ответе) и offset (смещение от начала списка).
- curl
- PowerShell
- HTTP
curl -X POST "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/getHrRegistry" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "User-Api-Token: {token}" \
-d '{"limit": 50, "offset": 0}'
Invoke-RestMethod -Method Post `
-Uri "https://{tenantHost}/api/v1/clients/{clientId}/attorneys/getHrRegistry" `
-Headers @{
"Accept" = "application/json"
"User-Api-Token" = "{token}"
} `
-ContentType "application/json" `
-Body '{"limit": 50, "offset": 0}'
POST /api/v1/clients/{clientId}/attorneys/getHrRegistry HTTP/1.1
Host: {tenantHost}
Accept: application/json
Content-Type: application/json
User-Api-Token: {token}
{"limit": 50, "offset": 0}
HRlink не хранит закрытый ключ УКЭПУКЭП Усиленная квалифицированная электронная подпись (QES). Имеет полную юридическую силу. HRlink не хранит закрытый ключ — он находится на ПК пользователя.. Ключ остаётся на стороне подписанта — на рабочей станции, токене или смарт-карте. API принимает только готовую Base64-подпись через поле signature.