Серви сные аккаунты в Tracer предоставляют возможность выполнять операции от имени системы.
Чтобы включить фичу в вашей организации, обратитесь в чат поддержки.
Если вы хотите создать сервисный аккаунт с доступом к конкретному проекту – перейдите в раздел Проект, если ко всей Организации – в раздел Организация


Сервисный аккаунт появится в списке пользователей вашего проекта или организации:

Для авторизации сервисного аккаунта в сессии необходимо 2 токена:
| Токен | Описание |
|---|---|
refreshToken | Используется для генерации/обновления сервисного токена для авторизации сервисного аккаунта в сессии. |
serviceRefreshToken | Сервисный токен для авторизации аккаунта в сессии. Может протухнуть. |
Сгенерировать refreshToken можно в разделе Пользователи:

После генерации получите новый токен, сохраните его в надежное место. Если у аккаунта уже был refreshToken, он станет невалидным. При утере его придётся сгенерировать заново.
Для генерации токена служит метод: https://web-api.apptracer.ru/api/auth/issueServiceToken
В параметрах запроса необходимо передать refreshToken в качестве «X-Service-Refresh-Token-Header»:
fetch("https://web-api.apptracer.ru/api/auth/issueServiceToken", { "headers": { "content-type": "application/json;charset=utf-8", "v": "2", "x-service-refresh-token-header": "your token", }, "body": "{}", "method": "POST" });
В заголовках ответа вернётся «X-Refresh-Token-Header» – это и есть постоянный токен авторизации сервисного аккаунта в текущей се ссии. Авторизационный токен можно подставлять в tkn в параметры запросов до тех пор, пока он не потухнет – после этого токен нужно сгенерировать заново.
// Например, для: fetch("https://web-api.apptracer.ru/api/user/get", { "headers": { ... "tkn": "токен из X-Refresh-Token-Header" }, ... }); // Получим: {"id":12345,"name":"serviceuser","userType":"SERVICE"}
Пользовательский метод для создания сервисного аккаунта.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
appId | Long | Да, если не указан orgId | id проекта. При указании этого параметра сервисный аккаунт будет создан для проекта. |
orgId | Long | Да, если не указан appId | id организации. Если указать только его, сервисный аккаунт будет создан для организации. |
name | String | Да | Имя сервисного аккаунта |
role | String | Да | Роль сервисного аккаунта |
Возвращает:
| Параметр | Тип | Описание |
|---|---|---|
userId | long | id сервисного аккаунта |
Метод генерирует refreshToken для сервисного аккаунта.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
userId | long | Да | id сервисного аккаунта |
Возвращает:
| Параметр | Тип | Описание |
|---|---|---|
success | boolean | Статус запроса |
refreshToken | String | Постоянный токен для генерации токена авторизации в сессии |
Метод генерирует serviceRefreshToken – авторизационный токен для сервисного аккаунта.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
x-service-refresh-token-header | String | Да | refreshToken сервисного аккаунта |
Возвращает в ответе:
| П араметр | Тип | Описание |
|---|---|---|
success | boolean | Статус запроса |
refreshToken | String | Постоянный токен для генерации токена авторизации в сессии |
Возвращает в header:
| Параметр | Описание |
|---|---|
x-refresh-token-header | Авторизационный токен сессии для сервисного аккаунта |