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 - будет подсчитано количество пользователей сотрудников, удовлетворяющих запросу
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=(contains(searchField, 'строка поиска'))
Теги
содержит любое из: $filter=((tags/any(s: s/tagId eq {tagid}))
Телефоны
- заданы - $filter=(PhoneNumberList/any())
- не заданы- $filter=(not PhoneNumberList/any())
- заданы - $filter=(PhoneNumberList/any())
- не заданы- $filter=(not PhoneNumberList/any())
Роль
содержит любое из: $filter=((roles/any(s: s/roleId eq {roleId})))
Удален
- да- $filter=(isArchived eq true)
- нет - $filter=(isArchived eq false)
- да- $filter=(isArchived eq true)
- нет - $filter=(isArchived eq false)
Response:
Пример ответа:
{
"@odata.count": 1,
"value": [
{
}
Формат данных пользователя сотрудника
"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» - строка, значение дополнительного поля
"@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» - строка, значение дополнительного поля