IntraDesk API. Получение списка групп сотрудников.
Каждый запрос к IntraDesk API должен содержать токен авторизации в заголовке authorization, см. Статья №1229
GET https://apigw.intradesk.ru/settings/odata/EmployeeGroups
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 - будет подсчитано количество групп, удовлетворяющих запросу
Фильтрация списка
Аналог строки поиска (поиск совпадения строки в полях название, описание, телефоны)
$filter=(contains(searchField, 'строка поиска'))
Телефоны
- заданы - $filter=(PhoneNumbers/any())
- не заданы- $filter=(not PhoneNumbers/any())
Название
- содержит строку- $filter=(contains(name, 'строка поиска'))
Описание
- cодержит строку- $filter=(contains(description, 'строка поиска'))
Расписание
- cодержит любое из - $filter=(workingScheduleId eq {id}) , где {id} – идентификатор расписания
- задано - $filter=(workingScheduleId ne null)
- не задано - $filter=(workingScheduleId eq null)
Удалена
- да - $filter=(isArchived eq true)
- нет - $filter=(isArchived eq false)
Пример использования нескольких фильтров
- Не удалена и задан номер телефона - $filter=(isArchived eq true) and
- Не удалена, задано расписание с идентификатором 12 или расписание с идентификатором 35 - $filter=(isArchived eq true) and ((workingScheduleId eq 12) or (workingScheduleId eq 35))
Аналог строки поиска (поиск совпадения строки в полях название, описание, телефоны)
$filter=(contains(searchField, 'строка поиска'))
Телефоны
- заданы - $filter=(PhoneNumbers/any())
- не заданы- $filter=(not PhoneNumbers/any())
Название
- содержит строку- $filter=(contains(name, 'строка поиска'))
Описание
- cодержит строку- $filter=(contains(description, 'строка поиска'))
Расписание
- cодержит любое из - $filter=(workingScheduleId eq {id}) , где {id} – идентификатор расписания
- задано - $filter=(workingScheduleId ne null)
- не задано - $filter=(workingScheduleId eq null)
Удалена
- да - $filter=(isArchived eq true)
- нет - $filter=(isArchived eq false)
Пример использования нескольких фильтров
- Не удалена и задан номер телефона - $filter=(isArchived eq true) and
- Не удалена, задано расписание с идентификатором 12 или расписание с идентификатором 35 - $filter=(isArchived eq true) and ((workingScheduleId eq 12) or (workingScheduleId eq 35))
Response:
Пример ответа:
{
"@odata.count": 1,
"value": [
{
"id": 353,]
"description": "тестовая группа для примера",
"phoneNumber": "4956667766",
"updatedAt": "2021-04-16T07:04:17.5110600Z",
"name": "My company test ",
"type": 30,
"isArchived": false,
"phoneNumbers": [
{"phoneNumber": "4956667766",}
"default": false
],
"workingScheduleId": 15,
"updatedBy": "Тестовый Пользователь Васильевич",
"timeZoneCode": "Europe/Moscow"
}
}
Описание ответа:
"value" - массив групп сотрудников (описание ниже в разделе "Формат данных компаний")
"@odata.count " – общее количество найденных групп (игнорируя страницы с skip и top)
Формат данных группы сотрудников
"id" - число, идентификатор групп
"description" - строка, описание
"phoneNumber" - строка, телефоны через запятую, без кода, только 10 цифр без кода страны
"updatedAt" - дата последнего обновления данных группы сотрудников
"name" - строка, название группы
"type" - число, тип группы сотрудников– «Группа сотрудников» = 30
"isArchived" - булевый признак, удалена ли группа (в архиве)
"phoneNumbers" - массив, телефоны группы сотрудников (описание ниже в Формат данных телефонов группы сотрудников)
"workingScheduleId" - число, идентификатор рабочего расписания
"updatedBy" - строка, последний обновивший данные компании,
"timeZoneCode" - таймзона компании
Формат данных телефонов группы сотрудников
"phoneNumber": номер телефона, строка 10 цифр (без кода страны)
"default": булевый признак, признак по умолчанию или нет (может быть только 1н по умолчанию)