Получаем доступ к API
В этом разделе вы узнаете, как получить токен доступа и начать использовать SaluteSpeech API.
Получение ключа авторизации
Перед началом работы нужно сгенерировать ключ авторизации в проекте SaluteSpeech API.
Подробнее о ключе авторизации
Ключ авторизации (Authorization key) — строка, полученная в результате кодирования в Base64 клиентского идентификатора (Client ID) и ключа API (Client Secret). Вы можете использовать готовый ключ из личного кабинета или самостоятельно закодировать Client ID
и Client Secret
.
Авторизационный ключ нужен для получения токена доступа Access token
с помощью запроса POST /api/v2/oauth
, который использует Basic-схему аутентификации.
Для этого:
- Откройте проект SaluteSpeech API в личном кабинете Studio.
- В левой панели выберите раздел Настройки API.
- Нажмите Получить ключ в блоке Данные для авторизации запросов к API.
Ключ авторизации могут получить только пользователи с ролями Владелец и Администратор — для остальных ролей кнопка Получить ключ будет неактивна.
Подробнее о ролях и их возможностях — в разделе Создание команды и управление доступами.
В открывшемся окне скопируйте и сохраните значение поля Authorization Key
.
Ключ авторизации отображается только один раз и не хранится в Studio.
При компрометации или утере ключа авторизации вы можете сгенерировать его повторно.
Получение токена доступа
Access Token (токен доступа) нужен для авторизации запросов к SaluteSpeech API по Basic-схеме.
Токен получается в обмен на ключ авторизации с помощью запроса POST /api/v2/oauth
.
Токен действителен 30 минут. Перед каждым запросом проверяйте время жизни токена. Если до его истечения остается менее минуты, получите новый токен доступа к сервису SaluteSpeech API.
Тело запроса
Поле | Описание |
---|---|
Обязательное | Версия API, к которой предоставляется доступ. Указана в проекте SaluteSpeech. Возможные значения:
|
Пример запроса для получения токена доступа
- cURL
- Python
curl -L -X POST 'https://ngw.devices.sberbank.ru:9443/api/v2/oauth' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Accept: application/json' \
-H 'RqUID: 4fadbe99-84bf-4bae-8bc3-71bad17dfae5' \
-H 'Authorization: Basic <Authorization key>' \
--data-urlencode 'scope= SALUTE_SPEECH_PERS'
import requests
url = "https://ngw.devices.sberbank.ru:9443/api/v2/oauth"
payload={
'scope': 'SALUTE_SPEECH_PERS'
}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'RqUID': '9995ee0a-981c-41e1-8a99-efd7cad58cdd',
'Authorization': 'Basic <Authorization key>'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Пример ответа
{
"access_token": "eyJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.DCXAAnwXjmRleOrIJcXDWbQwsP5UGSptcY3x5XXRkYZm6x3QkDQBL63DKQZzwrwmtuFbKajq6ULHuQhsmGax-l_R6AhRkr7pWzJi1jpzCenq9PAN2UjF0BX_IiDRgmEExH6_2OtHaJ_7KbudukIOLEgxD9l8WcXFY992dgqLL6eK2nnnUvyfmr4ITc9PWuAFsMIO6jweNFw0e9vRYEDkAbnv9EGR-w9CGwfBsHNWZwZlo7fyu07fkSfmqmGdBvU4344344luNNrHwktSGOzNhpLhu0-0A3KI950vmp_37QY8isDi3epGU3HShdrBZkk70fdXxBKQA.MV2IksoyxTV_c-qm6hSXaQ.LUT4JqOzKqmFOR07-Asq7Fhqj_eYSTXcsJAK-JchmM1QUqhPLBXsUyXXh6ZcjsnN7Q0QXzuBlSjaBWekgWANDirI6HP_MsEM4FxfJAOh73aowC700cEQPPYAxzPYG0d4bOqsZh8Ss57lJB2VM7M6Y2FcG2hb5Q0i2zPskqSWxXejuCyr2uIlY7Fe4bu4NUqtCaKJVwqriVWLfbA0OzZyA0osDc42Ba0u1adFAdaZDCE.IlKOixP8hSUimEI2pdP118Tx0StZjcLdbSauE5R0YAA",
"expires_at": 1617814516729
}
Запросы к SaluteSpeech API
Запросы к SaluteSpeech API передаются по адресу https://smartspeech.sber.ru/ и авторизуются с помощью токена доступа Access token
, который передан в заголовке Authorization
.
Возможные сценарии
- Если токен валиден, запрос передастся дальше в сервис SaluteSpeech API для синтеза текста из запроса.
- Если токена нет или формат токена неверен, придет ошибка с сообщением о неудачной аутентификации.
- Если токен есть, но просрочен, придет ошибка с сообщением о токене с истекшим сроком действия. В этом случае вам нужно получить новый валидный токен.
Подробнее о том, как отправлять запросы к SaluteSpeech API — в разделах API синтеза речи и API распознавания речи.
Вопросы и предложения о SaluteSpeech
Если вы столкнулись с ошибкой или багом во время работы с сервисом, пишите нам на электронный адрес SaluteSpeech@sberbank.ru. В описании проблемы укажите:
- Тип операции — распознавание или синтез речи.
- Тип протокола API — gRPC или HTTP.
- Метод API.
- Значение заголовка ответа
X-Request-ID
— уникальный идентификатор запроса. - Язык программирования, на котором написано клиентское приложение.