ДЕЙСТВУЮЩИЙ КОНТРАКТ
Авторизация¶
EasyTokenPay выдаёт отдельный логин и пароль сервисного трейдера. Пароль используется только для получения токенов и не должен попадать в браузер, мобильное приложение, логи или репозиторий.
Получить токены¶
POST /api/v1/auth/token/login/
Content-Type: application/json
{
"username": "service_trader",
"password": "secret"
}
Успешный ответ содержит:
{
"username": "service_trader",
"trader": true,
"merchant": false,
"access_token": "...",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "...",
"token_type": "Bearer",
"id_token": "...",
"session_state": "...",
"scope": "..."
}
Время жизни нужно брать из expires_in, а не задавать в клиенте вручную.
Авторизованный запрос¶
Токен передаётся только в заголовке Authorization.
Обновить токены¶
POST /api/v1/auth/token/refresh/
Content-Type: application/json
{
"refresh_token": "<refresh_token>"
}
Ответ содержит новую пару access_token и refresh_token. После успешного
обновления нужно атомарно заменить оба сохранённых значения.
Завершить сессию¶
POST /api/v1/auth/token/logout/
Content-Type: application/json
{
"refresh_token": "<refresh_token>"
}
Успешный ответ: {"status":"ok"}.
Ошибки¶
| HTTP | Значение | Действие |
|---|---|---|
400 |
Не передано обязательное поле | Исправить тело запроса |
401 |
Неверные данные или токен неактивен | Не повторять без обновления данных доступа |
403 |
Пользователь отключён | Обратиться в EasyTokenPay |