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
          }
        }
        
Предыдущая
Следующая