TOTP Service APIs

M
M
Last updated 3 months ago

Запросы к TOTP Service

get
Запрос получения / обновления конфигурации сервиса

wallet-admin/totp/profile/{name}
Запрос должен отправляться мобильным приложением: • при выпуске новой карты, подддерживающей TOTP (первичное получение конфигурации); • после выпуска карты — в случае реконфигурации сервиса; • для выпущенных карт, не поддерживающих TOTP (если необходимо поддержать).
Request
Response
Path Parameters
name
required
string
Имя, присвоенное партнеру в настройках CardsMobile TOTP Service.
200: OK
В ответе TOTP Service вернет текущую конфигурацию сервиса в формате JSON:
{
"hashFunction":"HmacSHA256", // Способ получения hash-кода от интервала и секрета
"passwordLength":3, // Число символов одноразового пароля
"retailerKey":"AAAA", // Секретный ключ эмитента (hex string-представление) для формирования пароля
"barcodeType":"CODE_39", // Тип штрих-кода для отображения barcodeTemplate. Поддерживаемые типы штрих-кодов: CODE_39, CODE_128, PDF_417, DataMatrix
"barcodeTemplate":"CM{number}", // Шаблон для штрих-кода — комбинация произвольных символов и переменных, где {number} — номер карты
"timeIntervalSec":30 // Интервал, в пределах которого одноразовый пароль считается действительным
}
400: Bad Request
500: Internal Server Error
502: Bad Gateway

Запросы к Time Service

Запрос получения точного времени

Для механизма TOTP критична синхронизация времени между клиентской и серверной стороной. Клиентское приложение должно получать временную метку от сервера и использовать ее в дальнейшем для генерации одноразовых паролей.

Реализуется партнером как GET-запрос к компоненту Time Service. В ответе необходимо передавать временную метку в миллисекундах, относительно которой приложение будет формировать новые одноразовые пароли.

Пример ответа

HTTP: 200
1518008632532 // разница в миллисекундах между текущим временем и точкой 'midnight, January 1, 1970 UTC'.

Запросы к Configuration Revision

Запрос получения номера ревизии конфигурации

Мобильное приложение должно периодически запрашивать текущий номер ревизии конфигурации сервиса. Смена номера ревизии означает изменение конфигурации сервиса TOTP (например, произошла смена секретного ключа партнера) — в таком случае, вслед за получением нового номера ревизии приложению необходимо запросить обновление конфигурации.

Реализуется партнером как GET-запрос к компоненту Configuration Revision. В ответе передается порядковый номер ревизии.

Пример ответа

HTTP: 200
2 // номер ревизии конфигурации сервиса