API - Аутентификация
Аутентификация основана на протоколе OAuth 2.0.
Предварительным запросом получается access_token. Который необходимо потом передавать как BearerToken в заголовке последующих запросов.
Например, первичный запрос токена:
Производится по адресу https://api.zelenka.ru/auth/login методом POST
POST api.zelenka.ru/auth/login
Content-Type: application/json
{
"username": "user123",
"apikey": "key123"
}
Content-Type: application/json
{
"username": "user123",
"apikey": "key123"
}
Ответ:
{
"access_token": "6755a48baaf6ee374f4ef55e07bbd2a9",
"token_type": "bearer",
"expires_in": 86400,
"refresh_token": "99afa0362e5c579ecaf4e2621bf1ef69"
}
"access_token": "6755a48baaf6ee374f4ef55e07bbd2a9",
"token_type": "bearer",
"expires_in": 86400,
"refresh_token": "99afa0362e5c579ecaf4e2621bf1ef69"
}
В последующих запросах выданный access_token необходимо передавать в заголовке как BearerToken.
Срок жизни выданного токена составляет 86400 секунд - значение поля expires_in.
После истечения срока действия access_token, его нужно обновить. Обновление производится с помощью refresh_token, срок действия которого 1 месяц.
POST api.zelenka.ru/auth/refresh
Content-Type: application/json
{
"refresh_token": "a36763c8e8473004841ed9f691166de4"
}
Content-Type: application/json
{
"refresh_token": "a36763c8e8473004841ed9f691166de4"
}
Ответ:
{
"access_token": "ab475c1471c2d6342f2f620d6fb59838",
"token_type": "bearer",
"expires_in": 86400
}
"access_token": "ab475c1471c2d6342f2f620d6fb59838",
"token_type": "bearer",
"expires_in": 86400
}
При использовании устаревшего refresh_token будет выдана ошибка 401 Refresh token not found or expired.