IntraVision

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

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

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

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())
- поиск по телефонам описан в Статья №4766

Роль
содержит любое из:  $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@mytestcompany.ru",
"roles": [
{
"roleId": 349
}
],
"groups": [
{
"id": 564,
"userGroupId": 352,
"userId": 957,
"userGroup": {
"id": 352,
"name": "My test company"
},
"isDefault": false
}
],
"userTags": [
{
"userId": 957,
"tagId": 188,
"tag": {
"id": 188,
"name": "My test tag"
}
}
],
"isArchived": false,
"phoneNumbers": [
{
"phoneNumber": "1238887745",
"default": false
}
],
"phoneNumber": null,
"userClientFieldValues": [
{
"userFieldId": 10,
"value": "Клиент А"
},
{
"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": "Клиент А",
"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"
},
"updatedBy": "Администратор системы",
"timeZoneCode": "Europe/Moscow",
"emailConfirmed": false
}
]
}

Формат данных пользователя сотрудника
"id – число, идентификатор,
"updatedAt" – дата, дата последнего изменения
"name" – строка, ФИО пользователя клиента (составляется из 3х полей: имя, фамилия отчество)
"firstName" – строка, имя клиента
"lastName" – строка, фамилия клиента
"middleName" - строка, отчество
"email" – строка, емейл клиента
"roles" – массив, роли клиента (подробнее ниже в Формат роли для клиента)
"groups": массив, компании клиента (подробнее ниже в Формат списка компаний для клиента)
"userTags" – массив, список тегов клиента (подробнее ниже в Формат списка тегов клиента)
"isArchived" – булевый признак, удален ли клиент (заархивирован)
"phoneNumbers" – массив, список телефонов клиента (подробнее ниже в Формат телефонов клиента)
"workingScheduleId" – число, иожет быть null. Идентификатор расписания. Только для пользователей типа сотрудников.
"phoneNumber" – строка, номер телефона (10 цифр, без кода страны) клиента по умолчанию. Если по умолчанию нет - пусто
"userClientFieldValues" - массив, значения дополнительных полей клиента с идентификаторами (описание ниже в Формат данных значений дополнительных полей с идентификаторами).
"fields" - словарь значений дополнительных полей клиента с алиасами полей (описание ниже в Формат данных значений дополнительных полей с алиасами)
"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
Клиенты