XML-API-Взаимодействия

Материал из AOW

Перейти к: навигация, поиск
Система Мобильный кабинет клиента
 

 

Протокол обмена между сервером системы и клиентским приложением
Форматы сообщений
 
Версия 1.6 от 26.06.2011
 

 

Москва, 2011


 

 

Лист изменений

Дата

Версия

Описание

Автор

26.06.2011

1.6

Добавлены:

1. Возможность задавать конкретного владельца банковских объектов в запросах по всем транзакциям для получения в ответе только объектов, принадлежащих указанному владельцу (параметр own).

2. В транзакции получения полной базы объектов в ответе к объектам-метро прилагается список ближайших банковских объектов.

Автор

24.06.2011

1.5

Добавлены:

1. Запрос списка услуг (справочник)

2. Поиск по услуге

3. В ответах на все запросы к банковским объектам прилагается набор услуг и время работы.

Автор

18.06.2011

1.4

Добавлено архивирование с помощью zip

Автор

14.06.2011

1.3

Примеры по факту реализации

Автор.

13.06.2011

1.2

1. Сформировано описание транзакции предоставления ближайших объектов по координатам.


2. Выдача объектов в списке производится с сортировкой по расстоянию (первыми идут ближайшие)


3. В транзакциях реализован параметр distance (расстояние до объекта), при этом имеется ограничение на расстояние: от 100 м до 10000 м


4. В транзакции передачи всей базы данных в ответ на запрос добавлен признак последнего блока данных (last_block)

Автор

09.06.2011

1.1

1. Сформировано описание транзакции предоставления ближайших объектов по адресу

Автор

01.06.2011

1.0

1. Создание документа. Сформировано описание транзакции предоставления полной базы объектов

Д.Вагин

 


''''Общие сведения

Все запрос должны выполняться по методу http/GET, порядок параметров в запросах не важен.

Ответ всегда приходи в форме xml

В каждом запросе может присутствовать параметр zip. Если zip=true, то в результате тело ответа будет представлять собой архив zip(Content-type=application/zip), иначе – обычный xml (Content-type=text/xml)

 

1.   Предоставление полной базы объектов

 

Запрос по методу GET:

 http://192.168.137.1:29999/?tp=fulldb&version=0&last_id=406&count=5

 

Параметры запроса:

Параметр

Определение

Обязательность

По умолчанию

tp

идентификатор типа запроса (fulldb)

M

fulldb

count

количество элементов (объектов), которые должны выгружаться в ответ на каждый запрос

O

10

version

Текущая версия базы данных на телефоне

O

0

last_id

максимальный id элемента (объекта), принятого в предыдущем ответе на запрос в рамках текущей загрузки базы объектов. В первом запросе last_id = 0

O

0

zip

Запрос на архивирование передаваемых в ответе данных

O

false

own

Наименование Банка – владельца сети объектов (в ответе будут направляться только банковские объекты, принадлежащие указанному владельцу, плюс объекты его партнеров, плюс все небанковские объекты (станции метро)). Наименование приводится без кавычек и без начальных/конечных пробелов, напр.: &own=Банк Москвы

O

-

 

Ответ:

<?xml version="1.0" encoding="utf-8" ?>
<rs qr="fulldb">
<session version="61">4355</session>
<objects count="5" last_block="false">
 <object action="ins" 
   address="603163, г. Нижний Новгород, ул. Верхнепечёрская, д. 12А" 
   id="407" 
   name="Дополнительный офис 407" 
   own="ПромСвязьБанк" 
   srvcs="1;3;5" 
   tp="Дополнительный офис" 
   version="21" 
   wtm="с 9 до 18 Пн-Пт" 
   x="44.068958" 
   y="56.286672" />
 <object action="ins" 
   address="190068, г. Санкт-Петербург, Вознесенский пр., д.37/6, лит.А." 
   id="408" 
   name="Дополнительный офис 408" 
   own="ПромСвязьБанк"
   srvcs="2"
   tp="Дополнительный офис"
   version="21" 
   wtm="круглосуточно" 
   x="30.307774" 
   y="59.923572" />
 <object action="ins" 
   address="Москва,Алексеевская метро"
   id="3565" name="Алексеевская"
   objsn="4717;4960;4825;5058;4895;4945;5615;3906;3907;4011;4001;3955;4017;4771;"
   own="Москва" 
   tp="Метро" 
   version="101"
   x="37.638737"
   y="55.8078"/>
</objects>
</rs>

Параметры ответа:

@qr – тип запроса, на который дается ответ (=fulldb)

session@version – текущая версия базы на сервере (в рамках которой передаются объекты)

session – код сессии

objects@count – Количество элементов в блоке ответа

objects@last_block – признак последнего загруженного блока

 

objects/object@action – требуемое действие (ins - вставка записи, upd – обновление записи, del – удаление записи)

objects/object@id – идентификатор объекта

objects/object@own – владелец объекта

objects/object@name – наименование объекта

objects/object@address – адрес объекта

objects/object@tp – тип объекта

objects/object@version – версия базы, в которой объект был добавлен/изменён/удалён

objects/object@х – долгота расположения объекта

objects/object@y – широта расположения объекта

objects/object@wtm – текстовое представление времени работы объекта

objects/object@srvc – список идентификаторов предоставляемых объектом услуг (сервисов), разделенных через «;» (точка с запятой)

objects/object@objsn – (только для объектов-станций метро) список идентификаторов объектов, ближайших к данному объекту, разделенных через «;» (точка с запятой). Список отсортирован по дистанции.  Если в запросе указан Банк-владелец объектов, то в ответе содержатся только объекты этого Банка-владельца и его партнёров.

 

Примечания:

1. При загрузке ответа необходимо отслеживать максимальный id среди полученных объектов и в следующем запросе указать его в качестве параметра last_id . Запросы следует продолжать до получения last_block="true".

2. В ответе на запрос выдаются ВСЕ имеющиеся в базе и отвечающие критериям запроса объекты (небанковские, в т.ч. станции метро, выдаются всегда; банковские объекты выдаются в зависимости от статуса параметра own: при его отсутствии выдаются объекты всех банков-владельцев, при его наличии - только объекты банка-владельца, заданного в параметре own).

''2.   Предоставление справочника сервисов

 

Запрос по методу GET:

 http://192.168.137.1:29999/?'''tp=services'''&version=0&count=100&last_id=0

 

Параметры запроса:

Параметр

Определение

Обязательность

По умолчанию

tp

идентификатор типа запроса (services)

M

Fulldb

count

количество элементов (объектов), которые должны выгружаться в ответ на каждый запрос

O

10

version

Текущая версия базы данных на телефоне

O

0

last_id

максимальный id элемента (объекта), принятого в предыдущем ответе на запрос в рамках текущей загрузки списка сервисов. В первом запросе last_id = 0

O

0

zip

Запрос на архивирование

O

false

 

Ответ:

<?xml version="1.0" encoding="utf-8" ?>

<rs qr="services">
 <session version="61">4356</session>
 <services count="22" last_block="true">
 <service action="ins" id="1" info="VIP-менеджеры" name="VIP-менеджеры" version="61" />
 <service action="ins" id="2" info="Оформление автокредитов" name="Автокредиты" version="61" />
 <service action="ins" id="3" info="Выдача наличных денежных средств (доллары США)" name="Выдача наличных (доллары)" version="61" />
 <service action="ins" id="4" info="Выдача наличных денежных средств (евро)" name="Выдача наличных (евро)" version="61" />
 <service action="ins" id="5" info="Выдача наличных денежных средств (рубли)" name="Выдача наличных (рубли)" version="61" />
 <service action="ins" id="6" info="Денежные переводы" name="Денежные переводы" version="61" />
 <service action="ins" id="7" info="Открытие депозитов" name="Депозиты" version="61" />
 <service action="ins" id="8" info="Инвестиционные консультанты" name="Инвестконсультанты" version="61" />
 <service action="ins" id="9" info="Ипотечные кредиты" name="Ипотека" version="61" />
 <service action="ins" id="10" info="Доступ в личный кабинет клиента" name="Личный кабинет" version="61" />
 <service action="ins" id="11" info="Покупка/продажа наличной валюты" name="Обмен валюты" version="61" />
 <service action="ins" id="12" info="Перевод средств с карты на карту" name="Переводы (между картами)" version="61" />
 <service action="ins" id="13" info="Перевод средств со счета на счет" name="Переводы (между счетами)" version="61" />
 <service action="ins" id="14" info="Выполнение платежей наличными" name="Платежи (наличными)" version="61" />
 <service action="ins" id="15" info="Выполнение платежей по картам" name="Платежи (с карты банка)" version="61" />
 <service action="ins" id="16" info="Выполнение платежей по картам любого эмитента" name="Платежи (с любой карты)" version="61" />
 <service action="ins" id="17" info="Погашение кредитов наличными" name="Погашение кредитов (наличными)" version="61" />
 <service action="ins" id="18" info="Погашение кредитов по картам" name="Погашение кредитов (с карты)" version="61" />
 <service action="ins" id="19" info="Прием денежных средств на карту" name="Прием наличных (на карту)" version="61" />
 <service action="ins" id="20" info="Прием денежных средств на счет" name="Прием наличных (на счет)" version="61" />
 <service action="ins" id="21" info="Аренда сейфов и сейфовых ячеек" name="Сейфы" version="61" />
 <service action="ins" id="22" info="Покупка-продажа ценных бумаг" name="Ценные бумаги" version="61" />
 </services>
</rs>

 

Параметры ответа:

@qr – тип запроса, на который дается ответ (=services)

session@version – текущая версия базы на сервере (в рамках которой передаются объекты)

session – код сессии

services@count – Количество элементов в блоке ответа

services@last_block – признак последнего загруженного блока

 

services/service@action – требуемое действие (ins - вставка записи, upd – обновление записи, del – удаление записи)

services/service@id – идентификатор сервиса

services/service@name – наименование сервиса

services/service@info – описание сервиса

services/service@version – версия базы, в которой сервис был добавлен/изменён/удалён

 

Примечания:

1. При загрузке ответа необходимо отслеживать максимальный id среди полученных сервисов и в следующем запросе указать его в качестве параметра last_id . Запросы следует продолжать до получения last_block="true".


''''3.   Предоставление ближайших объектов по адресу

Запрос по методу GET:

http://192.168.137.1:29999/?'''tp=nearest'''&version=3&address=%D0%B3.%20%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3,%20%D0%92%D0%BE%D0%B7%D0%BD%D0%B5%D1%81%D0%B5%D0%BD%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BF%D1%80.&distance=1000&srvc=2

Параметры запроса:

Параметр

Определение

Обязательность

По умолчанию

tp

идентификатор типа запроса (nearest)

M

fulldb

address

адрес, для которого запрашивается состав ближайших объектов (вводится клиентом). Формат может варьироваться (може быть задано «Метро Войковская»)

M

-

version

текущая версия базы данных на телефоне

O

0

distance

радиус запроса (расстояние от точки расположения Адреса, в пределах которого будут предоставляться объекты) в метрах

O

2000

zip

Запрос на архивирование

O

false

srvc

Код сервиса

O

-

own

Наименование Банка – владельца сети объектов (в ответе будут направляться только банковские объекты, принадлежащие указанному владельцу плюс объекты его партнеров). Наименование приводится без кавычек и без начальных/конечных пробелов, напр.: &own=Альфа-Банк

O

-

 

Ответ:

<?xml version="1.0" encoding="utf-8" ?>
<rs qr="nearest">
<session version="61">4369</session>
<objects count="1" distance="1000.0">
<object 
   address="190068, г. Санкт-Петербург, Вознесенский пр., д.37/6, лит.А." 
   distance="495" 
   id="408" 
   name="Дополнительный офис 408" 
   own="ПромСвязьБанк"
   srvcs="2" 
   tp="Дополнительный офис" 
   version="21" 
   wtm="круглосуточно" 
   x="30.307774" 
   y="59.923572" />
</objects>
<position x="30.30825" y="59.928014" />
</rs>

 

Параметры ответа:

@qr – тип запроса, на который дается ответ (=nearest)

session@version – текущая версия базы на сервере (в рамках которой передаются объекты)

session – код сессии

 

objects @count – Количество элементов в ответе

objects @distance – Расстояние в запросе

 

objects/object@id – идентификатор объекта

objects/object@own – владелец объекта

objects/object@name – наименование объекта

objects/object@address – адрес объекта

objects/object@tp – тип объекта

objects/object@version – версия базы, в которой объект был добавлен/изменён/удалён

objects/object@х – долгота расположения объекта

objects/object@y – широта расположения объекта

objects/object@distance – расстояние до объекта от заданного в запросе адреса в метрах

objects/object@wtm – текстовое представление времени работы объекта

objects/object@srvc – список идентификаторов сервисов, предоставляемых объектом через «;» (точка с запятой)

 

position@х – долгота расположения адреса

position@y – широта расположения адреса

 

Примечания:

1. Если информация об объекте имеется на клиенте (определяется по указанному в запросе номеру базы), то в ответе выдаётся только его id и дистанция до него.

2. В ответе на запрос выдаются только банковские объекты (небанковские, в т.ч. станции метро, не выдаются).

 

 


''''4.   Предоставление ближайших объектов по координатам

Запрос по методу GET:

http://192.168.137.1:29999/?tp='''nearestxy'''&version=21&xy=37.710728%2055.550947&distance=7000

 

Параметры запроса:

Параметр

Определение

Обязательность

По умолчанию

Tp

идентификатор типа запроса (nearestxy)

M

Fulldb

xy

Координаты через пробел

M

-

version

текущая версия базы данных на телефоне

O

0

distance

радиус запроса (расстояние от точки расположения Адреса, в пределах которого будут предоставляться объекты) в метрах

O

2000

zip

Запрос на архивирование

O

false

srvc

Код сервиса

O

-

own

Наименование Банка – владельца сети объектов (в ответе будут направляться только банковские объекты, принадлежащие указанному владельцу плюс объекты его партнеров). Наименование приводится без кавычек и без начальных/конечных пробелов, напр.: &own=Транскредит Банк

O

-

 

 

 

 

 

Ответ:

 <?xml version="1.0" encoding="utf-8" ?>
<rs qr="nearestxy">
<session version="23">4125</session>
<objects count="11" distance="7000.0">
  <object distance="523" id="1487" />
  <object 
     address="г.Москва, ул.Липецкая, д.7а" 
     distance="4038" 
     id="2280" 
     name="Супермаркет "Перекресток" Липецкая (1979)" 
     own="Альфа-Банк" 
     tp="Банкомат"
     version="23" 
     x="37.682772" 
     y="55.583627" />
  <object address="Московская область, совхоз им. Ленина, 24 км МКАД" 
     distance="4215" 
     id="2962" 
     name="Магазин «М.Видео» 24 км МКАД (1193)" 
     own="Альфа-Банк"
     tp="Банкомат" 
     version="23" 
     x="37.743013" 
     y="55.584161" />
  <object address="Московская область, пос.совхоза им. Ленина, 24 км МКАД, вл.1" 
     distance="4215" 
     id="2961" 
     name="ТРЦ "Вегас" (1179)" 
     own="Альфа-Банк"
     tp="Банкомат" 
     version="23" 
     x="37.743013" 
     y="55.584161" />
  <object distance="4473" id="720" />
  <object distance="4473" id="1551" />
  <object address="Москва, ул.Домодедовская, д. 28" 
     distance="5983" 
     id="2941" 
     name="#ТЦ «Белград» (1011)" 
     own="Альфа-Банк" 
     tp="Банкомат" 
     version="23"
     x="37.712318" 
     y="55.604742" />
  <object address="Москва, Ореховый бульвар, д. 14, стр. 3" 
     distance="6558" 
     id="2856" 
     name="ТЦ «Домодедовский» (1593)" 
     own="Альфа-Банк" 
     tp="Банкомат"
     version="23" 
     x="37.720106" 
     y="55.609675" />
  <object distance="6934" id="1094" />
</objects>
<position x="37.710728" y="55.550947" />
</rs>

 

Параметры ответа:

@qr – тип запроса, на который дается ответ (=nearestxy)

session@version – текущая версия базы на сервере (в рамках которой передаются объекты)

session – код сессии

 

objects @count – Количество элементов в ответе

objects @distance – Расстояние в запросе

 

objects/object@id – идентификатор объекта

objects/object@own – владелец объекта

objects/object@name – наименование объекта

objects/object@address – адрес объекта

objects/object@tp – тип объекта

objects/object@version – версия базы, в которой объект был добавлен/изменён/удалён

objects/object@х – долгота расположения объекта

objects/object@y – широта расположения объекта

objects/object@distance – расстояние до объекта от заданного в запросе адреса в метрах

objects/object@wtm – текстовое представление времени работы объекта

objects/object@srvc – список идентификаторов сервисов, предоставляемых объектом через «;» (точка с запятой)

 

position@х – долгота расположения

position@y – широта расположения

 

Примечания:

1. Если информация об объекте имеется на клиенте (определяется по указанному в запросе номеру базы), то в ответе выдаётся только его id и дистанция до него.

2. В ответе на запрос выдаются только банковские объекты (небанковские, в т.ч. станции метро, не выдаются).

 

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru