QRZ.RU предоставляет XML API для получения доступа к Callbook. Этот сервис позволяет получать информацию из базы данных позывных, и используется в программных аппаратных журналах
Сервис предназначен только для персонального использования в аппаратных журналах. Любые другие случаи использования приведут к блокировке аккаунта.
Список известных аппаратных журналов, которые поддерживают XML API:
Если вы обладаете информацией, о том что QRZ.RU API стала поддерживать программа, которой нет в этом списке - пожалуйста дайте нам знать через форму обратной связи, мы добавим ссылку на эту программу в список
Получение аккаунта для доступа в XML API осуществляется для зарегистрированных пользователей, имеющих действующий пстоянный позывной радиолюбителя или наблюдателя. Обратите внимание что:
Для получения доступа вам необходимо авторизоваться в личном кабинете, и перейти на страницу "Личные данные". Внизу страницы в разделе XML API перейдите по ссылке "Создать аккаунт".
В открывшейся форме укажите:
После отправки формы на сервер через некоторое время вы получите информацию по доступу (логин/пароль), либо мотивированный отказ в активации доступа.
Внимание. Ниже приведено описание работы API, содержащее технические подробности для специалистов. Если вы не являетесь разработчиком - пропустите этот раздел.
XML API расположено по адресу http://api.qrz.ru/
Все ответы сервера осуществляются в кодировке UTF-8
Порядок работы:
1. Авторизуемся в API, получаем код сессии
Код:
https://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. Осуществляем запросы в рамках предоставленной сессии
Общий синтаксис запроса:
Код:
https://api.qrz.ru/callsign?id=<session_id>&callsign=<callsign>
где
id -идентификатор сессии выданный после авторизации (точное соответствие)
callsign - интересующий вас позывной (любой регистр)
На примере позывного UA9OTY и выданного выше номера сессии:
Код:
https://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 доступа в базу данных обращайтесь через форму обратной связи
Для пакетных запросов на обработку позывных сотнями/тысячами записей - обращайтесь через форму обратной связи
Если вы столкнулись с трудностями при использовании наших проектов или хотите сообщить об ошибке, пожалуйста, заполните эту форму, и наша служба поддержки свяжется с вами.