Получение и обновление токена, информация о лицензии, управление пользователями веб-интерфейса и API, роли и права.
Общие правила (адрес, авторизация, форматы, коды ошибок) — на странице ProBonus API. Справочник методов.
GET /api/v0/auth/info
Авторизация: требуется
Ответ 200 — объект AuthInfoDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
license | LicenseInfoDto | да | Лицензия |
settings | SettingsDto | да | Настройки |
Дополнительные коды ответа: 401 — Unauthorized.
POST /api/v0/auth/login
Авторизация: не требуется
Данный токен необходим для работы со всеми остальными запросами. Возвращает accessToken (передаётся в заголовке Authorization: Bearer <accessToken> во всех остальных запросах) и refreshToken для продления сессии.
Тело запроса — объект AuthLoginRequestDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин пользователя ProBonus |
password | string | да | Пароль пользователя |
Ответ 200 — объект AuthLoginResultDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accessToken | string | да | Токен доступа; передаётся в заголовке Authorization: Bearer <accessToken> |
expire | datetime | да | Дата и время окончания действия токена доступа |
tokenType | string | Тип токена (bearer); по умолчанию «bearer» |
|
refreshToken | string | да | Токен для получения новой пары токенов (метод /api/v0/auth/refresh_token) |
Дополнительные коды ответа: 401 — Unauthorized.
POST /api/v0/auth/logout
Авторизация: требуется
Ответ 200: JSON (структура в схеме не описана).
Дополнительные коды ответа: 401 — Unauthorized.
POST /api/v0/auth/refresh_token
Авторизация: не требуется
Выдаёт новую пару токенов по действующему refreshToken. Авторизация заголовком не требуется.
Тело запроса — объект AuthRefreshTokenRequestDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accessToken | string | да | Токен доступа |
refreshToken | string | да | Токен обновления сессии |
Ответ 200 — объект AuthRefreshTokenResultDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
accessToken | string | да | Токен доступа |
expire | datetime | да | Срок действия токена |
Дополнительные коды ответа: 401 — Unauthorized.
GET /api/v0/license/check_license
Авторизация: не требуется
Ответ 200 — объект LicenseInfoDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
online | boolean | Онлайн-проверка лицензии выполнена | |
valid | boolean | Лицензия действительна | |
status | string | Статус лицензии | |
expired | date | Дата окончания лицензии | |
message | string | Сообщение | |
sublicensesIds | string | Идентификаторы сублицензий | |
sublicensesStrs | string | Сублицензии | |
objectId | integer | Идентификатор объекта лицензирования | |
objectName | string | Наименование объекта лицензирования | |
projectName | string | Наименование проекта (лицензия) | |
projectLicenseCount | integer | Количество лицензий проекта | |
applicationVersion | string | да | Версия ProBonus |
GET /api/v0/license/info
Авторизация: не требуется
Ответ 200 — объект LicenseInfoDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
online | boolean | Онлайн-проверка лицензии выполнена | |
valid | boolean | Лицензия действительна | |
status | string | Статус лицензии | |
expired | date | Дата окончания лицензии | |
message | string | Сообщение | |
sublicensesIds | string | Идентификаторы сублицензий | |
sublicensesStrs | string | Сублицензии | |
objectId | integer | Идентификатор объекта лицензирования | |
objectName | string | Наименование объекта лицензирования | |
projectName | string | Наименование проекта (лицензия) | |
projectLicenseCount | integer | Количество лицензий проекта | |
applicationVersion | string | да | Версия ProBonus |
POST /api/v0/users/change_password
Авторизация: требуется
Тело запроса — объект UserChangePasswordDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
id | integer | да | Идентификатор |
newPassword | string | да | Новый пароль |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/users/delete
Авторизация: требуется
Параметры запроса:
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id | строка запроса | integer | да | Идентификатор объекта |
Ответ 200: JSON (структура в схеме не описана).
GET /api/v0/users/get
Авторизация: требуется
Параметры запроса:
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id | строка запроса | integer | да | Идентификатор объекта |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/users/insert
Авторизация: требуется
Тело запроса — объект UserInsertDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
role | UserRoleId | да | Роль |
password | string | да | Пароль |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/users/insert_api_user
Авторизация: требуется
Создаёт пользователя для интеграции. Его бессрочный токен передаётся в заголовке X-API-Key.
Тело запроса — объект ApiUserInsertDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
role | UserRoleId | да | Роль |
apiKey | string | да | Бессрочный токен пользователя для API |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
GET /api/v0/users/list
Авторизация: требуется
Ответ 200 — массив объектов UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/users/update
Авторизация: требуется
Тело запроса — объект UserUpdateDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleId | да | Роль |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/users/update_api_user
Авторизация: требуется
Тело запроса — объект ApiUserUpdateDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор |
role | UserRoleId | да | Роль |
apiKey | string | Бессрочный токен пользователя для API |
Ответ 200 — объект UserDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
login | string(50) | да | Логин |
commentary | string | Комментарий | |
isSuperuser | boolean | да | Суперпользователь (все права) |
permittedDbObjects | UserPermissionsDto | Объекты, доступные пользователю (например, рестораны) | |
createDateTime | datetime | Дата и время создания | |
id | integer | да | Идентификатор пользователя |
role | UserRoleIdName | да | Роль |
kind | UserKindType | да | Вид |
POST /api/v0/roles/delete
Авторизация: требуется
Параметры запроса:
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id | строка запроса | string | да | Идентификатор объекта |
Ответ 200: JSON (структура в схеме не описана).
GET /api/v0/roles/get
Авторизация: требуется
Параметры запроса:
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
id | строка запроса | string | Идентификатор объекта; по умолчанию «» |
Ответ 200 — объект RoleDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
id | string | Идентификатор | |
isSystem | boolean | да | Системный элемент |
rightGroups | массив RoleRightGroupDto | да | Группы прав |
POST /api/v0/roles/insert
Авторизация: требуется
Тело запроса — объект RoleInsertDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
allowedFullPaths | массив string | да |
Ответ 200 — объект RoleDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
id | string | Идентификатор | |
isSystem | boolean | да | Системный элемент |
rightGroups | массив RoleRightGroupDto | да | Группы прав |
GET /api/v0/roles/list
Авторизация: требуется
Ответ 200 — массив объектов RoleListItemDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
id | string | Идентификатор | |
isSystem | boolean | да | Системный элемент |
POST /api/v0/roles/update
Авторизация: требуется
Тело запроса — объект RoleUpdateDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
allowedFullPaths | массив string | да | |
id | string | да | Идентификатор; мин. длина 1 |
Ответ 200 — объект RoleDto:
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string(50) | да | Наименование |
comment | string | Комментарий | |
id | string | Идентификатор | |
isSystem | boolean | да | Системный элемент |
rightGroups | массив RoleRightGroupDto | да | Группы прав |
Вложенные объекты и перечисления, на которые ссылаются методы этого раздела.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
requirePhone | boolean | да | Телефон обязателен |
requireSex | boolean | да | Пол обязателен |
temporaryIdentifierValidMinutes | integer | да | Срок действия временного кода, минут |
temporaryIdentifierLength | integer | да | Длина временного кода |
language | string | да | Язык |
dayBound | time | да | Время смены суток |
cashShowBirthday | boolean | да | Показывать на кассе день рождения гостя |
cashShowBirthdayDaysBefore | integer | да | Показывать день рождения за N дней до |
cashShowBirthdayDaysAfter | integer | да | Показывать день рождения N дней после |
specialCases | SpecialCasesDto | да | Особые случаи |
applicationVersion | string | да | Версия ProBonus |
databaseVersion | string | Версия схемы БД | |
configOnly | boolean | да | Только настройки |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
online | boolean | Онлайн-проверка лицензии выполнена | |
valid | boolean | Лицензия действительна | |
status | string | Статус лицензии | |
expired | date | Дата окончания лицензии | |
message | string | Сообщение | |
sublicensesIds | string | Идентификаторы сублицензий | |
sublicensesStrs | string | Сублицензии | |
objectId | integer | Идентификатор объекта лицензирования | |
objectName | string | Наименование объекта лицензирования | |
projectName | string | Наименование проекта (лицензия) | |
projectLicenseCount | integer | Количество лицензий проекта | |
applicationVersion | string | да | Версия ProBonus |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
name | string | Наименование; по умолчанию «» |
|
rights | массив RoleRightItemDto | Права |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
enable | boolean | по умолчанию false |
|
path | string | Путь; по умолчанию «» |
|
method | string | HTTP-метод и путь API; по умолчанию «» |
|
fullPath | string | по умолчанию «» |
|
summary | string | по умолчанию «» |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
application | ApplicationSettingsDto | да | |
user | UserSettingsDto | да | Пользователь |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
mealsWithSubsidies | boolean | да | |
loyaltyParticipants | boolean | да |
Перечисление (string). Значения: none, user, api_user.
user — пользователь веб-интерфейса, api_user — пользователь для интеграции по API
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
restaurants | массив integer | Рестораны |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
id | string | да | Идентификатор |
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
id | string | да | Идентификатор |
name | string | да | Наименование |
Без полей.