IntraVision

IntraDesk API. Получение списка сотрудников (пользователей)

Каждый запрос к IntraDesk API должен содержать токен авторизации в заголовке authorization, см. Статья №1229

GET https://apigw.intradesk.ru/settings/odata/Employees

Headers:
content-type: application/json
authorization: Bearer {указываем_токен_доступа}

Параметры запроса:
?$skip=0&$orderby= name%20desc&$top=30&$filter={параметры фильтрации}&$count=true
$skip - количество пользователей сотрудников, которое нужно пропустить, используется для постраничного листания сотрудников
$top - количество пользователей сотрудников, которое нужно вернуть, используется для постраничного листания сотрудников
$orderby - название поля для сортировки в списке
$filter - используется для фильтрации списка пользователей сотрудников. “$filter=(isArchived eq false)" для вывода всех не удаленных записей (не архивных)
$count - true - будет подсчитано количество пользователей сотрудников, удовлетворяющих запросу

Фильтрация списка
Аналог строки поиска (поиск совпадения строки в полях ФИО, телефоны, email, дополнительных полях типа текст и строка)
$filter=(contains(searchField, 'строка поиска'))

Теги
содержит любое из: $filter=((tags/any(s: s/tagId eq {tagid}))

Телефоны
- заданы - $filter=(PhoneNumberList/any())
- не заданы- $filter=(not PhoneNumberList/any())

Роль
содержит любое из:  $filter=((roles/any(s: s/roleId eq {roleId})))

Удален
- да- $filter=(isArchived eq true)
- нет - $filter=(isArchived eq false)

Response:
Пример ответа:
{
"@odata.count": 1,
"value": [
{
"id": 957,
"updatedAt": "2021-04-19T06:25:14.0595690Z",
"name": "Иванова Ольга Андреевна",
"firstName": "Ольга",
"lastName": "Иванова",
"middleName": "Андреевна",
"email": "ivanova@mytestgroup.ru",
"roles": [
{
"roleId": 349
}
],
"groups": [
{
"id": 564,
"userGroupId": 352,
"userId": 957,
"userGroup": {
"id": 352,
"name": "My test group"
},
"isDefault": false
}
],
"userTags": [
{
"userId": 957,
"tagId": 188,
"tag": {
"id": 188,
"name": "My test tag"
}
}
],
"isArchived": false,
"phoneNumbers": [
{
"phoneNumber": "1238887745",
"default": false
}
],
"workingScheduleId": null,
"phoneNumber": null,
"userFieldValues": [
{
"userFieldId": 10,
"value": "Сотрудник2"
},
{
"userFieldId": 8,
"value": "21"
},
{
"userFieldId": 9,
"value": "строка"
},
{
"userFieldId": 376,
"value": null
},
{
"userFieldId": 378,
"value": null
},
{
"userFieldId": 379,
"value": "2021-04-20T21:00:00.000Z"
},
{
"userFieldId": 380,
"value": "true"
}
],
"fields": {
"addfield_dop_spisokSingleSelect": "Сотрудник2",
"addfield_dop_chisloNumber": "21",
"addfield_dop_strokaString": "строка",
"addfield_dop_tekstText": null,
"addfield_dop_mn_vyborMultiSelect": null,
"addfield_dop_dataDateTime": "2021-04-20T21:00:00.000Z",
"addfield_dop_da_netBoolean": "true"
},
"activeTaskNumber": null,
"updatedBy": "Администратор системы",
"timeZoneCode": "Europe/Moscow",
"emailConfirmed": false
}
]
}

Формат данных пользователя сотрудника
"id – число, идентификатор,
"updatedAt" – дата, дата последнего изменения
"name" – строка, ФИО сотрудника (составляется из 3х полей: имя, фамилия отчество)
"firstName" – строка, имя сотрудника
"lastName" – строка, фамилия сотрудника
"middleName" - строка, отчество
"email" – строка, емейл сотрудника
"roles" – массив, роли сотрудника (подробнее ниже в Формат роли для сотрудника)
"groups": массив, группы сотдруника (подробнее ниже в Формат списка групп для сотрудника)
"userTags" – массив, список тегов сотрудника (подробнее ниже в Формат списка тегов сотрудника)
"isArchived" – булевый признак, удален ли сотрудник (заархивирован)
"phoneNumbers" – массив, список телефонов сотрудников (подробнее ниже в Формат телефонов сотрудника)
"workingScheduleId" – число, идентификатор расписания сотрудника
"phoneNumber" – строка, номер телефона (10 цифр, без кода страны) сотрудника по умолчанию. Если по умолчанию нет - пусто
"userFieldValues" – массив, значения дополнительных полей сотрудника с идентификаторами (описание ниже в Формат данных значений дополнительных полей с идентификаторами).
"fields" - словарь значений дополнительных полей с алиасами полей (описание ниже в Формат данных значений дополнительных полей с алиасами)
"activeTaskNumber" – число, номер активной заявки сотрудника
"updatedBy" – строка, последний обновивший данные по сотруднику
"timeZoneCode" – таймзона сотрудника
"emailConfirmed" – булевый признак, подтвержден ли емейл сотрудника


Формат роли для сотрудника
"roleId" – число, идентификатор роли пользователя

Формат списка групп для сотрудника
"id" – число, идентификатор связки «сотрудник» - «группа сотрудников»
"userGroupId" – число, идентификатор группы сотрудников
"userId" – число, идентификатор пользователя сотрудника
"userGroup" – объект, описание группы сотрудника (подробнее ниже в Формат группы сотрудника)
"isDefault" – булевый признак, является ли группа для сотрудника по умолчанию

Формат группы сотрудника
"id" – число, идентификатор группы сотрудника
"name" – строка, название группы сотрудника

Формат списка тегов сотрудника
"userId" – число, идентификатор пользователя
"tagId" – число, идентификатор тега
"tag" – объект, описание тега (подробнее ниже в Формат описания тега)

Формат описания тега
"id" – число, идентификатор тега
"name" – строка, название тега

Формат телефонов сотрудника
"phoneNumber" – строка, номер телефона, строка 10 цифр (без кода страны)
"default" - булевый признак, признак по умолчанию или нет (может быть только 1н по умолчанию)

Формат данных значений дополнительных полей с идентификаторами
"userFieldId" – число, идентификатор дополнительного поля
"value" – строка, значение дополнительного поля

Формат данных значений дополнительных полей с алиасами
{userFieldAlias}: {value}
где
«userFieldAlias» - строка, алиас дополнительного поля пользователя сотрудника
«value» - строка, значение дополнительного поля
API
Клиенты