NAV
WSDL

Request Structs

Управлять информацией в iDa Light можно используя web-сервис, позволяющий взаимодействовать на основе WSDL

addForm

key type status comment
Request:
formTypeId string 1..1 идентификатор шаблона формы
name string 1..1 заголовок для формы сообщения
destinationEmail string 0..1 e-mail адрес, на который будет отправлено сообщение
emailTopic string 0..1 тело для формы сообщения
logoResourceURL string 0..1 иконка формы
Response:
form WsFormDTO 1..1 форма
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

addFormType

key type status comment
Request:
formType WsFormTypeDTO 1..1 шаблон формы
Response:
formType WsFormTypeDTO 1..1 шаблон формы
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

addCurrencyRate

<addCurrencyRate>
    <rate type="WsCurrencyRateDTO">
        #
        # rate
        #
    </rate>
</addCurrencyRate>

Добавление курса валют

key type status comment
Request:
rate WsCurrencyRateDTO 1..1 курс
Response:
rate WsCurrencyRateDTO 1..1 курс
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

addContact

Добавление контакта

key type status comment
Request:
contact WsContactDTO 1..1 контакт
Response:
contact WsContactDTO 1..1 контакт
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

addBanner

Добавление баннера

key type status comment
Request:
banner WsBannerDTO 1..1 баннер
Response:
banner WsBannerDTO 1..1 баннер
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

deleteLocations

Удаление локаций

key type status comment
Request:
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

deleteLocationStatuses

Удаление статусов локации

key type status comment
Request:
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

deleteFormTypes

key type status comment
Request:
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

editForm

key type status comment
Request:
form WsFormDTO 1..1 форма
Response:
form WsFormDTO 1..1 форма
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

editFormType

key type status comment
Request:
formType WsFormTypeDTO 1..1 шаблон формы
Response:
form WsFormDTO 1..1 форма
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

editContact

Редактирование контакта

key type status comment
Request:
contactId string 1..1 идентиифкатор
contact WsContactDTO 1..1 контакт
Response:
contact WsContactDTO 1..1 контакт
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

editBanner

key type status comment
Request:
bannerId string 1..1 идентиифкатор
banner WsBannerDTO 1..1 баннер
Response:
banner WsBannerDTO 0..1 баннер
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getBanners

Получение списка всех баннеров

key type status comment
Request:
Response:
banners WsBannerDTO 0..1 массив доступных баннеров
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getCurrencyRates

Запрос курсов валют

key type status comment
Request:
Response:
rate WsCurrencyRateDTO 1..1 курс
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getForms

Получение списка всех форм

key type status comment
Request:
Response:
forms WsFormDTO 0..1 массив доступных пользователю форм
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getFormTypes

Получение списка всех типов форм

key type status comment
Request:
Response:
formTypes WsFormTypeDTO 1..1 массив доступных типов форм
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getLocations

Запрос локаций

key type status comment
Request:
Response:
locations WsLocationDTO 0..1 массив локаций
type WsLocationTypeDTO 0..1 тип локации
services WsLocationServiceDTO 0..1 массив сервисов
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getLocationTypes

Получение списка всех типов

key type status comment
Request:
Response:
types WsLocationTypeDTO 0..1 массив доступных типов
lastUpdateTime Date ISO 8601 1..1 время последнего обновления данных
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getLocalizedRssUrls

Просмотр источника новостей банка в виде RSS

key type status comment
Request:
Response:
defaultUrl string 1..1 ссылка на источник по умолчанию
localizedUrls WsLocalizedRssUrl 0..1 ссылки для источников в зависимости от локали
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getContacts

Запрос списка контактов

key type status comment
Request:
Response:
contacts WsContactDTO 0..1 массив контактов
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getNearestLocation

Запрос ближайшей к точке локации

key type status comment
Request:
latitude string 1..1 широта
longitude string 1..1 долгота
Response:
location WsLocationDTO 0..1 локация
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

getNewsFeed

Запрос списка новостей. Используется при необходимости банком транслировать новости в другие источники

key type status comment
Request:
limit int 1..1 ограничитель максимального количества новостей (0 или NULL - без ограничений)
Response:
news WsNewsDTO 0..1 массив доступных новостей
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

mergeLocations

<mergeLocations>
    <request>
        <locations type="WsLocationDTO">
            #
            # location
            #
        </locations>
        <locations type="WsLocationDTO">
            #
            # location
            #
        </locations>
    </request>
</mergeLocations>

Добавление новых или совмещение локаций

key type status comment
Request:
locations WsLocationDTO 1..1 одна или более локации
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

mergeLocationServices

key type status comment
Request:
services WsLocationServiceDTO 1..1 сервисы
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

mergeLocationStatuses

key type status comment
Request:
status WsLocationStatusDTO 1..1 статусы
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

mergeLocationTypes

key type status comment
Request:
locationTypes WsLocationTypeDTO 1..1 типы
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeForm

Удаление формы

key type status comment
Request:
id string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeContact

Удаление контакта

key type status comment
Request:
contactId string 1..1 идентиифкатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeBanner

Удаление баннера

key type status comment
Request:
bannerId string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeLocation

Удаление точки по одной

key type status comment
Request:
id string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeCurrencyRate

Удаление курса валют

key type status comment
Request:
rateId string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeLocationStatus

Удаление статусов локации

key type status comment
Request:
key string 0..1 ключ статуса
locationId string 0..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeLocationType

Удаление типа локации

key type status comment
Request:
typeId string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

removeFormType

key type status comment
Request:
formTypeId string 1..1 идентификатор
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

setLocalizedRssUrls

<setLocalizedRssUrls>
    <rss>
        <defaultUrl>http://www.banki.ru/xml/news.rss</defaultUrl>
        <localizedUrls type="WsLocalizedRssUrl">
            #
            # localizedUrls
            #
        </localizedUrls>
        <localizedUrls type="WsLocalizedRssUrl">
            #
            # localizedUrls
            #
        </localizedUrls>
    </rss>
</setLocalizedRssUrls>

Установка источника новостей банка в виде RSS

key type status comment
Request:
defaultUrl string 1..1 ссылка на источник по умолчанию
localizedUrls WsLocalizedRssUrl 0..1 ссылки для источников в зависимости от локали
Response:
sucсess bool 1..1 статус операции
errorMessage string 0..1 текст ошибки

updateCurrencyRate

Обновление курса валют

key type status comment
Request:
rateId string 1..1 идентификатор
buy string 1..1 курс покупки
sell string 1..1 курс продажи
Response:
rate WsCurrencyRateDTO 1..1 курс
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

Data Structs

Серверная часть в решении iDa Light является базовой составляющей и отвечает за хранение, преобразование и отображение всей информации. При запуске сервер загружает из СУБД большинство данных и производит их кэширования для ускорения работы и уменьшения нагрузки на СУБД

Form Generator Struct

www.websequencediagrams.com

participant Bank as b
participant iDaLight as l
participant Mobile as m

b->l: mergeFormTypes()
l->b: getFormTypes()
b->l: addForm(type, fields)
l->m: update mobile forms are available\nthrough new login or pull-to-refresh
m->m: filling form with field validation
m->l: response from mobile\nwith filled fields
l->b: e-mail or createOrder()

Все контактные формы строятся на основе заранее заведенных шаблонов. Шаблон может быть создан, например в CRM и применяться как на сайте так и в мобильном приложении

image

WsLocalizedRssUrl

<localizedUrls type="WsLocalizedRssUrl">
   <locale>ru</locale>
   <url>http://www.banki.ru/xml/news.rss</url>
</localizedUrls>
key type status comment
locale string 1..1 локаль по ISO 3166-1
url string 1..1 ссылка на источник

WsFormDTO

<forms type="WsFormDTO">
    <id>contact_form_id</id>
    <destinationEmail>[email protected]</destinationEmail>
    <emailTopic>Заказ звонка от ${name}</emailTopic>
    <logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_depo.png</logoResourceURL>
    <name>Contact form name</name>
    <typeId>contact_form_type_id</typeId>
</forms>
<forms type="WsFormDTO">
    <id>contact_form_id</id>
    <position>HIDDEN</position>
    <typeId>contact_form_type_id</typeId>
    <destinationEmail>[email protected]</destinationEmail>
    <emailTopic>Credit request</emailTopic>
    <fieldValues type="WsFieldValueDTO">
        <id>form_field_id</id>
        <serializedValue>от 3 до 9 лет,от 8 до 15 лет,от 15 до 30 лет</serializedValue>
    </fieldValues>
    <fieldValues type="WsFieldValueDTO">
        <id>form_field_id</id>
        <serializedValue>10% cost,15% cost,20% cost</serializedValue>
    </fieldValues>
</forms>
key type status comment
id string 1..1 идентификатор
typeId string 1..1 идентификатор типа формы
name string 1..1 название
destinationEmail string 0..1 адрес электронной почты назначения
emailTopic string 0..1 тема письма электронной почты
fieldValues WsFieldValueDTO 0..1 список полей формы
logoResource LogoResource 0..1 url для доступа к логотипу
position string 0..1 возможно переопределение позиции указанной в WsFormTypeDTO

WsFieldValueDTO

key type status comment
id string 1..1 идентификатор
serializedValue string 0..1 значение
name string 0..1 название
key string 0..1 ключ для привязки к типу в email

WsBannerDTO

<banners type="WsBannerDTO">
   <id>5232a36b-58dc-4ad7-9d68-956eeb3fcd3e</id>
   <imageURL>http://static.idamob.ru/jet/banners/${image.type}/umb_bn_3.png</imageURL>
   <order>1</order>
   <text>i18n{"ru":"Рекламный баннер","en":"Advertising banner"}</text>
   <title nil="true"/>
   <type>URL</type>
   <target>http://www.idamob.ru</target>
   <placement>PHONE_SMALL</placement>
</banners>
<banners type="WsBannerDTO">
   <id>3c4dff3d-37c0-46ad-aaea-4d09a19d148a</id>
   <imageURL>http://static.idamob.ru/jet/banners/${image.type}/umb_bn_2.png</imageURL>
   <order>2</order>
   <placement>PHONE_SMALL</placement>
</banners>
key type status comment
id string 1..1 идентификатор
order int 1..1 порядок следования
title string 0..1 заголовок
text string 0..1 подпись
imageURL LogoResource 0..1 ссылка на изображение
placement BannerPlacement 1..1 область размещения
type BannerType 0..1 тип активности баннера
target string 0..1 направление перехода

BannerType

key comment
URL открытие webView
FORM открытие формы по id

BannerPlacement

key comment
PHONE_SMALL отправлять по умолчанию
IPAD_SQUARE
IPAD_VERTICAL
IPAD_HORIZONTAL

WsCurrencyRateDTO

<rate type="WsCurrencyRateDTO">
    <id>сurrencyRate_id</id>
    <buy>66.03</buy>
    <sell>70.0</sell>
    <firstCurrency>CHF</firstCurrency>
    <secondCurrency>RUB</secondCurrency>
    <groupName>Internet bank exchange</groupName>
    <rateType>OTHER</rateType>
</rate>
key type status comment
id string 1..1 уникальный идентификатор операции
firstCurrency string 1..1 первая валюта
secondCurrency string 1..1 вторая валюта
buy string 1..1 цена покупки
sell string 1..1 цена продажи
rateType CurrencyRateType 1..1 тип курса
groupName string 0..1 имя группы

CurrencyRateType

key comment
CENTRAL_BANK курс центробанка с поддержкой 4 символов после запятой
OTHER все остальные курсы
MAIN_SCREEN курс для отображения на главном экране (отображается, только если в ответе на запрос login приходит настройка DISPLAY_EXCHANGE_RATES со значением true)

WsLocationDTO

<locations type="WsLocationDTO">
   <id>22b1b909-64a0-4bad-b2f8-956c886fb54c</id>
   <attributes type="WsLocationAttributeDTO">
      #
      # attributes
      #
   </attributes>
   <services type="WsLocationServiceDTO">
      <logicalId>logical_id</logicalId>
   </services>
   <address>i18n{"ru":"Чапаевский переулок, 3","en":"Chapaevsky lane, 3"}</address>
   <city>i18n{"ru":"Москва","en":"Moscow"}</city>
   <lat>55.798416</lat>
   <lng>37.520843</lng>
   <logicalId>22b1b909-64a0-4bad-b2f8-956c886fb54c</logicalId>
   <name>i18n{"ru":"АТМ в ЖК «Триумф Паласс»","en":"ATM Victory Plasa"}</name>
   <operationTime>i18n{"ru":"24 часа","en":"24 hour"}</operationTime>
   <type type="WsLocationTypeDTO">
      <id>bank_atm</id>
   </type>
</locations>

Локация обьекта на карте. При включенном геопозиционировании на устройстве список сортируется по удаленности от устройства.

key type status comment
id string 1..1 идентификатор
name string 0..1 наименование
city string 1..1 город
address string 0..1 адрес
lat string 1..1 широта
lng string 1..1 долгота
logicalId string 1..1 логический идентификатор, может быть такой же как id (используется для внутреннего построителя в базе iDa)
operationTime string 0..1 режим работы
type WsLocationTypeDTO 1..1 идентификатор типа локации
services WsLocationServiceDTO 0..1 идентификатор сервиса локации
attributes WsLocationAttributeDTO 0..1 атрибуты локации

WsLocationAttributeDTO

<attributes type="WsLocationAttributeDTO">
   <key>metro</key>
   <value>i18n{"ru":"Аэропорт","en":"Aerport"}</value>
</attributes>
key type status comment
key LocationAttributeType 1..1 ключ
value string 1..1 значение

LocationAttributeType

key type comment
metro string ближайшая станция метро
description string описание в виде текстового блока
phone string номер телефона точки

WsLocationTypeDTO

<type type="WsLocationTypeDTO">
   <id>bank_atm</id>
   <kind>atm</kind>
   <order>1</order>
</type>
key type status comment
id string 1..1 идентификатор типа для группировки
kind LocationType 1..1 тип
order int 1..1 порядок сортировки в списке фильтра

LocationType

key comment
office офис
atm банкомат
sale партнер по скидкам

WsLocationStatusDTO

<status type="WsLocationStatusDTO">
   <key>currency.1</key>
   <value>USD;EUR;OTHER;0.732;0.733;UP;DOWN</value>
</status>
<status type="WsLocationAttributeDTO">
   <key>currency.2</key>
   <value>USD;CHF;OTHER;0.891;0.910;UP;UP</value>
</status>

Данные запрашиваются мобильными клиентами отдельно, и позволяют более точно информировать пользователей о текущем состоянии точки, например изменение курса валют и сотояние работы

key type status comment
id string 1..1 идентификатор локации
key LocationStatusType 1..1 ключ
value string 1..1 значение

LocationStatusType

key type comment
OPEN bool признак открыто/закрыто
DESCRIPTION string описание в виде текстового блока
CURRENCY.n string валюта с текстовым код валюты по ISO 4217 и признаком изменения {UP;NEUTRAL;DOWN}

WsLocationServiceDTO

<services type="WsLocationServiceDTO">
   <description nil="true"/>
   <id>6aaccc31-b6d0-48af-bb04-d4c07d884df6</id>
   <logicalId>chf</logicalId>
   <name>i18n{"ru":"Операции с Швейцарским франком","en":"Swiss Franc operations"}</name>
   <parentId>currency</parentId>
</services>
<services type="WsLocationServiceDTO">
   <description>parent</description>
   <id>159b3b82-8391-44c0-8448-d7e1f0f344d1</id>
   <logicalId>currency</logicalId>
   <name>i18n{"ru":"Операции с наличными","en":"Cash operations"}</name>
   <parentId nil="true"/>
</services>

Логический построитель фильтра на основе Service

{  "parentId" : "Наименование раздела № 1",
   "elements" : [
      {  "name" : "Эленента № 1 в разделе № 1"  },
      {  "name" : "Эленента № 2 в разделе № 1"  }
   ]
}

Сервисы позволяют настроить более гибкий фильтр по точкам на карте

key type status comment
id string 1..1 идентификатор
name string 1..1 наименование
description string 0..1 логическая принадлежность
logicalId string 1..1 логический идентификатор
parentId string 0..1 родительский логический блок

WsContactDTO

<contacts type="WsContactDTO">
   <id>ec9251b6-a5de-4e67-8e17-26260efda2d1</id>
   <logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_call_24.png</logoResourceURL>
   <name>i18n{"ru":"VIP звонок в банк","en":"VIP Line"}</name>
   <position>PRODUCT_ORDER</position>
   <type>PHONE</type>
   <value>(800) 700–700–4</value>
</contacts>
<contacts type="WsContactDTO">
   <id>3b467b82-2296-4e1a-9074-4a61283419e6</id>
   <logoResourceURL>http://static.idamob.ru/jet/forms/${image.type}/ic_www.png</logoResourceURL>
   <name>i18n{"ru":"Сайт Банка","en":"Web"}</name>
   <position>CONTACTS</position>
   <type>URL</type>
   <value>i18n{"ru":"www.idamob.ru","en":"www.idamob.com"}</value>
</contacts>
key type status comment
id string 1..1 идентификатор
name string 0..1 наименование
type ContactTypeKey 1..1 тип
value string 0..1 значение
logoResourceURL LogoResource 0..1 url для доступа к логотипу
position ContactPosition 0..1 расположение формы для ряда уникальных кейсов

ContactTypeKey

key comment
PHONE номер телефона
URL ссылка
TEXT текстовый блок

ContactPosition

key comment
CONTACTS форма в списке контактов
PRODUCT_ORDER форма попадает в отдельный раздел бокового меню

WsFormTypeDTO

<formTypes type="WsFormTypeDTO">
    <emailBodyFormat>Request from ${name}, ${birth}. Phone: ${phone}</emailBodyFormat>
        <fields type="WsFieldDTO">
            <groupName nil="true"/>
            <hint>i18n{"ru":"Формат +7 (ХХХ) ХХХ-ХХ-ХХ","en":"Format +7 (ХХХ) ХХХ-ХХ-ХХ"}</hint>
            <id>field_id</id>
            <isRequired>true</isRequired>
            <ordinal>1</ordinal>
            <key>phone</key>
            <name>i18n{"ru":"Контактный телефон","en":"Contact Phone"}</name>
            <placeholder nil="true"/>
            <type>PHONE</type>
        </fields>
        <fields type="WsFieldDTO">
            <id>field_id</id>
            <isRequired>true</isRequired>
            <key>name</key>
            <name>i18n{"ru":"Полное имя","en":"Full name"}</name>
            <ordinal>2</ordinal>
            <type>SINGLE_LINE_TEXT</type>
        </fields>
        <fields type="WsFieldDTO">
            <id>field_id</id>
            <isRequired>true</isRequired>
            <key>birth</key>
            <name>i18n{"ru":"Дата рождения","en":"Date of birth"}</name>
            <ordinal>3</ordinal>
            <type>DATE</type>
        </fields>
    <id>contact_form_type_id</id>
    <name>Call request</name>
    <position>CONTACTS</position>
</formTypes>

Верхнеуровневый вид формы. Используется как шаблон-генератор на который должна ссылаться клиентская форма

key type status comment
id string 1..1 идентификатор
name string 1..1 название
emailBodyFormat string 0..1 формат для текста сообщения (применимо к контактным формам)
position FormPosition 1..1 положение формы
fields WsFieldDTO 0..1 список полей

FormPosition

key comment
CONTACTS форма в разделе контактов
PRODUCT_ORDER форма в приватном разделе SPECIAL_ORDERS про части
HIDDEN форма не видна в списках, но на нее возможен переход

WsFieldDTO

key type status comment
id string 1..1 идентификатор
name string 1..1 название
ordinal int 0..1 порядковый номер поля в форме
isRequired bool 1..1 признак обязательности поля
type FieldClass 1..1 тип поля формы, определяющий формат данных
hint string 0..1 подсказка
key string 0..1 ключ для привязки к типу в email
placeholder string 0..1 отображаемое внутри поля

FieldClass

key type comment
SINGLE_LINE_TEXT string однострочный текст
MULTI_LINE_TEXT string многострочный текст
CHECK_BOX bool чекбокс {true, false}
MONTH_YEAR string YYYY/MM (например 2012/11)
DATE int UNIXTIME (например 1394582400)
COMBO_BOX string список строк для comboBoxValues выбора 1..*
PHONE int 99999999999
PRINTED_TEXT string текст пояснение без возможности редактирования пользователем
IMAGE LogoResource картинка
MONEY int ddddd (умноженное на 100)

WsNewsDTO

key type status comment
id string 1..1 идентификатор
title string 0..1 заголовок
preview string 0..1 текст-превью
url string 0..1 ссылка на оригинал новости
htmlBody string 0..1 тело оригинала новости
creationDate string 0..1 дата публикации новости на оригинальном ресурсе
locale string 0..1 локаль новости

Out Intagration

www.websequencediagrams.com

participant Bank as b
participant CRM as c
participant iDaLight as l
participant Mobile as m

b->c: create contact form
b->l: mergeFormTypes()
c->l: getFormTypes()
c->l: addForm(type, fields)
l->m: update mobile forms are available\nthrough new login or pull-to-refresh
m->m: filling form with field validation
m->l: response from mobile\nwith filled fields
l->c: createOrder()

Уведомления обратной связи через внешний Web-сервис

Данный сервис разработан для интеграции с внешней CRM и позволяет направлять данные, полученные через контактные формы. Пример WSDL

image

createOrder

Создание заявки

key type status comment
Request:
orderId string 1..1 идентификатор
orderTypeId string 0..1 внутренний тип формы в базе iDa Light
data FieldValueDTO 0..1 массив полей со значениями, заполненными пользователем
Response:
sucсess bool 0..1 статус операции
errorMessage string 0..1 текстовое сообщение

FieldValueDTO

key type status comment
fieldName string 1..1 наименование
value string 0..1 значение
type string 0..1 тип

FAQ

Порядок установки серверной части iDa Mobile

Общие шаги

  1. Произвести установку СУБД PostgresSQL
  2. При помощи утилиты pgAdmin (обычно входит в дистрибутив PostgreSQL) подключиться к СУБД
  3. Создать новую роль (пользователя)
  4. Создать новую БД с указанием созданной в п.3 роли в качестве владельца создаваемой БД
  5. В созданной БД добавить схемы с названиями: lightschema, proschema
  6. Установить Apache Tomcat
  7. При желании - настроить работу Apache Tomcat с протоколом SSL (можно выполнить позднее)
  8. Открыть файл *.war при помощи ZIP-архиватора и перейти в подпапку *.war\WEB-INF\classes\META-INF
  9. Открыть файл persistence.xml и внести соответствующие правки, необходимые для подключения к БД (параметры: hibernate.connection.url, hibernate.connection.username, hibernate.connection.password).
  10. Заменить в *.war файле persistence.xml на тот, который был отредактирован в п.3
  11. Запустить Apache Tomcat (в случае с linux - ./tomcat/bin/startup.sh, в случае с windows вомпользоваться специальной системной службой)

Установка iDa Light

  1. Скопировать файл light.war в папку /tomcat/webapps и дождаться пока будет автоматически создана подпапка /Light
  2. Открыть через pgAdmin требуемую БД и проверить, что в схеме lightschema добавились таблицы
  3. Через консоль pgAdmin выполнить предоставленный компанией iDa Mobile скрипт SQL для заполнения БД первоначальными данными
  4. Проверить работоспособность приложения с помощью настроенного мобильного клиента
  5. Второй вариант проверки является вызов wsdl из браузера http://.../light/services/WsEndpointServiceFacade?wsdl

Порядок обновления серверной части iDa Mobile (*.war)

  1. Получить новую сборку в виде файла *.war
  2. Открыть файл *.war при помощи ZIP-архиватора и перейти в подпапку *.war\WEB-INF\classes\META-INF
  3. Открыть файл persistence.xml и внести соответствующие правки, необходимые для подключения к БД (параметры: hibernate.connection.url, hibernate.connection.username, hibernate.connection.password).
  4. Заменить в *.war файле persistence.xml на тот, который был отредактирован в п.3
  5. Убедится, что серверй приложений Tomcat запущен (в linux - ps -ef|grep tomcat). Если не запущен - запустить его (в linux - ./tomcat/bin/startup.sh).
  6. Перейти в папку tomcat/webapps
  7. В случае наличия в ней старой версии iDa - удалить файл *.war и дождаться пока папка обновляемого приложения удалится автоматически (~ 15 секунд)
  8. Скопировать в папку /tomcat/webapps/ полученный в п.4 файл *.war
  9. Дождаться пока в папке /tomcat/webapps появится папка с наименованием приложения (~ 15 секунд)
  10. Осуществить проверку работы приложения при помощи настроенного мобильного клиента

Пример wsdl

light server - http://dev.idamob.ru/light/services/WsEndpointServiceFacade?wsdl

Server config

bankId.current=UniMegaBank
resources.path = lightresources

news.first.result.size=10
rss.updates.interval=600
ws.allowed_addresses=

com.idamobile.platform.light.core.processor.EmailProcessor.SEND_EMAIL=false
com.idamobile.platform.light.core.processor.EmailProcessor.WSDL_URL=http://dev.idamob.ru/orders-server-stub/services/OrdersWebServiceFacade?wsdl

proxy.wsdl=http://dev.idamob.ru/proxy/services/IdaMobLightProxyServiceFacade?wsdl
proxy.service=IdaMobLightProxyServiceFacade
proxy.endpoint=IdaMobLightProxyServiceFacadeHttpSoap12Endpoint

Конфиг сервера

key type comment
bankId.current string уникальный идентификатор банка
resources.path string папка на сервере где располажены ресурсы (иконочки, баннеры)
news.first.result.size int пакеты новостей для пэгинации на апликации
rss.updates.interval int как часто сервер будет пытаться читать обновления rss ленты
ws.allowed_addresses string ограничитель адресов доступа к лайту (модет быть пустым и желательно настраивать через средства nginx)
SEND_EMAIL bool нужно ли отправлять заявки из контакнтых форм на email
WSDL_URL string возможность получать заявки через веб-сервис. необходимо реализвать сервис по шаблону WSDL http://dev.idamob.ru/orders-server-stub/services/OrdersWebServiceFacade?wsdl
proxy.wsdl string WSDL многошаговой формы
proxy.service string IdaMobLightProxyServiceFacade
proxy.endpoint string IdaMobLightProxyServiceFacadeHttpSoap12Endpoint

SMTP

update lightschema.properties set value = 'Trust iDa Mail Server' where key = 'mail.sender.name'
update lightschema.properties set value = 'smtp.gmail.com' where key = 'mail.smtp.host'
update lightschema.properties set value = '465' where key = 'mail.smtp.port'
update lightschema.properties set value = 'true' where key = 'mail.smtp.ssl.enable'
update lightschema.properties set value = '[email protected]' where key = 'mail.smtp.user'
update lightschema.properties set value = 'notificationidamob' where key = 'mail.smtp.pass'
update lightschema.properties set value = 'true' where key = 'mail.smtp.auth.enable'

Обновление в базе настроек

Для конфигурирования обратной связи клиента с банком через почту нужно прописать настройки в базу