IntraVision

IntraDesk API. Получение списка компаний.

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

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

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=(PhoneNumbers/any())
- не заданы- $filter=(not PhoneNumbers/any())

Название
- содержит строку- $filter=(contains(name, 'строка поиска'))

Описание
- cодержит строку- $filter=(contains(description, 'строка поиска'))

Удалена
- да - $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": "тестовая компания для примера",
"address": "г. Москва, ул. Академика Королева, 13",
"phoneNumber": "4956667766",
"email": " imformation@ mycompanydomen1.ru ",
"web": "https://mycompany-website.ru",
"additionalInfo": "дополнительная информация тут",
"updatedAt": "2021-04-16T07:04:17.5110600Z",
"name": "My company test ",
"domains": [
"mycompanydomen1.ru",
"mycompanydomen2.ru"
],
"isArchived": false,
"groupTags": [
{
"userGroupId": 353,
"tagId": 188,
"tag": {
"id": 188,
"name": "My company tag"
}
}
],
"phoneNumbers": [
{
"phoneNumber": "4956667766",
"default": false
}
],
"userGroupFieldValues": [
{
"userGroupFieldId": 82,
"value": "27"
}
],
"fields": {
"addfield_dop_chislo1Number": "27"
},
"updatedBy": "Тестовый Пользователь Васильевич",
"timeZoneCode": "Europe/Moscow"
}
]
}

Описание ответа:
"value" - массив компаний (описание ниже в разделе "Формат данных компаний")
"@odata.count " – общее количество найденных компаний (игнорируя страницы с skip и top)

Формат данных компаний

"id" - число, идентификатор компании
"description" - строка, описание
"address"  строка, адрес
"phoneNumber" - строка, телефоны через запятую, без кода, только 10 цифр без кода страны
"email" - строка, email компании
"web" - строка, сайт компании
"additionalInfo" - строка, примечание
"updatedAt" - дата последнего обновления данных компании
"name" - строка, название компании
"domains" - массив строк, домены компании
"isArchived" - булевый признак, удалена ли компания (в архиве)
"groupTags" - массив, теги компании (описание ниже в Формат данных тегов компании)
"phoneNumbers" - массив, телефоны компании (описание ниже в Формат данных телефонов компании)
"userGroupFieldValues" - массив значений доп полей с идентификаторами (описание ниже в Формат данных значений доп полей с идентификаторами)
"fields" - словарь значений доп полей компании с алиасами полей (описание ниже в Формат данных значений доп полей с алиасами)
"updatedBy" - строка, последний обновивший данные компании,
"timeZoneCode" - таймзона компании

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

Формат данных тегов компании
"userGroupId": число, идентификатор компании
"tagId": число, идентификатор тега
"tag": информация о теге (подробнее в Формат данных тега)

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

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

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