Сервер Годвилля предоставляет программный доступ к некоторым данным героя, который можно использовать для написания своих программ-следилок.
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 |
Число |
Число собранных тварей женского пола (только у ковчеговладельцев, max = "1000") |
Нет
|
| ark_m |
Число |
Число собранных тварей мужского пола (только у ковчеговладельцев, max = "1000") |
Нет
|
| arena_won |
Число |
Счетчик побед на арене |
Нет
|
| arena_lost |
Число |
Счетчик поражений на арене |
Нет
|
| arena_fight |
Bool |
Находится ли герой на арене/в бою с боссом/в заплыве/ или в подземелье (см. fight_type) |
Да
|
| ark_completed_at |
Строка |
Дата постройки ковчега (есть у всех, null — если ковчег не достроен) |
Нет
|
| ark_name |
Строка |
Название ковчега (есть у тех, кто назвал ковчег) |
Нет
|
| alignment |
Строка |
Характер героя |
Нет
|
| aura |
Строка |
Аура героя (без времени; отсутствует без ауры) |
Да
|
| pairs_at |
Строка |
Дата окончания сбора тварей |
Нет
|
| book_at |
Строка |
Дата окончания написания книги |
Нет
|
| souls_at |
Строка |
Дата окончания сбора душ |
Нет
|
| boss_name |
Строка |
Имя собранного в лаборатории босса |
Нет
|
| boss_power |
Число |
Мощь собранного в лаборатории босса |
Нет
|
| bricks_cnt |
Число |
Количество кирпичей (в штуках, не в процентах; есть всегда, max = "1000") |
Нет
|
| clan |
Строка |
Название гильдии героя (пустая строка, если её нет) |
Нет
|
| clan_position |
Строка |
Звание в гильдии (если гильдии нет, то пустая строка) |
Нет
|
| diary_last |
Строка |
Последняя запись в дневнике |
Да
|
| eye_last |
Строка |
Последняя запись в третьем глазе |
Да
|
| distance |
Число |
Расстояние до столицы (при нахождении в Годвилле = 0) |
Да
|
| exp_progress |
Число |
Прогресс опыта |
Да
|
| expired |
Bool |
показатель неактуальности данных (ключ появляется, когда данные неактуальны)[2] |
Да
|
| fight_type |
Строка |
Тип боя (см. таблицу ниже) |
Да
|
| godpower |
Число |
Количество праны (для пенсионеров 0-200) [3] |
Да
|
| gold_approx |
Строка |
Приблизительное количество золота |
Да
|
| gender |
Строка |
Пол героя |
Нет
|
| godname |
Строка |
Имя бога |
Нет
|
| health |
Число |
Здоровье героя[4] |
Да
|
inventory |
Объект |
Удален, вместо него теперь 'activatables' |
Да
|
| inventory_max_num |
Число |
Максимальный размер инвентаря (max = "50") |
Нет
|
| inventory_num |
Число |
Количество вещей в инвентаре |
Да
|
| level |
Число |
Уровень героя |
Нет
|
| max_health |
Число |
Максимальный запас здоровья |
Нет
|
| motto |
Строка |
Девиз (может быть пустой строкой) |
Нет
|
| name |
Строка |
Имя героя |
Нет
|
| pet |
Объект |
Объект, содержащий описание питомца (подробности ниже) |
Нет
|
| quest_progress |
Число |
Процент выполнения задания |
Да
|
| quest |
Строка |
Текст текущего задания |
Да
|
| side_job_progress |
Число |
Процент выполнения подряда |
Да
|
| side_job |
Строка |
Текст текущего подряда |
Да
|
| savings |
Строка |
Число сбережений (только у храмовладельцев, max = "30000 тысяч") |
Нет
|
| savings_completed_at |
Строка |
Дата окончания сбора пенсии (только у пенсионеров) |
Нет
|
| shop_name |
Строка |
Название лавки (только у пенсионеров) |
Нет
|
| souls_percent |
Строка |
Количество собранных душ в процентах (только у книжников) |
Нет
|
| relics_percent |
Строка |
Количество найденных реликвий в процентах |
Нет
|
| t_level |
Число |
Уровень героя-торговца (только у лавочников) |
Нет
|
| temple_completed_at |
Строка |
Дата окончания храма (только у храмовладельцев) |
Нет
|
| town_name |
Строка |
Город, в котором герой (пустая строка, если в поле, и нет ключа, если в бою) |
Да
|
| wood_cnt |
Число |
Количество поленьев (пока нет храма, ключ отсутствует) |
Нет
|
| words |
Число |
Число собранных слов для книги (без слогов; ключ исчезает, если есть ключ book_at) |
Нет
|
| Объект pet (питомец)
|
| Ключ |
Тип |
Описание
|
| pet_class |
Строка |
Вид питомца
|
| pet_level |
Число |
Уровень питомца (пустая строка, если питомец лишился уровня)
|
| pet_name |
Строка |
Имя питомца (например, Пуха «Беспечный»)[5]
|
| wounded |
Bool |
Флаг контузии питомца (есть только у контуженого)
|
| Типы боев
|
| Ключ |
Описание
|
| arena |
арена (ЗПГ в том числе)
|
| boss |
босс (мини-квест)
|
| boss_m |
босс (зацеп)
|
| challenge |
тренировка
|
| dungeon |
подземелье
|
| multi_monster |
группа монстров
|
| range |
полигон
|
| sail |
морской поход
|
Примечания
- ↑ Уточнения приветствуются.
- ↑ Чтобы данные стали актуальными, требуется периодическое (раз в час) посещение страницы героя в браузере или одним из полноценных клиентов. Если expired = true, то герой не посещался слишком давно и остальные данные уже не актуальны.
- ↑ Во время битвы с боссом (возможно и в остальных битвах при arena_fight = true) равняется нулю.
- ↑ Здоровье именно героя. Не босса и не ковчега. То есть в подземелье оно показывает актуальные данные, а вот в море и на полигоне - просто состояние героя перед началом приключения.
- ↑ У контуженного питомца имя содержит "❌".