gamification.balance.set
Scope:
gamificationКто может вызывать: Только admin или manager. Подробнее: Права доступа
Ручная корректировка баланса пользователя (начисление или списание).
HTTP: POST
Побочные эффекты: создаётся транзакция в истории баланса; при наличии настроек — отправляется уведомление.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
userId |
int |
да | ID пользователя |
amount |
float |
да | Сумма операции |
currency |
string |
да | Валюта: BAL или THX |
operationType |
string |
нет | Тип операции: accrual (начисление, по умолчанию) или debit (списание) |
description |
string |
нет | Описание операции (псевдоним: notes) |
message |
string |
нет | Сопроводительное сообщение |
Возвращаемые данные
result.result — объект с обновлёнными балансами пользователя (аналогично balance.get).
Обработка ошибок
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
ACCESS_DENIED |
Вызывающий не является admin/manager |
VALIDATION_ERROR |
Отсутствует обязательный параметр (userId, amount, currency) |
USER_NOT_FOUND |
Пользователь с указанным userId не найден |
INVALID_CURRENCY |
Неизвестная валюта |
INSUFFICIENT_BALANCE |
Недостаточно баланса для списания |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/gamification.balance.set.json" \
-H "Content-Type: application/json" \
-d '{
"userId": 42,
"amount": 500,
"currency": "BAL",
"operationType": "accrual",
"description": "Ручная корректировка"
}'
Пример ответа:
{
"result": {
"result": {
"BAL": 1750,
"THX": 30
},
"total": null,
"next": null,
"error": null
}
}
Предыдущая
Следующая