Авторизация
Для всех запросов к 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": []
}