Table of Contents |
---|
Важные замечания
- Пользовательская инструкция доступна по ссылке https://wiki.hr-link.ru/bin/view/Main/Administrator-/Spravochniki-/Pol%D1%8Czovatel%D1%8Cskie-spravochniki/
- В примерах используется массовая синхронизация пользовательских справочников, но управление справочниками доступно и через единичные методы https://docs.myhrlink.ru/public/openapi/hr-link/#tag/directoriesCustomStructures
- У администратора в UI HRlink есть возможность изменять загруженные справочники и их элементы. Изменения, которые внесет администратор в синхронизированных справочниках, будут потеряны при следующей выгрузке справочников через АПИ.
- В примерах используется аутентификация через мастер-токен, но допускается использовать User-Api-Token (токен администратора/кадровика, который получается под аватаркой в UI)
- В заголовках имперсонализации используются внешние идентификаторы пользователя, но допускается использовать другой доступный идентификатор (HRlink, из указанной системы и пр.).
Postman collection
View file | ||||
---|---|---|---|---|
|
Выгрузить пользовательские справочники в HRlink
...
Создать задачу массовой синхронизации данных
Переменная | Описание | Обязательность | ||
---|---|---|---|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да | ||
clientId | ИД клиента HRlink | да | ||
clientUserExternalId | Внешний ИД пользователя клиента | да | ||
Название пользовательского справочника | - | да | ||
Описание пользовательского справочника | - | нет | ||
Внешний ИД пользовательского справочника | - | да | ||
colourSchema | Цвет ярлыка и текста в нем. Для отображения на UI HRlink. Значение ограничено комбинациями:
| да | ||
Название элемента пользовательского справочника | - | да | ||
Внешний идентификатор элемента пользовательского справочника | - | да | ||
Внешний идентификатор руководителя элемента пользовательского справочника | - | нет | ||
Внешний идентификатор родительского относительно текущего элемента пользовательского справочника | - | нет |
Code Block | ||||
---|---|---|---|---|
| ||||
curl --location 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks' \ --header 'Impersonated-User-Id: {{clientUserExternalId}}' \ --header 'Impersonated-User-Id-Type: EXTERNAL_ID' \ --data '{ "type": "CUSTOM_STRUCTURES", "data": [ { "name": "{{Название пользовательского справочника}}", "description": "{{Описание пользовательского справочника}}", "externalId": "{{Внешний ИД пользовательского справочника}}", "colourSchema": { "background": "#E7E9ED", "text": "#576175" }, "elements": [ { "name": "{{ЭлементНазвание элемента пользовательского справочника}}", "externalId": "{{Внешний идентификатор элемента пользовательского справочника}}", "headManagerExternalId": "{{Внешний идентификатор руководителя элемента пользовательского справочника}}", "parentExternalId": "{{Внешний идентификатор родительского относительно текущего элемента пользовательского справочника}}" } ] } ] }' |
...
No Format |
---|
{ "result": true, "bulkDataSyncTask": { "id": "{{ИД задачи массовой синхронизации данных}}" } } |
Получить статус задачи массовой синхронизации
...
Code Block | ||||
---|---|---|---|---|
| ||||
curl --location 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks/{{ИД задачи массовой синхронизации данных}}' \ --header 'Impersonated-User-Id: {{clientUserExternalId}}' \ --header 'Impersonated-User-Id-Type: EXTERNAL_ID' \ --header 'Master-Api-Token: {{masterApiToken}}' |
...
No Format |
---|
{ "result": true, "bulkDataSyncTask": { "id": "{{ИД задачи массовой синхронизации данных}}", "type": "CUSTOM_STRUCTURES", "state": "FINISHED", "counts": { "total": 1, "succeeded": 1, "failed": 0 }, "createdDate": "{{Дата создания задачи массовой синхронизации данных}}", "data": [ { "id": "{{ИД справочника в HRlink}}", "externalId": "{{ИД справочника во внешней системе}}", "state": "SYNCED", "result": "UPDATED" } ] } } |
Присвоить сотрудникам
...
элементы пользовательских справочников
Переменная | Описание | Обязательность |
---|---|---|
tenantHost | Хост тенанта, на который должен быть выполнен запрос | да |
clientId | ИД клиента HRlink | да |
clientUserExternalId | Внешний ИД пользователя клиента | да |
employeeExternalId | Внешний ИД сотрудника пользователя клиента | да |
legalEntityExternalId | Внешний ИД юрлица клиента | нет |
elementExternalId | Внешний ИД элемента пользовательского справочника | да |
customStructureExternalId | Внешний ИД пользовательского справочника | да |
Code Block | ||||
---|---|---|---|---|
| ||||
curl --location 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--data '{
"type": "EMPLOYEE_CUSTOM_STRUCTURE_ELEMENTS",
"data": [
{
"externalId": "{{employeeExternalId}}",
"legalEntityExternalId": "{{legalEntityExternalId}}",
"customStructureElements": [
{
"externalId": "{{elementExternalId}}",
"customStructureExternalId": "{{customStructureExternalId}}"
}
]
}
]
}' |
Пример ответа
No Format |
---|
{
"result": true,
"bulkDataSyncTask": {
"id": "{{ИД задачи массовой синхронизации данных}}"
}
} |
Получить статус задачи массовой синхронизации
Code Block | ||||
---|---|---|---|---|
| ||||
curl --location 'https://{{tenantHost}}/api/v1/clients/{{clientId}}/bulkDataSyncTasks/{{ИД задачи массовой синхронизации данных}}' \
--header 'Impersonated-User-Id: {{clientUserExternalId}}' \
--header 'Impersonated-User-Id-Type: EXTERNAL_ID' \
--header 'Master-Api-Token: {{masterApiToken}}' |
Пример ответа
No Format |
---|
{
"result": true,
"bulkDataSyncTask": {
"id": "{{ИД задачи массовой синхронизации данных}}",
"type": "CUSTOM_STRUCTURES",
"state": "FINISHED",
"counts": {
"total": 1,
"succeeded": 1,
"failed": 0
},
"createdDate": "{{Дата создания задачи массовой синхронизации данных}}",
"data": [
{
"id": "{{employeeId}}",
"externalId": "{{employeeExternalId}}",
"state": "SYNCED",
"result": "UPDATED"
}
]
}
} |