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 - будет подсчитано количество компаний, удовлетворяющих запросу
Response:
Пример ответа:
{
"@odata.count": 1,
"value": [
{
}
Описание ответа:
"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» - строка, значение дополнительного поля
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, 'строка поиска'))
Аналог строки поиска (поиск совпадения строки в полях название, описание, телефоны, 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))
- заданы - $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))
Пример ответа:
{
"@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» - строка, значение дополнительного поля