API: различия между версиями
Godville (обсуждение | вклад) Нет описания правки |
(Составил список json ключей, до каких смог добраться) |
||
| Строка 7: | Строка 7: | ||
godville.net/gods/api/<username>.xml | godville.net/gods/api/<username>.xml | ||
По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API", добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя. | По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API"<ref>На 22.12.2016 сервер возвращает ошибку 500, если галочка не стоит.</ref>, добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя. | ||
Смысл большинства полей очевиден из их названия. Самое сложное: | Смысл большинства полей очевиден из их названия. Самое сложное: | ||
| Строка 18: | Строка 18: | ||
Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление. | Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление. | ||
{| class="wikitable collapsible collapsed" | |||
|- | |||
!colspan="3" align="left" |Список ключей JSON<ref>Список неофициальный, а значит может быть неполным или ошибочным. Уточнения приветствуются.</ref> | |||
|- | |||
!Ключ || Тип || Описание | |||
|- | |||
|arena_fight || Bool || Находится ли герой на арене (моря и подземелья возвращают False) | |||
|- | |||
|ark_completed_at || Строка || Время окончания ковчега (null если ещё не окончен) | |||
|- | |||
|alignment || Строка || Характер героя | |||
|- | |||
|aura || Строка || Название ауры на герое, без времени(Если ауры нет, то ключа тоже нет) | |||
|- | |||
|bricks_cnt || Число || количество кирпичей (не в процентах, показывается даже если храм окончен или ещё не начат) | |||
|- | |||
|clan || Строка || Название гильдии героя, пустая строка если её нет | |||
|- | |||
|clan_position || Строка || Звание в гильдии (если гильдии нет, то "фанат") | |||
|- | |||
|diary_last || Строка || Последняя запись в дневнике | |||
|- | |||
|distance || Число || Расстояние до столицы (при нахождении в любом городе 0) | |||
|- | |||
|exp_progress || Число || Количество опыта | |||
|- | |||
|godpower || Число || Количество праны (для пенсионеров 0-200) | |||
|- | |||
|gold_approx || Строка || Приблизительное количество золота | |||
|- | |||
|gender || Строка || Пол героя | |||
|- | |||
|godname || Строка || Имя бога | |||
|- | |||
|health || Число || Здоровье героя | |||
|- | |||
|inventory_max_num || Число || Максимальный размер инвентаря | |||
|- | |||
|inventory_num || Число || Количество вещей в инвентаре | |||
|- | |||
|inventory || Объект || Объект, содержащий список вещей в инвентаре (подробности ниже) | |||
|- | |||
|level || Число || Уровень героя | |||
|- | |||
|max_health || Число || Максимальный запас здоровья | |||
|- | |||
|motto || Строка || Девиз (может быть пустой строкой) | |||
|- | |||
|name || Строка || Имя героя | |||
|- | |||
|pet || Объект || Объект, содержащий описание питомца (подробности ниже) | |||
|- | |||
|quest_progress || Число || % выполнения квеста | |||
|- | |||
|quest || Строка || Квест | |||
|- | |||
|savings_completed_at || Строка || Дата окончания сбора пенсии (только у пенсионеров) | |||
|- | |||
|temple_completed_at || Строка || Дата окончания храма (только у храмовладельцев) | |||
|- | |||
|town_name || Строка || Город, в котором герой (пустая строка, если в поле) | |||
|- | |||
|wood_cnt || Число || Количество поленьев (пока нет храма, ключ отсутствует) | |||
|- | |||
|} | |||
{| class="wikitable collapsible collapsed" | |||
|- | |||
!colspan="3" align="left" |Состояние питомца<ref>На данный момент нет информации о том как выглядит информация о контуженном или безуровневом питомце.</ref> | |||
|- | |||
!Ключ || Тип || Описание | |||
|- | |||
|pet_class || Строка || Вид, к которому относится животное | |||
|- | |||
|pet_level || Число || Уровень животного | |||
|- | |||
|pet_name || Строка || Имя животного (Например, 'Пуха «Беспечный»') | |||
|- | |||
|} | |||
{| class="wikitable collapsible collapsed" | |||
|- | |||
!colspan="3" align="left" |Описание предметов<ref>Нужно проверить как выглядят нежирные активашки (рыбацкие).</ref> | |||
|- | |||
!Ключ || Тип || Описание | |||
|- | |||
|cnt || Число || Количество экземпляров данного предмета | |||
|- | |||
|pos || Число || Позиция в инвентаре | |||
|- | |||
|price || Число || "Цена" (0 для простых трофеев, 101 для жирных) | |||
|- | |||
|type || Строка || Тип (есть только у лечилок, всегда 'heal_potion') | |||
|- | |||
|activate_by_user || Bool || Активируемый (Есть только у ативируемых) | |||
|- | |||
|needs_godpower || Число || Стоимость активации<ref>Нужно проверить, покажет ли 25 в день, когда прогноз на дешевые активации.</ref> (Есть только у ативируемых) | |||
|- | |||
|description || Строка || Описание эффекта предмета (Есть только у ативируемых) | |||
|- | |||
|} | |||
Кроме того, существует [[расширенное API]], позволяющее писать полноценные клиенты с возможностью влияния на героя. | Кроме того, существует [[расширенное API]], позволяющее писать полноценные клиенты с возможностью влияния на героя. | ||
===Примечания=== | |||
<references /> | |||
[[Категория:Техническое]] | [[Категория:Техническое]] | ||
Версия от 17:20, 22 декабря 2016
Сервер Годвилля предоставляет программный доступ к большинству данных героя, который можно использовать для написания сторонних программ.
API доступен в двух форматах (JSON и XML):
godville.net/gods/api/<username>.json
или (менее предпочтительно)
godville.net/gods/api/<username>.xml
По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API"[1], добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя.
Смысл большинства полей очевиден из их названия. Самое сложное:
- expired - показатель неактуальности данных. Для того, чтобы данные подавались в реальном времени, требуется периодическое (раз в час) посещение страницы героя, любая активность пользователя на ней или посещение героя одним из полноценных клиентов. Если expired = true, то герой не посещался слишком давно и остальные данные уже не актуальны (знаем, что неудобно, но пока только так).
- diary_last - последняя запись из дневника героя.
- arena_fight - показатель нахождения на арене или в полевом пвп (можно использовать для индикации необходимости присмотра пользователем).
Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление.
| Список ключей JSON[2] | ||
|---|---|---|
| Ключ | Тип | Описание |
| arena_fight | Bool | Находится ли герой на арене (моря и подземелья возвращают False) |
| ark_completed_at | Строка | Время окончания ковчега (null если ещё не окончен) |
| alignment | Строка | Характер героя |
| aura | Строка | Название ауры на герое, без времени(Если ауры нет, то ключа тоже нет) |
| bricks_cnt | Число | количество кирпичей (не в процентах, показывается даже если храм окончен или ещё не начат) |
| clan | Строка | Название гильдии героя, пустая строка если её нет |
| clan_position | Строка | Звание в гильдии (если гильдии нет, то "фанат") |
| diary_last | Строка | Последняя запись в дневнике |
| distance | Число | Расстояние до столицы (при нахождении в любом городе 0) |
| exp_progress | Число | Количество опыта |
| godpower | Число | Количество праны (для пенсионеров 0-200) |
| gold_approx | Строка | Приблизительное количество золота |
| gender | Строка | Пол героя |
| godname | Строка | Имя бога |
| health | Число | Здоровье героя |
| inventory_max_num | Число | Максимальный размер инвентаря |
| inventory_num | Число | Количество вещей в инвентаре |
| inventory | Объект | Объект, содержащий список вещей в инвентаре (подробности ниже) |
| level | Число | Уровень героя |
| max_health | Число | Максимальный запас здоровья |
| motto | Строка | Девиз (может быть пустой строкой) |
| name | Строка | Имя героя |
| pet | Объект | Объект, содержащий описание питомца (подробности ниже) |
| quest_progress | Число | % выполнения квеста |
| quest | Строка | Квест |
| savings_completed_at | Строка | Дата окончания сбора пенсии (только у пенсионеров) |
| temple_completed_at | Строка | Дата окончания храма (только у храмовладельцев) |
| town_name | Строка | Город, в котором герой (пустая строка, если в поле) |
| wood_cnt | Число | Количество поленьев (пока нет храма, ключ отсутствует) |
| Состояние питомца[3] | ||
|---|---|---|
| Ключ | Тип | Описание |
| pet_class | Строка | Вид, к которому относится животное |
| pet_level | Число | Уровень животного |
| pet_name | Строка | Имя животного (Например, 'Пуха «Беспечный»') |
| Описание предметов[4] | ||
|---|---|---|
| Ключ | Тип | Описание |
| cnt | Число | Количество экземпляров данного предмета |
| pos | Число | Позиция в инвентаре |
| price | Число | "Цена" (0 для простых трофеев, 101 для жирных) |
| type | Строка | Тип (есть только у лечилок, всегда 'heal_potion') |
| activate_by_user | Bool | Активируемый (Есть только у ативируемых) |
| needs_godpower | Число | Стоимость активации[5] (Есть только у ативируемых) |
| description | Строка | Описание эффекта предмета (Есть только у ативируемых) |
Кроме того, существует расширенное API, позволяющее писать полноценные клиенты с возможностью влияния на героя.
Примечания
- ↑ На 22.12.2016 сервер возвращает ошибку 500, если галочка не стоит.
- ↑ Список неофициальный, а значит может быть неполным или ошибочным. Уточнения приветствуются.
- ↑ На данный момент нет информации о том как выглядит информация о контуженном или безуровневом питомце.
- ↑ Нужно проверить как выглядят нежирные активашки (рыбацкие).
- ↑ Нужно проверить, покажет ли 25 в день, когда прогноз на дешевые активации.