|
API_X1
API для доступа к интерфейсу X1
ГдеПосылка.ру - это универсальный сервис для отслеживания посылок, перейти на сайт http://gdeposylka.ru ОбзорAPI сервиса http://gdeposylka.ru построено на основе принципов REST. На этой страничке я привел адреса страниц API и какие операции с ними возможны. Текущая версия API располагается по адресу Все запросы к сервису осуществляются путем GET запросов. В каждом запросе обязательно нужно передавать параметр apikey. Получить API-ключ можно на сайте ГдеПосылка.ру в разделе Настройки→Сервис Пример вызова API http://ws.gdeposylka.ru/x1/info.version/xml/?apikey=XXXXXXXXX Сервис может возвращать данные в нескольких форматах XML - http://ws.gdeposylka.ru/x1/function/xml/ JSON - http://ws.gdeposylka.ru/x1/function/json/ Результат вызова функции serialize() над массивом в PHP - http://ws.gdeposylka.ru/x1/function/php/ Для удобной отладки через браузер можно использовать формат DUMP - http://ws.gdeposylka.ru/x1/function/dump/ По умолчанию данные выводятся в XML Формат ответаСервис всегда отвечает структурой определенного формата ( в выбранном формате вывода) <result>
<response>
<code>200</code> <!-- Код ответа, описание кодов смотрите ниже -->
<version>2010.08.12.1</version> <!-- Дополнительные параметры ответа -->
</response>
<tracks> <!-- Информация о треках -->
</tracks>
</result>Формат описания информации о треке<track id="CJ247232572US">
<code>200</code> <!-- Код обработки запроса для трека -->
<status>COMPLETE</status> <!-- Состояние трека -->
<destination>RU</destination> <!-- Страна назначения трека -->
<errstr></errstr> <!-- Если состояние трека ERROR, здесь указывается причина ошибки -->
<updated>1276746128</updated> <!-- Время последнего обновления трека -->
<checked>1276746128</checked> <!-- Время последней проверки трека -->
<info>
<status>
<message>Вручение, Санкт-Петербург 245, Вручение адресату</message>
<date>09.06.2010 00:00</date>
<timestamp>1276020000</timestamp> <!-- Поле date в формате unixtimestamp -->
<ops_id>9813</ops_id> <!-- Идентификатор почтового отделения -->
<service_id>EMS_RU</service_id> <!-- Идентификатор почтовой службы -->
<service_name>Почта России</service_name>
<operation>Вручение</operation>
<weight>0.052</weight> <!-- Вес посылки -->
</status>
<status>
<message>Передано таможне, Санкт-Петербург PI-7</message>
<date>05.06.2010 17:36</date>
<timestamp>1275737760</timestamp>
<ops_id>9738</ops_id>
<service_id>EMS_RU</service_id>
<service_name>Почта России</service_name>
<operation>Передано таможне</operation>
</status>
</info>
</track>Возможные Состояние трека
Возможные значения поля errstr
Идентификатор почтовой службы
Также сервис ГдеПосылка добавлят несколько типов поясняющих статусов. Поле идентификатора у таких статусов равен значению GP, а поле operation поясняет какого рода сообщение было добавленно <status>
<message>Посылка добавлена на сайт</message>
<date>29.05.2010 19:45</date>
<timestamp></timestamp>
<ops_id></ops_id>
<service_id>GP</service_id>
<service_name>ГдеПосылка.ру</service_name>
<operation>GP: Added on site</operation>
</status>Значения поля operation
Формат описания информации о местоположении пунктов обработкиФункция geo.points может использоваться для преобразования ops_id в географические координаты. Ответ предоставлеяется в следующем виде <ops id="9726">
<status>VERIFIED</status> <!-- Статус Геокодирование -->
<x>114.109497</x>
<y>22.396428</y>
<name>Гонконг</name>
<country>HK</country>
<accuracy>1</accuracy> <!-- Уровень детализации -->
</ops>Подробнее про уровень детализации Возможные статусы Геокодирования
Коды ошибокКаждый ответ, а также каждая запись о треке содержит код обработки запроса.
Функции
Параметры
Пример http://ws.gdeposylka.ru/x1/tracks.list/xml?apikey=XXXXXXX&area=main
<?xml version="1.0" encoding="UTF-8" ?>
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="XXXXXXX">
<description>Новая сумка</description> <!-- Описание посылки -->
<origin>UPU</origin> <!-- Какой почтовой системе принадлежит трек -->
<date>09.02.2011 00:00</date> <-- Дата последнего статуса -->
<message>Завершено таможенное оформление посылки</message> <!-- последний статус -->
<destination>UA</destination> <!-- Страна назначения -->
<updated>1296180906</updated> <!-- Время добавления последнего статуса -->
<checked>1296181092</checked> <!-- Время последней проверки -->
<errcode></errcode> <!-- Код ошибки -->
<added>1296180801</added> <!-- Время добавления посылки в сервис-->
<weight></weight> <!-- Вес посылки -->
</track>
</tracks>
<geo>
</geo>
</result>
Параметры
При синхронном запросе, сервер не дает ответа до тех пор пока не получит данные о треке с серверов почтовых служб. Максимально время ответа составляет 1 минуту, если за это время не удалось получить информацию, то возвращается ошибка. При асинхронном запросе, сервер ставит задание в очередь. Статус трека можно получить через метод track.status Некоторые почтовые службы, например США, не указывают в какую страну отправлена посылка. В этом случае, сервер вернет ошибку, и параметр country становится обязательным. Код страны назначения - это двухбуквенная комбинация обозначающая страну согласно ISO 3166-1-alpha-2 Пример http://ws.gdeposylka.ru/x1/track.add/xml/?apikey=XXXXXX&id=CJ247232572US&country=RU
<?xml version="1.0" encoding="UTF-8" ?>
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="CJ247232572US">
<code>201</code>
</track>
</tracks>
</result>
Параметры
Пример
http://ws.gdeposylka.ru/x1/track.status/xml/?apikey=XXXXXx&id=CJ247232572US;RT12345678HK
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="CJ247232572US">
<code>200</code>
<status>COMPLETE</status>
<destination>RU</destination>
<errstr></errstr>
<updated>1276746128</updated>
<checked>1276746128</checked>
<info>
<status>
<message>Вручение, Санкт-Петербург 245, Вручение адресату</message>
<date>09.06.2010 00:00</date>
<timestamp>1276020000</timestamp>
<ops_id>9813</ops_id>
<service_id>EMS_RU</service_id>
<service_name>Почта России</service_name>
<operation>Вручение</operation>
</status>
Параметры
Примечание Операция возможна только с треками которые имею статус NORMAL или ERROR. Трек со статусом ERROR переводится в состояние NORMAL. Пример http://ws.gdeposylka.ru/x1/track.country/xml/?apikey=XXXXXx&id=CJ247232572US&country=RU
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="CJ247232572US">
<code>200</code>
</track>
</tracks>
</result>
Параметры
Примечание Операция возможна только с треками которые имею статус NORMAL или ERROR. Трек со статусом ERROR переводится в состояние NORMAL. Пример http://ws.gdeposylka.ru/x1/track.sms/xml/?apikey=XXXXXx&id=CJ247232572US&phone=+34051418961&descr=Vash_novii_telefon&greeting=Servis_nachal_otslejivat_posylky
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="CJ247232572US">
<code>200</code>
</track>
</tracks>
</result>
Внимание - При успешном выполнении данной функции с Вашего баланса будет списана сумма в размере 10 кредитов. SMS сообщения будут приходить при каждой смене статуса, до тех пор пока получатель не получить посылку.
Параметры
Примечание Операция возможна только с треками которые имею статус STOPPED Пример http://ws.gdeposylka.ru/x1/track.resume/xml/?apikey=XXXXXx&id=CJ247232572US
<result>
<response>
<code>200</code>
</response>
<tracks>
<track id="CJ247232572US">
<code>200</code>
</track>
</tracks>
</result>
Параметры
Пример http://ws.gdeposylka.ru/x1/geo.points/xml/?apikey=XXXX&ops=9819;9726;9727
<result>
<response>
<code>200</code>
</response>
<tracks>
</tracks>
<geo>
<ops id="9726">
<status>VERIFIED</status>
<x>114.109497</x>
<y>22.396428</y>
<name>Гонконг</name>
<country>HK</country>
<accuracy>1</accuracy>
</ops>
<ops id="9727">
<status>VERIFIED</status>
<x>37.617633</x>
<y>55.755786</y>
<name>город Москва, Россия</name>
<country>RU</country>
<accuracy>4</accuracy>
</ops>
<ops id="9819">
<status>VERIFIED</status>
<x>32.066667</x>
<y>49.433333</y>
<name>Черкассы, Черкасская область, Украина</name>
<country>UA</country>
<accuracy>4</accuracy>
</ops>
</geo>
</result>
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||