Этот пост представляет собой подборку магических приёмов, которая будет интересна только сторонним разработчикам, использующим Splinterlands API. Если вы не разработчик, приведённая ниже информация (хотя и потенциально полезная, если вы технически подкованы), скорее всего, не будет представлять большого интереса, и вам, вероятно, можно прекратить чтение прямо сейчас.
Определение карт форматов Modern и Wild
Формат | Разрешённые карты |
---|---|
Wild | Все |
Modern | Chaos Legion, Dice, Untamed, наградные и промо карты с рамками стиля Untamed или Chaos Legion также считаются Modern. |
Техническое определение: любая карта издания [4,5,7], ИЛИ ряда [3,4,7], считается подходящей для Modern.
Для всех API, которые возвращают данные игроков (включая упомянутые ниже, но не ограничиваясь ими), были добавлены новые поля, содержащие статистику Modern. Эти новые поля будут дополнять исходную статистику (которая теперь интерпретируется как для формата Wild). Все такие поля будут начинаться с префикса modern_
. Данные, не имеющие явного префикса modern_
, следует считать данными типа Wild.
Для всех API, которые возвращают данные о битвах, в данные ответа будет включено новое поле format
. Это поле будет установлено на modern, если оно определено. Если оно не определено, битва относится к Wild.
Список API
settings (также доступны в консоли браузера как SM.settings)
Добавлены следующие поля:
modern_num_editions
работает аналогичноnum_editions
, но для формата Modern. Текущее значение равно 5.- Конфигурация
battles.modern
, точно определяющая, что такое Modern карта:
leaderboard_prizes
реорганизовано в подкатегорииwild
иmodern
leagues
реорганизовано в подкатегорииwild
иmodern
Удалены следующие поля:
new_rewards_season
больше не нужно, так как поддержка функцонала Pre-Ranked Rewards V2 прекращена.quests
больше не нужно, так как поддержка квестов старого стиля была прекращена (заменено новым полемdaily_quests
).
Пример: https://qa.splinterlands.com/settings
players/season_ratings
Этот API больше не поддерживается, и любая попытка его использования будет выдавать сообщение об ошибке.
players/quests
Поле league
было удалено из данных ответа.
Пример: https://qa.splinterlands.com/players/quests?username=farpetrad
players/refresh_season_data
Данные ответов теперь включают дополнительную информацию о статистике Modern. Данные, не имеющие явного префикса modern_
, следует считать данными типа Wild. Были добавлены поля current_modern_season_player
и previous_modern_season_player
, которые функционируют так же, как и их аналоги в Wild. Обратите внимание, что эти необязательные поля не будут определены, если игрок не сыграл ни одну Modern битву в соответствующих сезонах.
Пример: https://qa.splinterlands.com/players/refresh_season_data?token=XXXXXXXXXX&username=myname
players/refresh
Данные ответов теперь включают дополнительную информацию о статистике Modern. Данные, не имеющие явного префикса modern_
, следует считать данными типа Wild.
Пример: https://qa.splinterlands.com/players/refresh?token=XXXXXXXXXX&username=myname
players/details
Добавлен необязательный параметр запроса format, который, если используется, должен быть установлен либо на modern, либо на all. Этот параметр имеет значение только если используется в сочетании с параметром seasondetails. Он определяет, относится ли возвращенный объект season_details к Wild или Modern. Если format отсутствует, API по умолчанию будет предоставлять результаты season_details только для формата Wild.
Также было добавлено новое поле player_uuid
, содержащее уникальный UUID запрашиваемого игрока.
Допустимые значения для seasondetails (это должно быть строковое значение):
- true — добавляет объект season_details в дополнение к стандартной информации об игроке
- only — возвращает только объект season_details без какой-либо другой информации об игроке
Допустимые значения для format (это должно быть строковое значение):
- modern — выдаёт season_details для формата Modern
- all — выдаёт season_details для форматов Modern и Wild (в данных ответа будут
season_details.modern
иseason_details.wild
)
Пример: https://qa.splinterlands.com/players/details?name=brybro27&season_details=true&format=modern
players/details_by_id
Добавлен необязательный параметр запроса format. Параметры format и seasondetails теперь подчиняются тем же правилам и поддерживают те же значения, что и приведённый выше API players/details. Этот API работает точно так же, за исключением того, что player/details_by_id позволяет выполнять поиск по уникальному UUID вместо имени игрока.
players/dec
В данные ответа добавлены новые поля modern_inflation
и modern_reward_pool
.
Пример: https://qa.splinterlands.com/players/dec
players/leaderboard_with_player
Добавлен необязательный параметр запроса format, который, если используется, должен быть установлен на modern. Если format отсутствует, API по умолчанию будет выдавать результаты только для формата Wild.
players/leaderboard
Добавлен необязательный параметр запроса format, который, если используется, должен быть установлен на modern. Если format отсутствует, API по умолчанию будет выдавать результаты только для формата Wild.
Пример: https://qa.splinterlands.com/players/leaderboard?season=89&leaderboard=2&format=modern
players/recent_teams
Добавлен необязательный параметр запроса format, который, если используется, должен быть установлен на modern. Если format отсутствует, API по умолчанию будет выдавать результаты только для формата Wild.
Пример: https://qa.splinterlands.com/players/recent_teams?player=brybro27&format=modern
battle/history
Добавлен необязательный параметр запроса format, который может быть установлен на modern или wild. Если format отсутствует, API по умолчанию будет выдавать смешанные результаты для обоих форматов.
Пример: https://qa.splinterlands.com/battle/history?player=brybro27&format=modern
battle/history2
Добавлен необязательный параметр запроса format, который, если используется, должен быть установлен на modern. Если format отсутствует, API по умолчанию будет выдавать результаты только для формата Wild.
Пример: https://qa.splinterlands.com/battle/history2?player=$top&leaderboard=2&format=modern
Изменения транзакций в блокчейне
- sm_advance_league — добавлено необязательное кастомное JSON поле format, которое, если используется, должно быть установлено на modern. Если format отсутствует, то транзакция по умолчанию будет обрабатываться в формате Wild.
- find_match — параметр matchtype может быть опционально установлен на Modern Ranked или Wild Ranked. Использование Pre-Modern & Wild нужно установить на Ranked, который будет сохранен для обратной совместимости и интерпретируется как означающий Wild Ranked.
Турниры
В данные настроек турнира allowed_cards
добавлено новое поле epoch. Если оно присутствует, epoch будет либо modern, либо wild. Для более старых турниров epoch может быть не определено. Если epoch не определено, турнир будет обрабатываться как Wild турнир.
Modern турниры позволяют использовать только карты Modern. В таких турнирах все остальные настройки, такие как ограничения по изданию, правила золотой фольги и т. д., применяются как обычно.
Также обратите внимание, что в турнирах Modern в требованиях к Collection Power учитываются только карты Modern, а скидки на вступительный взнос зависят от Modern лиги игрока. Для турниров Wild скидки на вступительный взнос зависят от Wild лиги игрока.
Пример: https://qa.splinterlands.com/tournaments/find?id=18d8886db38128a011290d76d76261e48f869b1c
Важное примечание
Примеры API, приведённые выше, являются лишь примерами того, как должны формироваться подобные запросы. Мы не даём гарантии, что они действительно вернут данные, так как состояние QA среды постоянно меняется.
Кроме того, прежде чем тестировать свое приложение в рамках QA, вы должны убедиться в Discord Splinterlands, что там были развёрнуты Modern & Wild. На момент написания поста это ещё не было сделано. Это будет реализовано в скором времени, о чём мы уведомим в канале developers-3rd-party.
Оригинал поста: ЗДЕСЬ
Подпишитесь, чтобы всегда быть в курсе новостей вселенной Splinterlands!