API
Сервер Годвилля предоставляет программный доступ к некоторым данным героя, который можно использовать для написания своих программ-следилок.
API доступен в двух видах:
- Открытый (базовый набор сведений о герое, похожий на его персональную страницу):
godville.net/gods/api/<godname>
- Приватный (оперативный набор данных героя, известных только хозяину; работает с 15.03.2017):
godville.net/gods/api/<godname>/<token>
Для доступа ко второму API хозяину героя нужно получить ключ (token) в профиле игры. Изредка ключ может сбрасываться (в этом случае приватный API превратится в открытый) - разработчикам стоит предвидеть такую ситуацию и предлагать пользователю сходить в профиль за новым.
Общие моменты:
- API возвращает данные только в формате JSON.
- Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах данные героя перестают возвращаться, выводя соответствующее уведомление.
- Массовое или частое сканирование страниц игры (в том числе API различных героев) запрещено правилами игры и может привести к блокировкам.
Список ключей JSON[1] | |||
---|---|---|---|
Ключ | Тип | Описание | Только с ключом? |
activatables | Объект | Массив с перечнем активируемых трофеев в инвентаре | Да |
ark_f | Число | Число собранных тварей женского пола (только у ковчеговладельцев) | Нет |
ark_m | Число | Число собранных тварей мужского пола (только у ковчеговладельцев) | Нет |
arena_won | Число | Счетчик побед на арене | Нет |
arena_lost | Число | Счетчик поражений на арене | Нет |
arena_fight | Bool | Находится ли герой на арене/в бою с боссом/в заплыве/ или в подземелье (см. fight_type) | Да |
ark_completed_at | Строка | Дата постройки ковчега (есть только у тех, кто достроил ковчег) | Нет |
alignment | Строка | Характер героя | Нет |
aura | Строка | Аура героя (без времени; отсутствует без ауры) | Да |
book_at | Строка | Дата окончания написания книги | Нет |
boss_name | Строка | Имя собранного в лаборатории босса | Нет |
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] | Да |
Объект | Удален, вместо него теперь 'activatables' | Да | |
inventory_max_num | Число | Максимальный размер инвентаря | Нет |
inventory_num | Число | Количество вещей в инвентаре | Да |
level | Число | Уровень героя | Нет |
max_health | Число | Максимальный запас здоровья | Нет |
motto | Строка | Девиз (может быть пустой строкой) | Нет |
name | Строка | Имя героя | Нет |
pet | Объект | Объект, содержащий описание питомца (подробности ниже) | Нет |
quest_progress | Число | Процент выполнения задания | Да |
quest | Строка | Текст текущего задания | Да |
savings | Строка | Примерное число сбережений (только у храмовладельцев) | Нет |
savings_completed_at | Строка | Дата окончания сбора пенсии (только у пенсионеров) | Нет |
shop_name | Строка | Название лавки (только у пенсионеров) | Нет |
t_level | Число | Уровень героя-торговца (только у лавочников) | Нет |
temple_completed_at | Строка | Дата окончания храма (только у храмовладельцев) | Нет |
town_name | Строка | Город, в котором герой (пустая строка, если в поле, и нет ключа, если в бою) | Да |
wood_cnt | Число | Количество поленьев (пока нет храма, ключ отсутствует) | Нет |
words | Число | Число собранных слов для книги (без слогов) | Нет |
Объект pet (питомец) | ||
---|---|---|
Ключ | Тип | Описание |
pet_class | Строка | Вид питомца |
pet_level | Число | Уровень питомца (пустая строка, если питомец лишился уровня) |
pet_name | Строка | Имя питомца (например, Пуха «Беспечный»)[4] |
wounded | Bool | Флаг контузии питомца (есть только у контуженого) |
Примечания
- ↑ Уточнения приветствуются.
- ↑ Чтобы данные стали актуальными, требуется периодическое (раз в час) посещение страницы героя в браузере или одним из полноценных клиентов. Если expired = true, то герой не посещался слишком давно и остальные данные уже не актуальны.
- ↑ Здоровье именно героя. Не босса и не ковчега. То есть в подземелье оно показывает актуальные данные, а вот в море и на полигоне - просто состояние героя перед началом приключения.
- ↑ У контуженного питомца имя содержит "❌".