История изменений

30.09.2026

Изменено

  • /rewarded-ad/claim-reward выдаёт награду сразу по запросу клиента, не дожидаясь LevelPlay S2S. Раньше claim без колбека отвечал 10405, а поздний /levelplay сам начислял и клал событие в /event/list
  • Callback /levelplay больше не выдаёт награду: проверяет подпись, пишет факт колбека на показ и логирует его для разбора

24.09.2026

Изменено

  • Награда за баунти рефералки в /bounty/get и /batch/call приходит в событии reward с reasonType: referral вместо bounty_claim. Остальные баунти и пакеты, где рефералка смешана с другими баунти, по-прежнему bounty_claim
  • /invites/apply/code отказывает, если у владельца кода уже maxReferralCount приглашённых (commonConstants, по умолчанию 100): ошибка 10405 с details: Inviter has reached the referral limit. Раньше лимит держал только клиент, и сервер принимал 101-го и дальше

23.09.2026

Добавлено

  • Добавлен метод /expedition/claim-all — забирает награды со всех завершённых экспедиций одним запросом. Награды приходят одним событием expedition_claim с reasonId: all, одинаковые ресурсы просуммированы, забранные слоты перечислены в sources

Изменено

  • /push/schedule не ставит уведомление повторно, если оно уже успешно ушло в текущие игровые сутки, и возвращает ошибку Already sent today. Время в следующие сутки по-прежнему принимается
  • Нативный push на Android и iOS берёт заголовок из первой строки перевода текста уведомления, остальные строки уходят в текст сообщения. В Telegram по-прежнему уходит весь перевод. В админке список и заголовок страницы показывают имя пуша, поле названия на странице содержания убрано

22.09.2026

Добавлено

  • Добавлен метод /member/language — сохраняет язык игры, на котором уходят нативные push-уведомления
  • В метод /auth/mobile добавлен необязательный параметр language_code. Неизвестный тег игнорируется, авторизация при этом проходит

10.09.2026

Добавлено

  • Добавлен метод /event/ack — подтверждение событий из /event/list по eventId, одним вызовом на любой тип события. Закрывает и строку индекса, и флаг на исходной сущности; повторный вызов безопасен

Изменено

  • Клиент подтверждает событие в момент показа игроку. События награды за рекламу (reasonType=rewarded_ad) до этого не подтверждались ничем и приходили в /event/list при каждом входе в игру

Удалено

  • Удалён метод /rewarded-ad/ack — его полностью заменяет /event/ack. Живых потребителей у метода не было
  • Методы /migration/ack, /invoice/ack и /compensation/ack остаются: они нужны там, где сущность приходит к клиенту не событием, а списком

08.09.2026

Добавлено

  • Добавлен метод /dev/expedition/reset — возвращает экспедиции игрока в состояние начала суток: снимает блокировки приёмов, убирает слоты, обнуляет потраченные попытки реролла и стирает память о уже выпадавших экспедициях

Изменено

  • Сброс сдвига игрового времени (/dev/time/reset) откатывает и таймстемпы экспедиций: момент применённого суточного сброса попыток и таймеры забега, запущенного под сдвигом. Раньше попытки не восстанавливались, пока реальное время не догонит сдвинутый момент

07.09.2026

Добавлено

  • В слотах ответа группы /expedition появились поля base_rewards и bonus_rewards — награда предложения в формате { type, amount }. Базовая награда теперь зависит от полосы уровней, в которой предложение выпало, поэтому вывести её из шаблона экспедиции больше нельзя

Изменено

  • Экспедиция выкатывается в два шага: тир выбирается по весам полосы уровней игрока (expeditionLevelBands), экспедиция — равновероятно внутри тира. Раньше вес и диапазон уровней задавались у самой экспедиции
  • Количество параллельных слотов (max_slots) берётся из expeditionLevelBands.slotCount. Листа expeditionSlotUnlock и настроек minParallel/maxParallel больше нет
  • Уже выпадавшие экспедиции не участвуют в новых ролах, пока память о них не сбросится: когда в тире не осталось невыпадавших, при переходе игрока в другую полосу уровней и раз в сутки вместе с попытками реролла. Одинаковых предложений в двух слотах одновременно не бывает
  • Реролл заменяет предложение на другое того же тира — раньше той же сложности; при отсутствии замены метод отвечает No other expedition of this tier is available

02.09.2026

Добавлено

  • Добавлены методы /expedition/list, /expedition/start, /expedition/skip, /expedition/reroll и /expedition/claim — экспедиции: выдача доступных, запуск с назначенными приёмами, ускорение за хард, реролл списка и получение награды
  • Все методы группы отвечают одним и тем же состоянием, что и /expedition/list; награда за клейм приходит одним событием в секции events с reasonType: expedition_claim

Изменено

  • Экспорт профиля игрока отдаёт секцию expeditions — слоты экспедиций с назначенными приёмами и таймерами; импорт восстанавливает их вместе с блокировками приёмов. Раньше секция была только в сбросе, и загрузка чужого профиля оставляла слоты прежнего владельца

28.08.2026

Добавлено

  • Добавлен метод /promo-code/activate — активация промокода с начислением наград

26.08.2026

Добавлено

  • Добавлены методы /rewarded-ad/get-status и /rewarded-ad/claim-reward — статус и выдача награды за rewarded-рекламу (LevelPlay S2S)
  • /rewarded-ad/get-status отдаёт availableAt — когда следующий просмотр доступен (кулдаун CDB cooldown или дневной сброс) — и server_time
  • LevelPlay S2S callback на сервисе rtdn: GET/POST /levelplay (тело {EVENT_ID}:OK; ошибка — HTTP 400, тело error)

Изменено

  • Методы /dev/invite/add/random и /dev/invite/add/self выбирают игрока из 50 последних подходящих, а не из всей таблицы игроков
  • В методе /dev/invite/add/random условие «прошел хотя бы один уровень» стало предпочтением: если такого игрока в выборке нет, выбирается любой подходящий вместо ошибки Member not found

20.08.2026

Изменено

  • Метод /bounty/ready снова ограничен по частоте — не более 4 вызовов в секунду на пользователя. Ограничение было потеряно при переименовании метода из check в ready
  • Метод /bounty/get выдаёт награду ровно один раз: из двух одновременных запросов один получает награду, второй — ошибку «Bounty already received». Раньше оба могли пройти проверку и выдать награду дважды

Удалено

  • Из элементов списка метода /invites/list убрано поле levels — прогресс приглашенного пользователя в этом ответе не возвращается

05.08.2026

Добавлено

Изменено

  • Если для нового месяца не сконфигурирован standard-календарь наград за вход, сервер автоматически копирует конфиг последнего закончившегося календаря в новый calendar_id на текущий месяц — раньше фича в этом случае просто пропадала

20.07.2026

Удалено

  • Удалены устаревшие dev-методы /dev/activity/skiptime и /dev/gacha/skiptime

06.07.2026

Изменено

18.06.2026

Изменено

  • В update.member методов /level/complete и /dev/level/complete добавлена секция gacha, чтобы клиент получал актуальный список доступных гач после изменения прогресса уровней

17.06.2026

Добавлено

  • Добавлен метод /dev/energy/tier/reset — сброс шага покупки энергии текущего пользователя на первый тир
  • В объект member.options добавлено поле energy_tier_reset_at — время следующего сброса шага покупки энергии

05.06.2026

Добавлено

  • В метод /auth/mobile добавлен необязательный параметр push_token для сохранения токена устройства (FCM / APNs) при авторизации

20.05.2026

Добавлено

Изменено

  • Методы /dev/currency/set и /dev/currency/refill оставлены для обратной совместимости и скоро перестанут использоваться

15.05.2026

Добавлено

  • Добавлен метод /feature/variant/set для сохранения варианта фичи у игрока
  • Добавлена таблица member_feature_variant; для существующих игроков создаётся вариант tutorial = long
  • В объект member добавлено поле feature_variants

06.05.2026

Добавлено

  • В ответ метода /level/complete добавлено поле rewards со списком фактически выданных наград

20.04.2026

Добавлено

  • Добавлен метод /batch/call — пакетный вызов одного метода в одном запросе, с текущей поддержкой /bounty/get

10.04.2026

Добавлено

  • Добавлен метод /activity/break — деактивация фоновой активности со сбором накоплений

04.04.2026

Добавлено

  • Добавлен метод /battler/combo — сохранение лучшего combo игрока
  • Добавлен метод /member/statistics — получение статистики игрока
  • Добавлена таблица member_stats для хранения лучшего combo игрока
  • Добавлены серверные конфиг-таблицы skill_parameters_progression и skill_battler_calculator для расчета силы умения
  • В таблицу level добавлено поле mode, импортируемое из страниц gameMap, specialLevels и tutorialConfig

31.03.2026

Добавлено

  • Добавлен метод /invites/get/code — получение реферального кода пользователя
  • Добавлен метод /invites/apply/code — применение реферального кода другого пользователя
  • В объект member добавлено поле inviter

Изменено

  • Метод /invites/list теперь обновляет статусы реферальных bounty и возвращает обновление объекта member

27.03.2026

Добавлено

  • Добавлен метод /activity/upgrade — улучшение (открытие) фоновой активности
  • Добавлен метод /activity/upgrade/skip — завершение улучшения фоновой активности
  • Добавлен метод /activity/upgrade/confirm — подтверждение завершения улучшения фоновой активности
  • Добавлен метод /rewards/grant/missed для выдачи пропущенных наград указанного типа за уже пройденные уровни
  • Добавлен метод /dev/player/level/up — повышение уровня игрока на 1
  • Добавлен метод /dev/member/shared/get — список shared_ профилей для импорта
  • Добавлен метод /dev/member/shared/load — загрузка shared_ профиля в текущего пользователя

Изменено

  • В объект activity добавлены поля level, upgrading, upgrade_at, upgraded

25.03.2026

Добавлено

  • Реализована авторизация iOS Guest (type: 2) в методе /auth/mobile
  • В объект member добавлено поле ios_guest_id
  • В метод /dev/unlink добавлен тип 5 - iOS
  • Поддержка iOS Guest ID в фильтрах и отображении административной панели

19.03.2026

Добавлено

  • Поддержка пороговой стоимости улучшения приемов.

Изменено

  • Определение максимального уровня приема (переделана завязка со звездности на уровень игрока).

26.02.2026

Добавлено

  • В методы /auth/telegram и /auth/mobile добавлены необязательные параметры device context: app_platform, distribution, app_version
  • В метод /auth/mobile дополнительно добавлены параметры device context: os_version, device_model и параметры AppsFlyer attribution: appsflyer_id, media_source, campaign, adset, ad, gaid
  • Attribution-данные сохраняются однократно — повторные авторизации не перезаписывают уже сохранённые значения

19.02.2026

Добавлено

  • Ограничение на одну активную сессию на пользователя — при повторной авторизации предыдущая сессия становится невалидной
  • Добавлена ошибка 10450 Session replaced — возвращается при использовании токена замененной сессии, содержит поле reason со значением session_replaced

13.02.2026

Добавлено

  • Добавлен метод /invites/get/link — получение реферальной ссылки
  • В сессию добавлены поля auth_type и auth_id для отслеживания типа авторизации

Изменено

  • Добавлена проверка whitelist на уровне авторизации в методах /auth/telegram и /auth/mobile

10.02.2026

Добавлено

  • Добавлен метод /auth/mobile — авторизация через мобильное приложение
  • Добавлена группа методов /link для привязки внешних аккаунтов:
  • Добавлен административный метод /dev/unlink — отвязка внешнего аккаунта (Telegram, Android, Google)
  • Добавлен метод /member/delete — запрос на удаление аккаунта
  • Добавлен метод /member/delete/cancel — отмена удаления аккаунта

Изменено

  • В метод /invoice/create добавлен необязательный параметр platform (telegram или android)
  • В метод /invoice/status добавлены параметры platform и purchase_token для поддержки Android

02.02.2026

Добавлено

30.01.2026

Добавлено

  • В метод /bounty/ready добавлен необязательный параметр member_id

29.01.2026

Добавлено

27.01.2026

Добавлено

  • Добавлен метод /invites/list
  • В метод /bounty/get добавлен параметр member_id
  • В объект bounty добавлено поле bounty_key

21.01.2026

Добавлено

25.12.2025

Добавлено

23.12.2025

Изменено

  • Метод /dev/reward/check переименован в /dev/bounty/check
  • Метод /reward/ready переименован в /bounty/ready
  • Метод /reward/get переименован в /bounty/get
  • Объект reward переименован в bounty

14.12.2025

Добавлено

  • Добавлен метод /dev/reward/check
  • Добавлен метод /dev/attempts/reset
  • В объект level добавлено поле attempts
  • Добавлена проверка условий главы при старте уровня из этой главы
  • Добавлено увеличение количества попыток прохождения в уровнях, где количество попыток ограничено

Изменено

  • Параметр reward_id в методе /reward/ready переименован в reward_ids
  • Параметр push_id в методе /push/cancel переименован в push_ids
  • Изменен тип параметра push_id в методе /push/schedule

10.12.2025

Добавлено

  • В метод /push/schedule добавлен параметр delay

Изменено

09.12.2025

Добавлено

  • Добавлен объект push
  • Добавлен метод /push/list

03.12.2025

Добавлено

24.11.2025

Добавлено

13.11.2025

Добавлено

  • В метод /level/continue добавлен обязательный параметр level_id

12.11.2025

Добавлено

10.11.2025

Добавлено

Изменено

  • Метод /member/reset перенесен в группу методов для разработчиков - /dev/member/reset
  • Метод /currency/refill перенесен в группу методов для разработчиков - /dev/currency/refill

24.10.2025

Добавлено

  • В объект member.options добавлены поля: energy_regeneration, energy_capacity, energy_current_tier
  • Добавлено метод /energy/buy

15.10.2025

Добавлено

  • В объект spin добавлено поле: synthsphere
  • В объект member добавлено поле: triggers
  • Добавлен объект trigger
  • Добавлен методы /trigger/set
  • Добавлен метод /trigger/add

08.10.2025

Добавлено

07.10.2025

Исправлено

  • Добавлена проверка энергии игрока при старте уровня

Добавлено

  • В объект member добавлено дублирующее поле created_at
  • В объект member добавлено поле is_premium
  • В объект activity добавлены поля launch_at (дублирует launch), reward_at
  • В объект member.gacha добавлены дублирующие поля spin_at, spin_free_at
  • В объект member.options добавлено поле energy_at
  • В метод /activity/collect добавлен параметр activity_id

06.10.2025

Изменено

  • Улучшение умения теперь списывает количество фрагментов в соответствии с конфигом priceStarsLevelProgression
  • Можно начать(а после - завершить) уровень, если он не привязан ни к одной из глав
  • Убрана награда и увеличение уровня игрока после завершения игрового уровня
  • Экипирование умения в занятый слот теперь сначала освобождает этот слот

Добавлено

01.10.2025

Изменено

  • Поле score в объекте level удалено
  • Объект reward в ответе метода /level/complete удален

Добавлено

  • Добавлен расчет звезды завершения уровня в соответствии с конфигом gameLevelReward
  • Добавлена проверка опыта игрока и увеличение уровня с начислением награды в соответствии с конфигом playerExpProgression
  • Добавлено начисление synthSphere в Гача-автомате, в случае если умение игрока имеет максимально-допустимое количество фрагментов
  • Добавлен объект options в объект member

30.09.2025

Изменено

  • Параметр score в методе /level/complete разделен на два - hp, steps
  • Метод /auth/telegram теперь авторизует и регистрирует новых пользователей. Авторизация тестового пользователя описана на странице метода

Добавлено

  • Добавлен метод /member/reset, который позволяет сбросить профиль пользователя
  • Добавлено списание валюты при улучшении умения игрока (метод /skill/levelup), в соответствии с конфигом priceSkillLevelProgression
  • Добавлено начисление в фоновых активностях в соответствии с конфигом afkActivity
  • Добавлено начисление награды и объект reward в методе /level/complete за завершение уровня, в соответствии с конфигом gameLevelReward

24.09.2025

Изменено

  • Поле status в объекте activity переименовано в active

Добавлено

  • Добавлены поля chapter_id, chapter_cid в объект level
  • Добавлено восстановление энергии пользователя
  • Добавлены значения и записи пользователя по умолчанию (валюты, умения, слоты) - данные тестового пользователя сброшены
  • Добавлено списание энергии, при старте уровня, с баланса пользователя, в соответствии с конфигом energySettings.costPerGameLevel

22.09.2025

Изменено

  • Методы /skill/equip и /skill/uneqip перенесены в другую группу - /slot/equip, /slot/uneqip
  • Поле status в объекте level разделено на два - active, complete

Добавлено

  • Добавлен объект spin
  • Добавлен метод /gacha/spin/free
  • Добавлен метод /gacha/spin/token
  • Добавлено поле ref_code в объект member
  • Добавлено поле available в объект member.slots
  • Добавлена проверка доступности слота в методе /slot/equip
  • Добавлено списание фрагментов при улучшении умения
  • Добавлена проверка прогресса игрока по уровням, чтобы исключить пропуск незавершенных уровней
  • Добавлен параметр filter в метод /member/info
  • Добавлен корневой элемент update в ответе api
  • Добавлен параметр ref_code в метод /auth/telegram