Уважаемые коллеги
Мы сделали XML API для тех кто занимается разработкой радиолюбительского программного обеспечения. XML API расположено по адресу http://api.qrz.ru/
Порядок работы:
1. Авторизуемся в API, получаем код сессии
Код:
http://api.qrz.ru/login?u=<username>&p=<password>&agent=<agent>
где
u - имя пользователя (логин) XML API (обязательный параметр)
p - пароль пользователя XML API (обязательный параметр)
agent - программное обеспечение (название, версия) которое запрашивает доступ.
Если параметр не задан, используется переменная HTTP_USER_AGENT из служебных заголовков сервера
Для сохранения конфиденциальности логина/пароля рекомендуется параметры передавать POST запросом
Ответ сервера в случае корректной авторизации
Код:
<?xml version="1.0"?>
<QRZDatabase version="1.0" xmlns="http://api.qrz.ru/namespace">
<Session>
<session_id>eda28b5e22790226247551ad32c2a71a</session_id>
<GMTime>Sun, 27 Oct 2013 15:46:58 +0000</GMTime>
</Session>
</QRZDatabase>
либо в случае отказа в авторизации
Код:
<?xml version="1.0"?>
<QRZDatabase version="1.0" xmlns="http://api.qrz.ru/namespace">
<session>
<errorcode>403</errorcode>
<error>Wrong user name or password</error>
</session>
</QRZDatabase>
Время жизни предоставленного ключа сессии - 1 час. По истечении этого времени вы получите ошибку
Код:
<?xml version="1.0"?>
<QRZDatabase version="1.0" xmlns="http://api.qrz.ru/namespace">
<session>
<errorcode>403</errorcode>
<error>Session does not exist or expired</error>
</session>
</QRZDatabase>
что означает - вам следует снова авторизоваться
2. Осуществляем запросы в рамках предоставленной сессии
Общий синтаксис запроса:
Код:
http://api.qrz.ru/callsign?id=<session_id>&callsign=<callsign>
где
id -идентификатор сессии выданный после авторизации (точное соответствие)
callsign - интересующий вас позывной (любой регистр)
На примере своего позывного и выданного выше номера сессии:
Код:
http://api.qrz.ru/callsign?id=eda28b5e22790226247551ad32c2a71a&callsign=ua9oty
Ответ сервера будет таким:
Код:
<?xml version="1.0"?>
<QRZDatabase version="1.0" xmlns="http://api.qrz.ru/namespace">
<Callsign>
<call>UA9OTY</call>
<type>0</type>
<othercall>UA0SRX</othercall>
<surname>Ильюхин</surname>
<name>Сергей</name>
<name2>Юрьевич</name2>
<esurname>Ilyukhin</esurname>
<ename>Sergey</ename>
<ename2>Yurievich</ename2>
<birthday>05.01.1975</birthday>
<dayofdeath></dayofdeath>
<zip>630089</zip>
<city>Новосибирск-89,</city>
<street>а/я 467</street>
<country>Россия</country>
<url>http://www.qsl.net/ua9oty</url>
<icq>7426815</icq>
<skype>ua9oty</skype>
<created>02.07.2005 17:25:55</created>
<lastedit>25.11.2009 23:25:34</lastedit>
<lookup>16397</lookup>
</Callsign>
<Files>
</Files>
<Session>
<session_id>eda28b5e22790226247551ad32c2a71a</session_id>
<GMTime>Sun, 27 Oct 2013 15:55:27 +0000</GMTime>
</Session>
</QRZDatabase>
Где блок <Callsign> содержит информацию о позывном, <Files> - список всех вложенных в колбук файлах этого позывного (сейчас это одно фото, в следующем году сделаем групповое хранение нескольких файлов), <Session> - справочная информация (id сессии и GMT время на сервере)
если позывной не найден в базе данных, сервер сообщит:
Код:
<?xml version="1.0"?>
<QRZDatabase version="1.0" xmlns="http://api.qrz.ru/namespace">
<session>
<errorcode>404</errorcode>
<error>Callsign not found</error>
</session>
</QRZDatabase>
Разработчикам - для запроса XML доступа в базу данных обращайтесь в личку или на емайл ua9oty (at) qrz.ru
Социальные закладки