Service Desk - API

Ведение

Api предоставляет интерфейс для взаимодействия с сервисом intradesk путем http запросов. Это удобный способ для получения и отправки данных для Вашей площадки без использования web-интерфейса. Не требуется никаких дополнительных настроек или инструментов, всё что нужно – описано ниже. Api является бесплатным и в то же время безопасным. Все запросы должны быть авторизованными, т.е. никто посторонний не сможет получить доступ к данным, не имея соответствующих прав. При наличии необходимых прав пользователи смогут выполнять требуемые действия с данными. Получение доступа описано ниже в данном разделе. К примеру, через api можно создать пользователя, оформить от его имени заявку и назначить на нее исполнителя, который, в случае правильно настроенных в системе уведомлений узнает об этом и начнет её выполнение.

Использование авторизации

Все запросы к API должны быть авторизованы. Есть два способа.
Первый способ - в параметрах каждого запроса необходимо передавать api-key. Второй способ – в заголовках каждого запроса передавать токен доступа.
Использование токена доступа является более безопасным способом авторизации.

ApiKey авторизация

Получение ключа:

API Key можно сгенерировать самостоятельно в настройках. Раздел Настройки-> Интеграции-> API Key

Внимание! При создании нового API Key старый перестает действовать.

Пример использования:

Выполним запрос на получение всех приоритетов используя api-key. Для этого в Postman выполним следующие действия:

  • в строке запроса укажем нужный путь и метод. В данном случае это GET https://apigw.intradesk.ru/settings/odata/priorities
  • в разделе «Авторизация» выберем тип APIKey
  • в появившихся полях заполним имя ключа «apikey», его значение, получение которого описано выше, расположение этого ключа в запросе «Add to» (Query params)
  • выполним запрос
  • получаем ответ, видим статус-код, сообщающий об успехе. В консоли можно увидеть, что к параметрам запроса был добавлен api key.

AccessToken

Получим токен используя приложение Postman.

POST https://login.intradesk.ru/connect/token

Заголовки запроса:

Content-Type: application/x-www-form-urlencoded

Тело запроса:

grant_type: password
scope: openid profile email custom.profile api offline_access
username: Konstantin.Artyukhin@intravision.ru
password: 12345 (нужно указать пароль пользователя указанного в username)
client_id: resourceowner
acr_values: tenant:bv.intradesk.ru (вместо bv.intradesk.ru, нужно указать правильный адрес, ещё пример mycompany.intradesk.ru)

Нажать Send, ответ будет содержать токен доступа:

Скопируйте токен(access_token) в буфер обмена.

Пример использования:

Выполним запрос на получение всех приоритетов используя токен доступа. Для этого в Postman выполним следующие действия:

  • в строке запроса укажем нужный путь и метод. В данном случае это GET https://apigw.intradesk.ru/settings/odata/priorities
  • в разделе «Авторизация» выберем тип Bearer Token
  • в появившееся поле заполним значение, получение которого описано выше

  • во вкладке «Headers» видим, что появился заголовок «Authorization». Еще один обязательный заголовок «Host» (в Postman заполняется автоматически)
  • выполним запрос
  • получаем ответ, видим статус-код, сообщающий об успехе. В консоли можно увидеть, что к заголовкам запроса были добавлены необходимые значения.

Внимание! Получаемый токен имеет ограниченное время жизни (4 часа).