Веб-сервисы предназначены для обмена данными между нашим порталом и сайтами игр. В данном разделе приводим описание получения данных с нашего портала с помощью GET или POST запроса.
1. [getClansInfo] - получение списка кланов определенной игры с сортировкой по рейтингу или по количеству добавленных новостей за определенный период. С помощью параметров можно настроить запрос к базе как вам необходимо.
Параметры веб-сервиса:
- gid - ID игры в системе Территории Кланов. Целое число. Например, 208 это игра "Магические Земли"
- q_sort - способ сортировки данных. По умолчанию = 1. Целое число, возможные значения:
- 1 - сортировка по рейтингу кланов
- 2 - сортировка по общему количеству добавленных новостей
- 3 - сортировка по количеству новостей, принятых для публикации на главной портала
- q_days - используется чтобы указать за какой период нужно считать новости. По умолчанию = 0 и выборка происходит за весь период существования клана. Целое число.
- q_limit - количество кланов. Целое число. По умолчанию = 10. Максимальное число = 30.
Как получить XML-данные?
Для этого необходимо отправить GET-запрос типа:
www.clans-zone.ru/netcat/modules/default/api/get_xml.php?act=getClansInfo&gid=GAME_ID&q_sort=1&q_limit=20&q_days=30
При желании можно отправить данные также и POST-запросом.
Примеры использования.
1. Простой вызов с указанием только с обязательных параметров:
...?act=getClansInfo&gid=190
В результате, для игры c ID 190 выведется 10 кланов отсортированных по рейтингу, с указанием количества новостей для каждого из них за весь период.
2. Например, Вы желаете получить данные о 15-ти кланах игры MyLands (id=190), с сортировкой по количеству добавленных ими новостей, причем только за последние 20 дней:
...?act=getClansInfo&gid=190&q_sort=2&q_limit=15&q_days=20
3. Например, Вы желаете получить данные о 20-ти кланах игры Иштвар (id=154), с сортировкой по количеству новостей, принятых на главную портала, за последние 4 дня:
...?act=getClansInfo&gid=154&q_sort=3&q_limit=20&q_days=4
Вы можете прямо сейчас запустить любой из этих примеров и изучить исходный код результатов запроса.
Структура данных.
В случае успешного выполнения запроса сервер даст ответ типа:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<responseCode>1</responseCode>
<clans gid='190' q_limit='15' q_sort='2' t_sort='totalNews' q_days='20' >
<clan>
<ClanID>641</ClanID>
<ClanName>Тирон</ClanName>
<ClanServer>Зеон</ClanServer>
<ClanRating>23.91</ClanRating>
<TotalNews>14</TotalNews>
<SelectedNews>5</SelectedNews>
<UsersCount>28</UsersCount>
<TkSite>obitel.gm-clan.ru</TkSite>
<OutSite></OutSite>
<TkForum>/forum/forum-ishtwar/clan-134/</TkForum>
</clan>
<clan>
......
</clan>
</clans>
</response>
В случае ошибки ответ сервера будет приблизительно такой:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<errorCode>200</errorCode>
<responseCode>0</responseCode>
<detailInfo>Вызов несуществующего сервиса.</detailInfo>
</response>
Что делать с XML-данными?
Полученные данные можно обработать любым удобным для Вас способом. Если Вы раньше с этим не сталкивались - существует множество готовых php-классов (XML-парсеры) для преобразования xml в удобный формат.
Например, класс "ParseXml.class.php", можно скачать здесь. После выполнения метода класса xml-код превращается в обычный многомерный массив. Или можете воспользоваться стандартным php классом SimpleXML.