Шаг 4. Запросы от имени пользователя
Интегратор передаёт мастер-токенMaster-Api-TokenМастер-токен для M2M-интеграций. Позволяет выполнять запросы от имени любого пользователя системы через заголовки Impersonated-User-Id. Получается через ESA с помощью сертификата интегратора. и идентификатор пользователя HRlink в каждом запросе к API тенантаTenantЭкземпляр системы HRlink на отдельном домене (например, company.hr-link.ru). Внутри одного тенанта может быть несколько пространств клиентов.. HRlink выполняет запрос с правами этого пользователя.
Обзор процесса → Шаг 1. Регистрация интегратора → Шаг 2. JWT интегратора → Шаг 3. Получение мастер-токена → Шаг 4. Запросы от имени пользователя
Результат шага
Интеграция получает ответ API с учётом ролей и прав пользователя из impersonationImpersonationВыполнение API-запросов от имени другого пользователя при использовании мастер-токена. Пользователь указывается через заголовки Impersonated-User-Id и Impersonated-User-Id-Type.-заголовков.
4.1. Выполнить запрос
Передайте masterToken в заголовке Master-Api-Token. В Impersonated-User-Id укажите идентификатор пользователя, а в Impersonated-User-Id-Type — тип этого идентификатора.
- curl
- PowerShell
- HTTP
curl -X GET "https://{tenantHost}/api/v2/currentUser" \
-H "Accept: application/json" \
-H "Master-Api-Token: {masterToken}" \
-H "Impersonated-User-Id: {userId}" \
-H "Impersonated-User-Id-Type: EXTERNAL_ID"
Invoke-RestMethod -Uri "https://{tenantHost}/api/v2/currentUser" `
-Method GET `
-Headers @{
"Accept" = "application/json"
"Master-Api-Token" = "{masterToken}"
"Impersonated-User-Id" = "{userId}"
"Impersonated-User-Id-Type" = "EXTERNAL_ID"
}
GET /api/v2/currentUser HTTP/1.1
Host: {tenantHost}
Accept: application/json
Master-Api-Token: {masterToken}
Impersonated-User-Id: {userId}
Impersonated-User-Id-Type: EXTERNAL_ID
4.2. Выбрать идентификатор пользователя
| Заголовок | Обязательность | Описание |
|---|---|---|
Impersonated-User-Id | Да | Идентификатор пользователя |
Impersonated-User-Id-Type | Да | Тип идентификатора: HR_LINK_ID, SNILS или EXTERNAL_ID |
Impersonated-User-Id-External-System-Type | Нет | Тип внешней системы для EXTERNAL_ID из массива userExternalIds |
Используйте:
EXTERNAL_ID— если при синхронизации сотрудников передаётеexternalId;HR_LINK_ID— если знаете внутренний UUID пользователя HRlink;SNILS— если знаете СНИЛС физического лица.
Предыдущий шаг — получить мастер-токен.