К содержимому
Инвойсбокс

Обмен кода на токен

  • метод: POST
  • ресурс: token_endpoint из метаданных
  • тело: application/x-www-form-urlencoded
  • вызывается с сервера: токен не должен попадать в браузер
ПараметрЧто означает
grant_type *authorization_code
client_id *идентификатор приложения
code *код из параметров возврата
redirect_uri *тот же адрес, что в запросе авторизации
code_verifier *исходная строка, от которой считался code_challenge
client_secretтолько если для приложения выпущен секрет
resourceтот же адрес, что в запросе авторизации
curl -X POST https://api.invoicebox.ru/v3/security/oauth/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=authorization_code' \
  -d 'client_id=my-service' \
  -d 'code=e3b0c44298fc1c14' \
  -d 'redirect_uri=https://my-service.ru/auth/callback/' \
  -d 'code_verifier=s9Zx1kQd…'

Ответ — без общей оболочки data, поля называются по стандарту:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_token": "def50200a1b2…",
  "scope": "merchant-read"
}

expires_in — срок в секундах от момента ответа. Код обмена одноразовый: повторный запрос с тем же code вернёт invalid_grant.

С полученным токеном запросы к API подписываются заголовком Authorization: Bearer <токен> — как и при обычной авторизации.

Читайте также

Страница помогла?