Skip to main content

API White Label

API для управления White Label аккаунтами в системе Revo. Позволяет получать информацию о White Label, управлять пользователями и балансом.

Аутентификация

Все запросы к API White Label должны включать заголовок X-WhiteLabel-Key с API ключом White Label.

X-WhiteLabel-Key: your_api_key_here

Структура White Label

ПолеТипОписание
idintegerУникальный идентификатор White Label
namestringНазвание White Label (уникальное в системе)
balancedecimalБаланс White Label
api_keystringAPI ключ для доступа к API
created_atdatetimeДата создания
updated_atdatetimeДата обновления

Получение информации о White Label

GET /api/v1/whitelabel

Получает информацию о White Label, включая баланс и API ключ.

Заголовки запроса

ЗаголовокЗначение
X-WhiteLabel-KeyYOUR_API_KEY
Acceptapplication/json

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

{
"error": "",
"result": {
"white_label": {
"id": 1,
"name": "MyCompany",
"balance": 5000.50,
"api_key": "abcdef1234567890...",
"users_count": 25,
"created_at": "2025-03-10T12:00:00.000000Z",
"updated_at": "2025-03-15T14:30:00.000000Z"
}
}
}

Обновление API ключа White Label

POST /api/v1/whitelabel/regenerate-api-key

Генерирует и сохраняет новый API ключ для White Label.

Заголовки запроса

ЗаголовокЗначение
X-WhiteLabel-KeyYOUR_API_KEY
Acceptapplication/json

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

{
"error": "",
"result": {
"white_label": {
"id": 1,
"name": "MyCompany",
"api_key": "new_api_key_abcdef1234567890...",
"updated_at": "2025-03-20T10:15:00.000000Z"
},
"message": "API ключ успешно обновлен"
}
}
Важно

После обновления API ключа все предыдущие ключи становятся недействительными. Убедитесь, что вы обновили ключ во всех местах, где используете API.

Получение списка пользователей White Label

GET /api/v1/whitelabel/users?limit=50&offset=0

Получает список пользователей, принадлежащих White Label.

Заголовки запроса

ЗаголовокЗначение
X-WhiteLabel-KeyYOUR_API_KEY
Acceptapplication/json

Параметры запроса

ПараметрТипОбязательныйОписание
limitintegerНетКоличество пользователей в ответе (по умолчанию 50)
offsetintegerНетСмещение для пагинации (по умолчанию 0)
searchstringНетПоиск по имени, email или username
sort_fieldstringНетПоле для сортировки (по умолчанию created_at)
sort_directionstringНетНаправление сортировки (asc или desc, по умолчанию desc)

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

{
"error": "",
"result": [
{
"id": 1,
"name": "Иван Иванов",
"email": "ivan@example.com",
"username": "ivanivanov",
"plan": "pro",
"credit": 150,
"is_admin": true,
"created_at": "2025-03-10T12:00:00.000000Z",
"updated_at": "2025-03-15T14:30:00.000000Z"
},
{
"id": 2,
"name": "Петр Петров",
"email": "petr@example.com",
"username": "petrpetrov",
"plan": "basic",
"credit": 50,
"is_admin": false,
"created_at": "2025-03-11T10:00:00.000000Z",
"updated_at": "2025-03-12T09:45:00.000000Z"
}
],
"total": 25
}

Пополнение баланса пользователя

POST /api/v1/whitelabel/top-up-user

Пополняет баланс указанного пользователя White Label за счет баланса White Label.

Заголовки запроса

ЗаголовокЗначение
X-WhiteLabel-KeyYOUR_API_KEY
Acceptapplication/json
Content-Typeapplication/json

Параметры запроса

ПараметрТипОбязательныйОписание
user_idintegerДаID пользователя для пополнения баланса
amountdecimalДаСумма пополнения (мин. 1)
descriptionstringНетОписание операции (по умолчанию "Пополнение баланса от White Label")

Пример запроса

{
"user_id": 2,
"amount": 100,
"description": "Премия за качественную работу"
}

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

{
"error": "",
"result": {
"message": "Баланс пользователя успешно пополнен",
"user": {
"id": 2,
"name": "Петр Петров",
"email": "petr@example.com",
"credit": 150
},
"white_label": {
"id": 1,
"name": "MyCompany",
"balance": 4900.50
},
"amount": 100
}
}

Получение статистики White Label

GET /api/v1/whitelabel/statistics?period=month

Получает статистику использования системы пользователями White Label.

Заголовки запроса

ЗаголовокЗначение
X-WhiteLabel-KeyYOUR_API_KEY
Acceptapplication/json

Параметры запроса

ПараметрТипОбязательныйОписание
periodstringНетПериод статистики: week, month, quarter, year (по умолчанию month)

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

{
"error": "",
"result": {
"white_label": {
"id": 1,
"name": "MyCompany",
"balance": 4900.50
},
"period": "month",
"start_date": "2025-02-20T10:15:00.000000Z",
"users": {
"total": 25,
"new": 3
},
"projects": {
"total": 50,
"active": 35
},
"tasks": {
"total": 1250,
"period": 350
},
"credits_spent": 750
}
}

Коды ошибок API

Код ошибкиОписание
401Ошибка аутентификации (API ключ не предоставлен или неверный)
400Ошибка в запросе (неверные параметры)
404Запрашиваемый ресурс не найден
422Ошибка валидации данных
500Внутренняя ошибка сервера

Дополнительная информация

Пополнение баланса

При пополнении баланса пользователя:

  • Сумма пополнения вычитается из баланса White Label
  • Кредиты добавляются пользователю с указанным описанием
  • Операция сохраняется в истории баланса пользователя
  • Баланс White Label не может стать отрицательным

API ключ

API ключ White Label используется для аутентификации запросов к API. При обновлении ключа все предыдущие ключи становятся недействительными. Храните ключ в безопасном месте и не передавайте его третьим лицам.

Создание пользователей

Пользователи White Label создаются через стандартный API регистрации с указанием поля owner_company, соответствующего названию White Label.