/expedition/claim-all
Метод забирает награды со всех завершённых экспедиций за один запрос и доливает каждый освободившийся слот новым предложением — так же, как /expedition/claim делает это для одного слота. Запущенные и свободные слоты не трогаются.
Каждый слот забирается по тем же правилам, что и одиночным клеймом: награда берётся зафиксированная на роле, дополнительные условия проверяются в момент клейма, приёмы освобождаются в той же транзакции, что и переход слота, а параллельные запросы выдают награду за слот ровно один раз.
Новые предложения роллятся по очереди, и каждое следующее учитывает уже выданные этим же запросом: одинаковых предложений в двух слотах после метода не бывает, если тир позволяет их избежать.
Слот, награда которого в текущей версии конфига не выдаётся (не резолвится наградная таблица или названный в ней ресурс), либо шаблон которого пропал из конфига, пропускается и остаётся забираемым: остальные слоты при этом забираются. Причину отказа по такому слоту вернёт одиночный /expedition/claim.
Если забирать нечего, метод отвечает успехом с текущим состоянием и без события.
Адрес метода
/expedition/claim-all
Требует сессию пользователя
Параметры
Нет.
Результат
Возвращает то же состояние, что и /expedition/list, уже с новыми предложениями в забранных слотах.
Награды всех забранных слотов приходят одним событием в секции events: одинаковые ресурсы просуммированы, reasonId — all, а забранные слоты перечислены в sources.
{
"response": {
"success": 1,
"unlocked": true,
"max_slots": 2,
"slots": [
{
"slot_index": 0,
"expedition_cid": "easy_cool_1star",
"status": 0,
"skill_cids": [],
"started_at": 0,
"ends_at": 0,
"bonus_qualified": false,
"skip_price": 0,
"base_rewards": [
{ "type": "soft", "amount": 400 }
],
"bonus_rewards": [
{ "type": "particleOfPower", "amount": 1 }
]
},
{
"slot_index": 1,
"expedition_cid": "easy_fire_1star",
"status": 0,
"skill_cids": [],
"started_at": 0,
"ends_at": 0,
"bonus_qualified": false,
"skip_price": 0,
"base_rewards": [
{ "type": "soft", "amount": 400 }
],
"bonus_rewards": []
}
],
"rerolls_used": 0,
"rerolls_reset_at": 1788296400,
"paid_reroll_limit": 1,
"reroll_price": null
},
"update": {
"member": {
"wallet": []
}
},
"events": [
{
"type": "reward",
"payload": {
"reasonType": "expedition_claim",
"reasonId": "all",
"sources": [
{ "slotIndex": 0, "expeditionCid": "easy_any_1star" },
{ "slotIndex": 1, "expeditionCid": "easy_cool_2star" }
],
"rewards": [
{ "type": "soft", "amount": 800 },
{ "type": "particleOfPower", "amount": 1 }
]
}
}
]
}
Кошелёк обновляется через update.member как обычно.
Ошибки
| Код | Условие |
|---|---|
| 10405 | Фича закрыта по уровню. |