/achievement/claim
Метод получает награду за tier достижения и возвращает актуальное состояние achievements.
Адрес метода
/achievement/claim
Требует сессию пользователя
Параметры
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| template_id | ДА | string | Идентификатор achievement objective из CDB objectives.id |
| tier_index | ДА | int | Индекс тира достижения |
Результат
В response возвращается объект achievements state.
{
"response": {
"achievements": [
{
"templateId": "ach_red_chips",
"tierIndex": 1,
"current": 12450,
"threshold": 1000,
"claimed": [0, 1],
"claimable": []
}
],
"pendingCompletions": []
},
"events": [
{
"type": "reward",
"payload": {
"reasonType": "achievement_claim",
"reasonId": "ach_red_chips",
"tierIndex": 1,
"rewards": [
{ "type": "soft", "amount": 500 }
]
}
}
]
}
events
При успешной выдаче награды метод добавляет reward event. Награды нужно читать из events, в response они не дублируются.
| Поле | Тип | Описание |
|---|---|---|
| reasonType | string | achievement_claim |
| reasonId | string | objectives.id достижения |
| tierIndex | int | Индекс полученного тира |
| rewards | array | Фактически выданные награды в формате { type, amount } |
Если тир не содержит наград, reward event не добавляется.