Авторизация
Каждый запрос к серверу должен содержать заголовки (headers):
- ServiceId – идентификатор сервиса (в Backend’е идентификатор сервиса указывается в таблице “Справочники / Боты”)
- Authorization – авторизационный токен (кроме запросов на авторизациюи и подтвеждение – см. далее)
Если сервер идентифицировал и авторизовал пользователя по паре service-token, то возвращается ожидаемый запросом ответ. Если пользователь не авторизован, то сервер возвращает ответ с кодом ошибки 401 (Unauthorized).
ServiceId, get.promocodes
Для получения списка поддерживаемых ServiceId следует выполнить запрос (без передачи ServiceIde и Authorization) get.promocodes.
Параметры ответа:
- promoCodes – [List<>] список поддерживаемых промо-кодов.
Объект PromoCode:
- promoCode – [String] промо-код
- parkTitle – [String] наименование парка для отображения в заголовке приложения после ввода промо-кода
- serviceId – [String] serviceId
Запрос на авторизацию. Метод auth
Параметры запроса:
- phone – [String] телефон пользователя в формате +7XXXXXXXXXX
Параметры ответа:
- marker – [String] значение маркера, которое следует передать в запросе-подтверждении авторизации.
При получении ответа сервис должен показать пользователю экран ввода подтверждающего четырёхзначного кода из смс-сообщения, которое отправляется сервером на указанный телефон.
Подтверждение. Метод auth.confirm
Параметры запроса:
- marker – [String] маркер из ответа на авторизационный запрос
- code – [Integer] четырёхзначное число-код
Параметры ответа:
- registered – [Boolean] True, если пользователь зарегистрирован и False, если пользователь не проходил процедуру регистрации
- token – [String] авторизационный токен для использования в последующих запросах; передаётся только для зарегистрированного пользователя
- name – [String] фамилия, имя, отчество пользователя для отображения на странице; передётся только для зарегистрированного пользователя
- conditions – [ArrayList
] опциональный перечень возможных условий подключения к сервису; передаётся только для незарегистрированного пользователя
Параметры объекта Condition:
- title – [String] наименование условия подключения
- description – [String] опциональное описание условия подключения
Регистрация. Метод register
Если пользователь не зарегистрирован, то приложение должно запросить у пользователя имя, отчество, фамилию и передать на сервер.
Параметры запроса:
- phone – [String] телефон пользователя
- marker – [String] маркер из ответа на авторизационный запрос
- code – [Integer] четырёхзначное число-код из смс с подтверждением авторизации
- firstName – [String] имя пользователя
- secondName – [String, optional] отчество
- lastName – [String] фамилия
- condition – [String] условие подключения (title объекта Condition; обязательно, если с сервера был передан непустой список условий подключения; если список условий был пустым, параметр не указывается)
Параметры ответа:
- token – [String] авторизационный токен для использования в последующих запросах
- name – [String] фамилия, имя, отчество пользователя для отображения на странице
Выход. Метод logout
Запрос не содержит параметров. Ответ также не содержит параметров.