API

Материал из Энциклобогии
Перейти к: навигация, поиск

Сервер Годвилля предоставляет программный доступ к некоторым данным героя, который можно использовать для написания своих программ-следилок.

API доступен в двух видах:

  • Открытый (базовый набор сведений о герое, похожий на его персональную страницу):
godville.net/gods/api/<godname>
  • Приватный (оперативный набор данных героя, известных только хозяину; работает с 15.03.2017):
godville.net/gods/api/<godname>/<token>

Для доступа ко второму API хозяину героя нужно получить ключ (token) в профиле игры. Изредка ключ может сбрасываться (в этом случае приватный API превратится в открытый) - разработчикам стоит предвидеть такую ситуацию и предлагать пользователю сходить в профиль за новым.

Общие моменты:

  • API возвращает данные только в формате JSON.
  • Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах данные героя перестают возвращаться, выводя соответствующее уведомление.
  • Массовое или частое сканирование страниц игры (в том числе API различных героев) запрещено правилами игры и может привести к блокировкам.
Список ключей JSON[1]
Ключ Тип Описание Только с ключом?
words Число Число собранных слов для книги (без слогов) Нет
boss_name Строка Имя собранного в лаборатории босса Нет
boss_power Число Мощь собранного в лаборатории босса Нет
activatables Объект Массив с перечнем активируемых трофеев в инвентаре Да
ark_f Число Число собранных тварей женского пола (только у ковчеговладельцев) Нет
ark_m Число Число собранных тварей мужского пола (только у ковчеговладельцев) Нет
savings Строка Примерное число сбережений (только у храмовладельцев) Нет
t_level Число Уровень героя-торговца (только у лавочников) Нет
arena_won Число Счетчик побед на арене Нет
arena_lost Число Счетчик поражений на арене Нет
inventory Объект Удален, вместо него теперь 'activatables' Да
arena_fight Bool Находится ли герой на арене/в бою с боссом/в заплыве/ или в подземелье (см. fight_type) Да
ark_completed_at Строка Дата постройки ковчега (есть только у тех, кто достроил ковчег) Нет
alignment Строка Характер героя Нет
aura Строка Аура героя (без времени; отсутствует без ауры) Да
bricks_cnt Число Количество кирпичей (в штуках, не в процентах; есть всегда) Нет
clan Строка Название гильдии героя (пустая строка, если её нет) Нет
clan_position Строка Звание в гильдии (если гильдии нет, то пустая строка) Нет
diary_last Строка Последняя запись в дневнике Да
distance Число Расстояние до столицы (при нахождении в любом городе 0) Да
exp_progress Число Прогресс опыта Да
expired Bool показатель неактуальности данных (ключ появляется, когда данные неактуальны)[2] Да
fight_type Строка Тип боя ("sail" - морской поход, "arena" - арена (ЗПГ в том числе), "challenge" - тренировка, "dungeon" - подземелье, "range" - полигон Да
godpower Число Количество праны (для пенсионеров 0-200) Да
gold_approx Строка Приблизительное количество золота Да
gender Строка Пол героя Нет
godname Строка Имя бога Нет
health Число Здоровье героя [3] Да
inventory_max_num Число Максимальный размер инвентаря Нет
inventory_num Число Количество вещей в инвентаре Да
level Число Уровень героя Нет
max_health Число Максимальный запас здоровья Нет
motto Строка Девиз (может быть пустой строкой) Нет
name Строка Имя героя Нет
pet Объект Объект, содержащий описание питомца (подробности ниже) Нет
quest_progress Число Процент выполнения задания Да
quest Строка Текст текущего задания Да
savings_completed_at Строка Дата окончания сбора пенсии (только у пенсионеров) Нет
shop_name Строка Название лавки (только у пенсионеров) Нет
temple_completed_at Строка Дата окончания храма (только у храмовладельцев) Нет
town_name Строка Город, в котором герой (пустая строка, если в поле, и нет ключа, если в бою) Да
wood_cnt Число Количество поленьев (пока нет храма, ключ отсутствует) Нет

Примечания

  1. Уточнения приветствуются.
  2. Чтобы данные стали актуальными, требуется периодическое (раз в час) посещение страницы героя в браузере или одним из полноценных клиентов. Если expired = true, то герой не посещался слишком давно и остальные данные уже не актуальны.
  3. Здоровье именно героя. Не босса и не ковчега. То есть, в подземелье оно показывает актуальные данные, а вот в море и на полигоне - просто состояние героя перед началом приключения.