gamification.thanks.send
Scope:
gamificationКто может вызывать: Любой авторизованный пользователь; параметр
fromUserId— только администратор портала. Подробнее: Права доступа
Отправить благодарность другому сотруднику: списать THX у отправителя, начислить BAL получателю, создать запись в ленте. Метод делает то же, что форма «Сказать спасибо» в интерфейсе: обе операции помечаются категорией, пост в ленте связывается с операцией получателя, кеш дашбордов сбрасывается.
Администратор может отправить благодарность от имени другого активного сотрудника (fromUserId): тогда списание THX, лимиты, доступность категории, правило «только подчинённым», автор поста в ленте и уведомление — отправителя, а не вызывающего.
HTTP: POST
Побочные эффекты: создаётся транзакция THX (списание у отправителя) и BAL (начисление получателю), создаётся запись в ленте от имени отправителя, отправляется уведомление, сбрасывается кеш дашбордов.
Параметры метода
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
toUserId |
int |
да | ID получателя — активного пользователя (псевдонимы: to_user_id, userId, USER_ID) |
categoryId |
int |
да | ID категории благодарности (псевдоним: category_id) |
message |
string |
нет | Текст благодарности (псевдоним: comment). HTML-теги и служебные метки модуля удаляются |
amount |
int |
нет | Количество THX (псевдоним: thx_points). По умолчанию — стоимость категории |
siteId |
string |
нет | ID сайта (псевдоним: SITE_ID). По умолчанию s1 |
fromUserId |
int |
нет | Только администратор портала. ID отправителя — активного пользователя. По умолчанию — текущий пользователь. Свой ID можно передать любому |
Возвращаемые данные
result.result — сведения об отправленной благодарности:
| Поле | Тип | Описание |
|---|---|---|
transactionId |
int |
ID операции списания THX у отправителя |
creditTransactionId |
int |
ID операции начисления BAL получателю |
new_balance |
float |
Баланс THX отправителя после списания |
fromUserId |
int |
ID отправителя |
toUserId |
int |
ID получателя |
categoryId |
int |
ID категории |
cost |
int |
Списанное количество THX |
currency |
string |
Валюта отправителя (THX) |
recipientCurrency |
string |
Валюта получателя (BAL) |
postId |
int |
ID поста в ленте, 0 — пост не создан |
Обработка ошибок
| Код | Описание |
|---|---|
UNAUTHORIZED |
Пользователь не авторизован |
VALIDATION_ERROR |
Не передан toUserId, fromUserId не целое положительное число |
ACCESS_DENIED |
fromUserId другого пользователя передал не администратор; у отправителя нет доступа к публичной части модуля на сайте siteId (как в форме); включено правило «благодарить только подчинённых», а получатель не подчинённый отправителя |
SELF_THANKS_FORBIDDEN |
Попытка отправить благодарность самому себе |
INVALID_CATEGORY |
Категория не найдена или недоступна отправителю |
INSUFFICIENT_THX_BALANCE |
Недостаточно THX или превышен месячный лимит отправителя |
USER_NOT_FOUND |
Отправитель или получатель не найден либо неактивен (details.field — fromUserId или toUserId) |
Пример запроса (POST)
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/gamification.thanks.send.json" \
-H "Content-Type: application/json" \
-d '{
"toUserId": 42,
"categoryId": 3,
"message": "Отличная работа над проектом!"
}'
От имени другого сотрудника (вызывает администратор портала):
curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/gamification.thanks.send.json" \
-H "Content-Type: application/json" \
-d '{"fromUserId": 17, "toUserId": 42, "categoryId": 3, "message": "Спасибо за помощь с отчётом"}'
Пример ответа:
{
"result": {
"result": {
"transactionId": 9051,
"creditTransactionId": 9052,
"new_balance": 45,
"fromUserId": 17,
"toUserId": 42,
"categoryId": 3,
"cost": 5,
"currency": "THX",
"recipientCurrency": "BAL",
"postId": 1288
},
"total": null,
"next": null,
"error": null
}
}