Перейти к содержанию

ДЕЙСТВУЮЩИЙ КОНТРАКТ

Авторизация

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, а не задавать в клиенте вручную.

Авторизованный запрос

GET /api/v1/orders/?status=BN
Authorization: Bearer <access_token>

Токен передаётся только в заголовке 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