/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 Фича закрыта по уровню.