Перейти до основного вмісту

Authorization/Login

URI: /account/login/

Метод використовується на початку зміни для авторизації за логіном і паролем від Skarb Cloud. Параметри відповіді залежать від налаштувань двофакторної автентифікації (2FA).

Запит виконується методом POST з тілом запиту у json форматі.

Заголовки

Запит обов'язково повинен мати заголовок Content-Type: application/json, інакше запит буде вважатися некоректним навіть при валідному JSON у ньому.

Для підтвердження запиту користувача API необхідно передавати заголовок API-Key.

інформація

Використовуйте отриманий token у заголовку Authorization для всіх наступних запитів до API:

Authorization = "Bearer abc123..."

попередження

Тимчасовий pre_auth_token дійсний лише 5 хвилин. Якщо час вичерпано, повторіть логін

Параметри запиту

Ім'яТипОбов'язковийОпис
emailstringТакЕлектронна пошта співробітника (логін для авторизації в Skarb Cloud)
passwordstringТакПароль співробітника для авторизації в Skarb Cloud

Приклад запиту

Запит: /account/login/
{
"email": "[email protected]",
"password": "secret"
}

Параметри відповіді

Ім'яТипОпис
dataobjectДані авторизації
data.tokenstringТокен користувача для авторизації (без 2FA)
data.urlstringПосилання для авторизації в eHealth (без 2FA)
data.pre_auth_tokenstringТокен користувача для авторизації (для 2FA)
data.qr_code_urlstringПосилання для авторизації в eHealth *(для 2FA тільки перший вхід)
data.qr_code_base64stringТокен користувача для авторизації *(для 2FA тільки перший вхід)

Приклад успішних відповідей

200 OK

Без 2FA

Успішна відповідь: /account/login/
{
"data": {
"token": "97jJdHs9vkl9TvfkDl0n6VY6QgFRVQQt",
"url": "...url for eHealth authorizitation..."
}
}

2FA перший вхід

Успішна відповідь: /account/login
{
"data": {
"pre_auth_token": "xyz789...",
"qr_code_url": "otpauth://totp/SkarbCloud:[email protected]?secret=BASE32SECRET&issuer=SkarbCloud",
"qr_code_base64": "iVBORw0KGgoAAA..."
}
}

2FA Регулярний вхід (автентифікатор уже налаштовано)

Відповідь: /account/login
{
"data": {
"pre_auth_token": "xyz789..."
}
}

Приклади неуспішних відповідей

Некоректний email

422 Unprocessable Entity (WebDAV) (RFC 4918)

Неуспішна відповідь: /account/login/
{
"errors": {
"email": "not found"
}
}

Невірний пароль

422 Unprocessable Entity (WebDAV) (RFC 4918)

Відповідь: /account/login/
{
"errors": {
"password": "is not correct"
}
}

Помилка ліцензії

422 Unprocessable Entity (WebDAV) (RFC 4918)

Відповідь: /account/login/
{
"errors": {
"license": "employee fired or not active"
}
}

Обробка помилок

HTTP статусТекст помилкиПричина виникнення
422Токен недійсний або простроченийpre_auth_token прострочений або некоректний
422Невірний код підтвердженняВведено неправильний OTP-код з додатка
422Код підтвердження має містити 6 цифрНекоректний формат OTP-коду (не 6 знаків)
422Перевищено кількість спроб підтвердження 2FAЗабагато невдалих спроб введення коду для одного pre_auth_token
422Помилка конфігурації 2FAПомилка налаштування 2FA на стороні сервера
422email: Користувач не знайдений в базіКористувача з таким Email не існує
422password: Невірний парольВказано неправильний пароль
403Помилка авторизації некоректний заголовок API-KeyВідсутній або неправильний заголовок API-Key