API: различия между версиями

Материал из Энциклобогии
Перейти к навигации Перейти к поиску
м (перепроверил, ошибка возникала по неизвестной другой причине)
Нет описания правки
Строка 8: Строка 8:


По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API", добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя.
По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API", добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя.
Смысл большинства полей очевиден из их названия. Самое сложное:
* '''expired''' - показатель неактуальности данных. Для того, чтобы данные подавались в реальном времени, требуется периодическое (раз в час) посещение страницы героя, любая активность пользователя на ней или посещение героя одним из полноценных клиентов. Если ''expired = true'', то герой не посещался слишком давно и остальные данные уже не актуальны ''(знаем, что неудобно, но пока только так)''.
* '''diary_last''' - последняя запись из дневника героя.
* '''arena_fight''' - показатель нахождения на арене или в полевом пвп (можно использовать для индикации необходимости присмотра пользователем).


Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление.
Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление.
Строка 25: Строка 17:
!Ключ || Тип || Описание  
!Ключ || Тип || Описание  
|-
|-
|arena_fight || Bool || Находится ли герой на арене (моря и подземелья возвращают False)  
|arena_fight || Bool || Находится ли герой на арене (моря и подземелья возвращают False)<ref>Для косвенного определения подземелья можно использовать тот факт, что показатель godpower в подземелье всегда 0</ref>
|-
|-
|ark_completed_at || Строка || Время окончания ковчега (null если ещё не окончен)  
|ark_completed_at || Строка || Время окончания ковчега (null если ещё не окончен)  
Строка 44: Строка 36:
|-
|-
|exp_progress || Число || Количество опыта  
|exp_progress || Число || Количество опыта  
|-
|expired || Bool || показатель неактуальности данных (ключ есть только если данные неактуальны)<ref>Для того, чтобы данные подавались в реальном времени, требуется периодическое (раз в час) посещение страницы героя, любая активность пользователя на ней или посещение героя одним из полноценных клиентов. Если ''expired = true'', то герой не посещался слишком давно и остальные данные уже не актуальны ''(знаем, что неудобно, но пока только так)''.</ref><ref>Замечено, что если герой долго не посещался, сервер и вовсе может вернуть 500 ошибку.</ref>
|-
|-
|godpower || Число || Количество праны (для пенсионеров 0-200)  
|godpower || Число || Количество праны (для пенсионеров 0-200)  

Версия от 12:23, 23 декабря 2016

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

API доступен в двух форматах (JSON и XML):

godville.net/gods/api/<username>.json 

или (менее предпочтительно)

godville.net/gods/api/<username>.xml 

По умолчанию в нем доступен только базовый набор сведений о герое, примерно совпадающий с содержимым персональной страницы. Если за героем хочется наблюдать в реальном времени, то необходимо включить в профиле игры галочку "Оперативные данные в API", добавляющую десять с лишним часто меняющихся полей наподобие инвентаря. При этом нужно учитывать, что любой желающий тоже сможет подглядывать за личной жизнью вашего героя.

Данные обновляются раз в минуту, поэтому дергать сервер чаще смысла нет. При слишком частых запросах (существует ограничение “не больше 30 запросов за 10 минут в связке (бог+ip)”) данные героя перестают возвращаться, выводя соответствующее уведомление.

Кроме того, существует расширенное API, позволяющее писать полноценные клиенты с возможностью влияния на героя.

Примечания

  1. Список неофициальный, а значит может быть неполным или ошибочным. Уточнения приветствуются.
  2. Для косвенного определения подземелья можно использовать тот факт, что показатель godpower в подземелье всегда 0
  3. Для того, чтобы данные подавались в реальном времени, требуется периодическое (раз в час) посещение страницы героя, любая активность пользователя на ней или посещение героя одним из полноценных клиентов. Если expired = true, то герой не посещался слишком давно и остальные данные уже не актуальны (знаем, что неудобно, но пока только так).
  4. Замечено, что если герой долго не посещался, сервер и вовсе может вернуть 500 ошибку.
  5. На данный момент нет информации о том как выглядит информация о контуженном или безуровневом питомце.
  6. Нужно проверить как выглядят нежирные активашки (рыбацкие).
  7. Нужно проверить, покажет ли 25 в день, когда прогноз на дешевые активации.