/event/list

Метод возвращает непросмотренные бэкенд-события текущего пользователя (миграции, компенсации и т.д.) в стандартном конверте events, том же, что приходит при авторизации.

Предназначен для периодического опроса клиентом (поллинг), чтобы события, случившиеся во время игровой сессии (например, начисленная компенсация), не ждали следующего входа в игру.

Адрес метода

/event/list

Требует сессию пользователя

Параметры

Без параметров.

Результат

{
    "response": {
        "success": 1,
        "timestamp": 1775512800.123456
    },
    "events": [
        {
            "type": "migration",
            "payload": {
                "eventId": 128,
                "id": "profile.1.0.0.gacha_synth_sphere_to_token",
                "from_version": "0.100.0",
                "to_version": "1.0.0"
            }
        },
        {
            "type": "reward",
            "payload": {
                "eventId": 129,
                "reasonType": "compensation",
                "reasonId": 42,
                "content": "{\"title\":\"...\"}",
                "rewards": [{ "type": "soft", "amount": 100 }]
            }
        },
        {
            "type": "reward",
            "payload": {
                "eventId": 130,
                "reasonType": "purchase",
                "reasonId": 17,
                "productId": "native_bank_product_hard_1",
                "platform": "android",
                "type": "",
                "rewards": [{ "type": "hard", "amount": 500 }],
                "offerId": "starter_pack",
                "tag": "1"
            }
        }
    ]
}

eventId — идентификатор строки индекса событий. Клиент использует его, чтобы не обработать одно и то же событие дважды при повторном опросе, и чтобы подтвердить событие через /event/ack.

Поле events отсутствует в ответе, если непросмотренных событий нет. Событие пропадёт из /event/list только после подтверждения — клиент делает его в момент показа игроку, одним вызовом /event/ack на все события попапа. Методы конкретных типов (/migration/ack, /compensation/ack, /invoice/ack) нужны там, где сущность пришла к клиенту не событием, а списком — /migration/list, /invoice/status.

У события покупки поля offerId и tag присутствуют только когда покупка относится к офферу: вместе они говорят клиенту, счетчик какого оффера сдвинуть — одного tag для этого мало, он не уникален между офферами.