К содержимому
Инвойсбокс
get/v3/security/api/auth/auth

Авторизация

Для всех запросов к API обязательно должен присутствовать авторизационный токен. Где его взять — вместе с идентификатором магазина и ключом подписи уведомлений — расписано на странице Данные для интеграции: там кабинеты обеих версий API и разделы, где выпускаются ключи. Эта страница — про то, как токеном пользоваться.

В зависимости от версии биллинга и API, которые вы используете, авторизационный токен будет выглядеть следующим образом:

Пример токена v3: b37c4c689295904ed21eee5d9a48d42e

Пример токена l3: 29078-API:b37c4c689295904ed21eee5d9a48d42e

Важно

Для проверки интеграции и методов, а также проведения тестовых платежей вы можете воспользоваться параметрами демонстрационного магазина:

Токен: b37c4c689295904ed21eee5d9a48d42e

Идентификатор магазина: ffffffff-ffff-ffff-ffff-ffffffffffff

Полный набор демо-данных, включая ключ подписи уведомлений, — в данных для интеграции.

Внимание

Авторизационный токен должен храниться в защищённом виде и месте. Используя токен, возможно получить доступ к методам API и данным от имени организации. Токен не следует хранить в общедоступных местах или передавать третьим лицам. При возможной компрометации значения токена (если вы считаете, что токен мог быть получен третьими лицами), вы должны незамедлительно изменить его в личном кабинете или сообщить об этом в службу поддержки.

Проверить токен и работу авторизации можно этим методом:

HTTP

GET /v3/security/api/auth/auth
Accept: application/json
User-Agent: MyApp 1.0
Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e

CURL

curl -L -X GET '{baseUrl}/v3/security/api/auth/auth' \
  -H 'Accept: application/json' \
  -H 'User-Agent: MyApp 1.0' \
  -H 'Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e'

{baseUrl} - базовый URL

Если передан корректный токен, то ответ будет содержать HTTP код 200 OK и идентификатор пользователя

Пример ответа
{
  "data": {
    "userId": "01771533-8e75-3234-8e3d-9213ae2d7c52",
    "profile": null,
    "accessToken": null
  },
  "extendedData": []
}

Если передан некорректный токен, то ответ будет содержать HTTP код 401 Unauthorized и ошибку

Пример ответа
{
  "error": {
    "message": "Unauthorized",
    "code": "unauthorized"
  }
}

Если токен не передан, ответ придёт с HTTP-кодом 200 OK и данными анонимного пользователя. Это особенность именно проверочного метода: он отвечает и анонимному запросу, чтобы вы могли отличить «токен не дошёл» от «сервис недоступен». Все остальные методы API без токена отвечают ошибкой авторизации — правило «каждый запрос несёт Authorization: Bearer» из них исключений не имеет.

Важно

Проверяйте не только код ответа. 200 с userId: null означает, что токен не передан или не распознан, — это не успешная авторизация. Признак рабочего токена — непустой userId. Этой же проверкой удобно следить за доступом — см. мониторинг.

Пример ответа
{
  "data": {
    "userId": null,
    "profile": null,
    "accessToken": null
  },
  "extendedData": []
}

Параметры запроса — POST

1 обязательных из 2
ПолеТипОписание
identifier *#string
password#string
Страница помогла?
getПроверяет текущую сессию пользователя APIДемо
curl -X GET 'https://api.invoicebox.ru/v3/security/api/auth/auth' \
  -H 'Authorization: Bearer <ВАШ_ТОКЕН>' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: MyApp 1.0'
postАвторизует пользователя API по паролюДемо
curl -X POST 'https://api.invoicebox.ru/v3/security/api/auth/auth' \
  -H 'Authorization: Bearer <ВАШ_ТОКЕН>' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: MyApp 1.0' \
  -d '{
  "identifier": "string"
}'
Запрос выдаёт токен по вашему логину и паролю: портал их не принимает и не хранит.