Хрестоматийное API Описание гипотетического протокола обмена данными между воображаемым сервером и мобильным приложением. версия 1.0 1. Требования к оформлению сообщений Запросы к серверу должны отправляться методом POST. При этом User-Agent Header`а должен быть равным “Mobile Device”. Приложение на мобильном устройстве должно поддерживать cookies. 2. Сервер Все обращения должны идти к хосту http://hackaton.sberbank.ru/mobile/ На каждый запрос от клиента сервер формирует XML подобный ответ. В каждом ответе обязательно приходит статус ответа, по которому клиент может определить наличие ошибки в ответе. 2.1. Код статуса Статусы ошибок Значение 0 Ответ полностью успешный и не содержит ни одной ошибки. 1 Ответ содержит ошибки, которые необходимо отобразить пользователю, так как они, скорее всего, вызваны его действиями, и он может их исправить. Сообщение может быть разобрано. Текст, пришедший в тегах < message> нужно показывать пользователю. 2 Возникала критическая ошибка на стороне сервера. Ответ не содержит запрашиваемой информации. Текст, пришедший в тегах < message> нужно показывать пользователю. 3 Текущая сессия недоступна. Необходимо повторить процесс аутентификации. Теги < message> игнорируется. 4 Сообщение содержит ошибки, однако может быть разобрано. Может придти только для групповых операций (например, Получение списка продуктов). Текст, пришедший в тегах < message> нужно показывать пользователю. 5 Доступ запрещен. Доступ к функционалу или запрашиваемым данным запрещен. Текст, пришедший в теге message, является системным. 6 Работа с приложением запрещена. В теге <error> содержится причина запрета, которую нужно отобразить клиенту. 7 mGUID заблокирован. Приложение требуется зарегистрировать снова. Текст, пришедший в теге <message> игнорируется. 8 Технологический перерыв. Вход или регистрация клиента запрещены. Текст, пришедший в тегах < message> нужно показывать пользователю. 2.2. Типы данных Money amount Тип для денежной единицы. string(1-32) Количество денежных средств со знаком Да REGEXP: ^(\+|-|)(\d{1,})(\.\d{1,}|) Currency Пример: -109980,59 Валюта Валюта Пример: -1000.11 Да code string(3) Буквенный код валюты ISO Да name string(1-16) Символ валюты. Для отображения пользователю. Да currency Currency Page – набор полей с произвольными параметрами fields field Массив полей с деталями платежа Да Набор параметров поля Да id integer Идентификатор поля type Integer Тип поля: Да 1 – Однострочное поле ввода 2 – Многострочная область ввода 3 – Поле является суммой 4 – Чекбокс 5 – Выпадающий список 6 – Источник списания text string Значение поля (только для текстовых полей) Нет amount Money Сумма в валюте. Присутствует только если указан соответствующий тип поля Нет header String Наименование поля Да required boolean Указывает на то, что поле обязательно к заполнению editable boolean Редактируемость поля default string Массив ключей активных элементов по умолчанию, разделенных запятыми. Например «1, 2, 4» Нет source type Integer Источник списания Нет 1 – Карта Да 2 – вклад 3 – Цель 4 - ОМС sourceID Integer Идентификатор ресурса Да 3. Описание методов 3.1. Регистрация Шаг 1. Отправка логина Запрос: registerApp.php Параметры: Элемент сообщения Тип Комментарий Обязател ьность action string Константа со значением «reg» Да login string Логин клиента Да platform string Мобильная платформа. Возможны значения: Да - “iOS” - “Android” - “WinPhone” - “Blackberry” - “Tizen” - “Other” deviceName string Модель устройства Да devID string Уникальный идентификатор устройства Да Ответ: Элемент сообщения Тип Комментарий Обязател ьность status integer Статус ответа Да loginCompleted boolean Признак завершения стадии логина Да mGUID String Уникальный идентификатор зарегистрированного приложения. Его нужно зашифровать и сохранить в приложении. message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Шаг 2. Подтверждение регистрации СМС-паролем Запрос: registerApp.php Параметры: Элемент сообщения Тип Комментарий Обязател ьность action string Константа со значением «confirm» Да mGUID string Уникальный идентификатор приложения (получен на шаге регистрации мобильного приложения) Да smsPassword string Пароль из SMS-сообщения Да Элемент сообщения Тип Комментарий Обязател ьность status integer Статус ответа Да loginCompleted boolean Признак завершения стадии логина Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Ответ: Шаг 3. Установка пароля на вход Запрос: registerApp.php Параметры: Элемент сообщения Тип Комментарий Обязател ьность action string Константа со значением «setCode» Да mGUID string Уникальный идентификатор приложения (получен на шаге регистрации мобильного приложения) Да password string Пароль на вход в приложения (PINкод) Да Элемент сообщения Тип Комментарий Обязател ьность status integer Статус ответа Да loginCompleted boolean Признак завершения стадии логина Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Ответ: 3.2. Авторизация Запрос: login.php Параметры: Элемент сообщения Тип Комментарий Обязател ьность mGUID string Уникальный идентификатор приложения (получен на шаге регистрации мобильного приложения) Да password string Пароль на вход в приложения (PINкод) Да Ответ: Элемент сообщения Тип Комментарий Обязател ьность status integer Статус ответа Да loginCompleted boolean Признак завершения стадии логина Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет 3.3. Получение списка банковских продуктов Запрос: productList.php Параметры: Элемент сообщения Тип Комментарий Обязател ьность products string Массив констант, указывающих какие продукты необходимо вернуть. Возможные значения: Нет - cards - accounts - loans - OMS - targets Если параметр отсутствует, возвращаются все продукты, имеющиеся у пользователя Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Карты Нет Id карты Номер счета карты Имя (алиас) карты нет да Да Да cards card id Account name integer Integer string(1-128) description string(1-32) number string(1-32) isMain type boolean availableLimit state accounts account id name rate closeDate smsName number balance target name comment date amount closeDate balance currency 3.4. Да Нет нет нет Да Нет нет Нет Да Нет Нет Алиас для sms-шаблонов Номер вклада Баланс вклада (остаток) Информация о цели Название Комментарий Дата достижения Нет Нет нет Нет Да Нет да Money Сумма цели в рублях Кредиты Да Нет integer string(1-128) Money string Money Money Date (dd.mm.yyyy) Id кредита Название кредита Сумма кредита Процентная ставка Общий остаток по кредиту Рекомендованный платеж Граничная дата следующего платежа Нет Да Да Нет Нет Нет Нет Нет string string Date (dd.mm.yyyy) imaccounts ima id name number openDate нет id вклада Название Процентная ставка Дата окончания integer String(1-128) string Date (dd.mm.yyyy) string string(1-32) Money loans loan id name amount rate balanceAmount nextPayAmount nextPayDate Описание карты (Visa Classic, MasterCard, Maestro и т.д.) Номер карты. Маскированный номер карты, к примеру 7565 13** **** Признак основной карты 1598 Тип карты (дебетовая, кредитная, овердрафтная) Доступный лимит по карте с кодом валюты Статуса карты (открытая, закрытая и т.д) Счета/вклады Обезличенные металлические счета(ОМС) Нет integer string string Date (dd.mm.yyyy) Date (dd.mm.yyyy) Идентификатор Наименование ОМС Номер счета Дата открытия ОМС Нет Да Да Да Нет Дата закрытия ОМС нет Money string Баланс Тип счёта ОМС Нет Нет Получение баллов «Спасибо» Запрос без параметров: productList.php Ответ: Элемент сообщения Тип Комментарий Обязател ьность status integer Статус ответа Да balance string Признак завершения стадии логина Нет Может отсутст вовать в случае ошибки 3.5. История операций Запрос: /payments/history.php Обязат ельнос ть Элемент сообщения Тип Комментарий from Date (dd.mm.yyyy) Дата начала построения списка операций to Date (dd.mm.yyyy) Дата окончания построения списка операций paginationSize integer Размер результирующей выборки. При Если оба параметра заданы то история операций будет выбрана по указанному периоду, иначе будет отображена история операций за месяц. Нет Нет Нет отсутствии данного параметра вернутся все результаты соответствующие запросу. paginationOffset integer Смещение относительно начала выборки. По умолчанию равно нулю. Нет Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Ответ: operations Нет operation id state date integer Date (dd.mm.yyyy) Идентификатор платежа Статус операции Дата операции Нет Да Да Да from to description operationAmou nt string(1-128) string(1-128) string(1-128) Money Откуда Куда Описание операции Количество средств по операции Нет Нет Да Нет copyable boolean Признак того, что данный платеж можно повторить. Да templatable boolean Признак того, что по данному платежу можно создать шаблон Да type string Тип операции Да form 3.6. servicePaymen t Оплата услуг jurPayment Перевод организации. payment Перевод в другой банк частному лицу paymentToClie nt Перевод клиенту Сбербанка Mobile Платежи в пользу мобильных операторов e-money Платежи на электронные кошельки string Форма платежа. Да Предложения банка Запрос без параметров: /loanOffer/show.do Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Данные по предодобренным предложениям Нет Список предодобренных кредитов Нет offerInfoData loanOffers loanOffer name Нет string Наименование Да procantRate string maxDuration Процентная ставка Да Максимальный период Да maxLimitAmou nt string Максимальная сумма Да currency string Валюта Да Список предодобренных кредитных карт Нет loanCardOffers loanCardOffer Нет name string Наименование Да maxLimitAmou nt string Максимальная сумма Да currency Currency Валюта Да offerType integer Тип предложения Да newCardType 1 Предложение на открытие новой кредитной карты 2 Предложение на увеличение кредитного лимита 3 Предложение по изменению вида карты и лимита string Тип кредитной карты. К примеру “Visa” Нет Примечание: - для того чтобы воспользоваться предложениями по кредитным картам необходимо выполнить заявку на получение кредитной карты. Система автоматически проверит есть ли предложения и если у пользователя есть предложение, то заявка будет трактоваться как предодобренная заявка. - для того чтобы использовать предодобренные предложения по кредитам, вне зависимости от предложения, необходимо выполнить запрос «Заявка на предодобренный кредит». На стадии выбора условий будет предложен весь список предодобренных условий. 3.7. Рекламные блоки Рекламные блоки представляют собой тексты с иконками, которые мобильное приложение может помещать на плашки, формируя таким образом баннеры. В зависимости от типа баннеры могут появляться на определенное время, и затем скрываться, либо появляться, ожидая клика от пользователя. Запрос без параметров: advertising.php Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Список баннеров Нет banners banner Нет icon string Ссылка на иконку для баннера Нет text String Текст для баннера Да url String url для перехода по клику на баннер Нет time Integer Время показа временного баннера в секундах Нет type integer Тип баннера Да 3.8. 1 Временный баннер 2 Баннер не скрывается, пока пользователь не тапнет на него, или не закроет принудительно Анализ личных финансов. Справочник категорий Справочник содержит как системные, так и добавленные клиентом категории. Запрос: /category/list.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «filter» Да incomeType string Тип категорий Да paginationSize income Доходные категории outcome Расходые категории integer Размер результирующей выборки. При Нет отсутствии данного параметра вернутся все результаты соответствующие запросу. paginationOffset integer Смещение относительно начала выборки. По умолчанию равно нулю. Нет Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Список категорий Нет категория Нет categories category id integer Идентификатор категории Да name string Наименование категории Да incomeType string Тип дохода. да canEdit income Доходная категория outcome Расходная категория boolean возможность редактирования/удаления категории Да если false – то это системная категория и ее редактирование/удаление недоступно 3.9. Добавление расходной категории Запрос: category.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «add» Да name string Название категории Да Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Ответ: 3.10. Редактирование расходной категории Запрос: /category.do Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «update» Да id integer Идентификатор категории Да name string Название категории Да Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Ответ: 3.11. Удаление расходной категории Запрос: /private/finances/category.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «remove» Да id integer Идентификатор категории Да Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Ответ: 3.12. Структура расходов по категориям Запрос: /finances/operationCategories.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «filter» Да from Date (dd.mm.yyyy) Дата начала построения списка операций Да to Date (dd.mm.yyyy) Дата окончания построения списка операций Да showCash boolean Показывать ли операции с наличными Да showCashPayments boolean Отображать траты наличными Да selectedId string Выбранные карты Нет Актуальное множество возможных значений для конкретного клиента, в зависимости от типов существующих у него карт, будет получено только в первом ответе (поле cardFilter). Т.е. на первом запросе возможные значения еще не известны, поэтому в нем можно не передавать параметр (в этом случае приходит информация по всем картам). excludeCategories String Исключаемые категории операций TransferBetwee nАccounts перевод между своими счетами TransferToDepo sit перевод на вклад TransferFromCa rd перевод с карты Нет Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да Список категорий Нет Категория Нет categories category id intereg Идентификатор категории Да name string Наименование категории Да nationalSum Money Сумма операций по категории. В национальной валюте. Да Информация о бюджете по категории Нет Величина бюджета в рублях Да budget budgetSum Money isAvg boolean true – если бюджет по категории рассчитан как среднее значение за последние 6 месяцев Нет false – бюджет по категории установлен клиентом 3.13. Редактирование и разбивка операции В случае разбивки операции в запросе должны присутствовать 3 проиндексированных массива параметров: newOperationTitle[i], newOperationCategoryId[i], newOperationSum[i], где i – 0-based индекс, при этом элементы с одинаковым индексом описывают одну новую операцию. Запрос: /operations/edit.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа «save» Да operationId integer Идентификатор операции Да operationTitle string Название операции Да operationCategoryI d integer Идентификатор категории Да newOperationTitle[ i] string Название новой операции Нет newOperationCatego ryId[i] integer Идентификатор категории Нет newOperationSum[i] Amount выбирать можно только из availableCategories Сумма новой операции в валюте исходной операции Нет Сумма всех операций не должна превышать сумму исходной операции Знак каждой новой операции должен совпадать со знаком исходной Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer Статус ответа Да 3.14. Операции с разбивкой по категориям Запрос: / finances/operations/list.php Элемент сообщения Тип Комментарий Обязат ельнос ть from Date (dd.mm.yyyy) Дата начала построения списка операций Да to Date (dd.mm.yyyy) Дата окончания построения списка операций Да categoryId integer Идентификатор категории Нет selectedCardId integer Идентификатор карты Нет income boolean Признак приходной операции Да showCash boolean Показывать ли операции с наличными Да showCashPayments boolean Отображать траты наличными Да showOtherAccounts boolean Показывать ли операции по дополнительным картам к чужим счетам Да paginationSize integer Размер результирующей выборки. При Нет отсутствии данного параметра вернутся все результаты соответствующие запросу. paginationOffset integer Смещение относительно начала выборки. По умолчанию равно нулю. Нет excludeCategories String Исключаемые категории операций Нет TransferBetwee nАccounts перевод между своими счетами TransferToDepo sit перевод на вклад TransferFromCa rd перевод с карты Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status integer operations operation Статус ответа Да Список операций Нет Операция Да id integer Идентификатор операции Да date Date (dd.mm.yyyy) Дата Да comment string Комментарий Да categoryId integer Идентификатор категории операции Да categoryName string Название категории операции Да cardNumber string Маскированный номер карты. Для трат наличными выводится "Наличные" Да cardAmount Money Сумма в валюте карты. Пустое для трат наличными. Да nationalAmount Money Сумма в рублях Да Доступные для операции категории Да Категория Да availableCategories category id integer Идентификатор Да name string Название Да 3.15. Повтор операций из истории/Оплата по шаблону Описанные ниже методы могут быть использованы для повтора операции из истории, либо для оплаты существующего шаблона Шаг 1. Получение формы Запрос: operations/do.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «open» Да id integer Идентификатор операции, повтор которой необходимо произвести Да Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть Status Integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет id integer Идентификатор операции Да page Page Страница – набор полей к проверке или заполнению да Шаг 2. Заполнение и отправка формы формы Запрос: operations/ do.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением «repeat» Да id integer Идентификатор операции, повтор которой необходимо произвести Да page Page Заполненная пользователем форма Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет operationID integer Идентификатор операции (новой) Нет page Page Страница Нет Ответ: confirmationSMS boolean Признак, указывающий нужно ли подтверждать операцию одноразовым кодом из СМС Нет Шаг 3. Подтверждение Запрос: operations/ do.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «confirm» Да operationID integer Идентификатор операции Да smsPassword integer Пароль из СМС (нужен только в случае, если в ответ на первый шаг пришло требование подтверждения паролем) Нет page Page Заполненная пользователем форма Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет operationStatus integer Статус операции: Да Ответ: 1 – Исполнена 2 – Принята к исполнению 3 – Отказано в исполнении page 3.16. Page Страница – набор полей к проверке или заполнению Адресная книга. Синхронизация контактов Да Сервис поможет определить пользователей Сбербанка, получить аватар (если есть), и получить список избранных номеров. Запрос: /contacts.php Элемент сообщения Тип contacts contact Комментарий Обяза тельн ость Справочник контактов. Формат – xml-подобная строка. К именам контактов необходимо применить xml escaping. Да Контакт Да name string Имя контакта Да phone string Номер телефона(Пример: 79260000000) Да Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть status Status Статус ответа Да Contacts Список контактов contact Контакт Да name string Имя контакта Да phone string Номер телефона(Пример: 79260000000) Да favorites boolean Признак,указывающий на то, что контакт является избранным Нет client boolean Признак,указывающий на то, что контакт является клиентом сбербанка Да avatar string url на аватар пользователя Нет 3.17. Новости 3.17.1. Получение списка новостей Запрос: /news/list.php Обяза тельно сть Элемент сообщения Тип Комментарий from Date Дата начала to Date Дата окончания pageSize integer Размер результирующей выборки. При Необходимо передавать данные параметры только в паре. нет Нет отсутствии данного параметра вернутся все результаты соответствующие запросу. pageOffset integer Смещение относительно начала выборки. По умолчанию равно нулю. Нет Элемент сообщения Тип Комментарий Обязат ельнос ть status Status Статус ответа Да Ответ: newsList Нет news Нет id integer Id новости Да title string(1-40) Заголовок. Могут присутствовать html спецсимволы. Да date Date Дата новости Да shortText string(1-150) Короткое описание. Отформатированный html тегами текст. Да 3.17.2. Получение полного текста новости Запрос: /news/getFullNews.php Элемент сообщения Тип Комментарий Обязат ельнос ть id integer Id новости Да Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть status Status Статус ответа Да text string (1 – 5200) Полный текст новости. Отформатированный html тегами текст Да 3.18. Push-уведомления 3.18.1. Подключение Запрос: /push.php Элемент сообщения Тип Комментарий Обязательность action string Константа со значением «on» Да token string Push-токен Да Элемент сообщения Тип Комментарий Обязательность status Status Статус ответа Да Ответ: 3.18.2. Обновление token для Push-уведомлений Запрос: /pushSettings.do Элемент сообщения Тип Комментарий Обязательность action string Константа со значением «update» Да token string Push-токен Да Элемент сообщения Тип Комментарий Обязательность status Status Статус ответа да Ответ: 3.18.3. Отключение Push-уведомлений Запрос: /pushSettings.do Элемент сообщения Тип Комментарий Обязательность action string Константа со значением «off» Да Ответ: Элемент сообщения Тип Комментарий status Status Статус ответа 3.19. Курсы валют Запрос без параметров: /rates/rates.php Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть status Status Статус ответа Да rates Да rate Да from Да code string(3) [0-1] amount string(1-32) [1-n] scale string(1-32) to Да Если параметр scale отсутствует, то его можно считать равным 1. Amount обязательно присутствует, либо в to, либо в from, но не в обоих сразу. Наличие amount обозначает, что данная валюта является главной в паре (валюта относительно которой должен отображаться курс). нет Нет code string(3) Буквенный ISO код валюты amount string(1-32) Единица курса Пример: 1000.11 scale string(1-32) Коэффициент Пример: 1000.11 Если параметр scale отсутствует, то его можно считать равным 1. Amount обязательно присутствует, либо в to, либо в from, но не в обоих сразу. Наличие amount обозначает, что данная валюта является главной в паре (валюта относительно которой должен отображаться курс). Например, в ответе был получен фрагмент: … <rate> <from> <code>RUB</code> <amount>28.27</amount> </from> <to> <code>USD</code> </to> </rate> … Для этого фрагмента справедливо равенство: 28.27RUB 1USD Равенство обозначает, что банковский курс покупки одного USD равен 28.27 руб. 3.20. Шаблоны 3.20.1. Получение списка шаблонов Запрос без параметров /templates/list.php Ответ: Да Нет Нет Элемент сообщения Тип Комментарий Обязат ельнос ть status Status Статус ответа Да templates Да template Да id integer Идентификатор шаблона Да type string Тип операции: Да - servicePayment – Оплата услуг - jurPayment – Перевод организации - payment – Перевод в другой банк частному лицу - paymentToClient – Перевод клиенту Сбербанка - mobile – Платежи в пользу мобильных операторов - e-money – Платежи на электронные кошельки name string Наименование шаблона Да 3.20.2. Получение детальной операции по шаблону Для совершения оплаты по шаблону необходимо воспользоваться методами, описанными в п. 3.15. Запрос: templates/template.php Элемент сообщения Тип Комментарий Обязат ельнос ть operation string Константа со значением «open» Да id integer Идентификатор шаблона Да Тип Комментарий Обязат ельнос ть Ответ: Элемент сообщения Status Integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет id integer Идентификатор шаблона Нет page Page Страница – набор полей шаблона Нет 3.21. Открытие ОМС 3.21.1. Шаг выбора продукта Запрос без параметров: /products/ima/list.php Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да Список ресурсов списания (карты, вклады, счета ОМС), с которых возможно оплатить ОМС Да Идентификатор ресурса Да Список продуктов ОМС Да Продукт ОМС Да resources resource integer imaProducts imaProduct id integer Идентификатор Да name string Название Да currency Currency Металл да rate Amount Курс одного грамма металла в национальной валюте Да nationalCurren cy Currency Национальная валюта Да 3.21.2. Инициализация заявки на покупку ОМС Запрос: /products /ima/open.php Элемент сообщения Тип Комментарий Обяза тельно сть resource integer Идентификатор ресурса списания Да number string Количество граммов для покупки Да imaId integer Идентификатор продукта ОМС Да Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да resource integer Идентификатор ресурса списания Да number string Количество граммов для покупки Да imaId integer Идентификатор продукта ОМС Да token string Токен транзакции для подтверждения Да Ответ: 3.21.3. Подтверждение покупки ОМС Запрос: /products /ima/open.php Элемент сообщения Тип Комментарий Обяза тельно сть action integer Константа «confirm» Да token string Токен транзакции, пришедший на предыдущем шаге Да Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да Ответ: 3.22. Переводы между своими счетами и клиентам Сбербанка C помощью данного метода можно производить переводы между своими счетами, и клиентам Сбербанка. Переводы средств юр. лицам и физ. лицам в другой банк должны осуществляться с помощью метода, описанного в п. 3.23. Запрос: operations/transferMoney.php Элемент сообщения Тип Комментарий Обяза тельно сть resource integer Идентификатор ресурса списания Да type string Тип перевода: Да - myAccounts – Переводы между своими счетами - toClient – Перевод клиенту Сбербанка phone integer Номер телефона клиента Сбербанка Нет card integer Номер карты клиента Сбербанка (должен быть указан один параметр, либо телефон, либо номер карты) Нет target integer Идентификатор ресурса зачисления (для переводов между своими счетами) Нет amount Money Сумма перевода Да Ответ (содержит статус, токен и набор полей, фигурирующих в запросе): Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да … Да … Да token string Токен транзакции для подтверждения 3.22.1. Подтверждение перевода Запрос: operations/transferMoney.php Да Элемент сообщения Тип Комментарий Обяза тельно сть action integer Константа «confirm» Да token string Токен транзакции, пришедший на предыдущем шаге Да Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да Ответ: 3.23. Платежи поставщикам услуг и переводы (частным лицам в другой банк и юр. лицам) 3.23.1. Инициализация Запрос: operations/payment.php Элемент сообщения Тип Комментарий Обяза тельно сть action string тип операции: Да - transeferMoneyOut – перевод частному лицу в другой банк - jurPayment – перевод организации - payment – Оплата в пользу поставщика услуг id integer Идентификатор поставщика услуг (только для оплаты услуг, для переводов указывать не нужно!) нет Тип Комментарий Обязат ельнос ть Ответ: Элемент сообщения Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет page page Страница – набор полей к заполнению Да 3.23.2. Заполнение и отправка формы формы Запрос: operations/payment.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением «pay» Да page Page Заполненная пользователем форма Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет token string Токен транзакции Нет page Page Страница Нет confirmationSMS boolean Признак, указывающий нужно ли подтверждать операцию одноразовым кодом из СМС Нет Ответ: 3.23.3. Подтверждение Запрос: operations/payment.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением «confirm» Да token string Токен транзакции Да smsPassword integer Пароль из СМС (нужен только в случае, если в ответ на первый шаг пришло требование подтверждения паролем) Нет page Page Заполненная пользователем форма Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет operationStatus integer Статус операции: Да Ответ: 1 – Исполнена 2 – Принята к исполнению 3 – Отказано в исполнении 3.24. Предложения на предодобренную кредитную карту/предодобренный кредит Запрос без параметров: profile/offers.php В ответ приходят активные предложения от банка по предварительно одобренным кредиту или карте. Структура ответа: Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Предложение по кредитной карте Нет cardOffer id Integer Идентификатор предложения Нет summary string Краткое описание предложения Нет amount money Кредитный лимит Нет type string Тип карты: - MasterCard Нет - Visa loanOffer Предложение кредита Нет id integer Идентификатор предложения Нет summary string Краткое описание предложения Нет amount money Сумма кредита Нет period integer Срок кредита в месяцах Нет 3.24.1. Подробная информация о предварительно одобренном кредите/кредитной карте Запрос: profile/offers.php Элемент сообщения Тип Комментарий Обязат ельнос ть id integer Идентификатор предложения Да type integer Константа: Да - 1 - для кредитов - 2 – для кредитных карт Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет page page Страница с условиями по предложению Нет 3.24.2. Инициализация заявки на кредит/кредитную карту Запрос: profile/offerAccept.php Элемент сообщения Тип Комментарий Обязат ельнос ть id integer Идентификатор предложения Да page page Страница с условиями по предложению Да officeId integer Идентификатор отделения, в котором клиент желает получить кредит/кредитную карту Нет (Можно получить с помощью гео-сервисов, описанных в 3.24.5) Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет page page Страница с условиями по предложению для подтверждения Нет token string Токен транзакции Да 3.24.3. Подтверждение Запрос: profile/offerAccept.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением «confirm» Да token string Токен транзакции Да page Page Заполненная пользователем форма Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Ответ: 3.24.4. Получение списка с координатами офисов Запрос: geo/offices.php Элемент сообщения Тип Комментарий Обязат ельнос ть city string Город Нет latitude string Широта Нет longitude string Долгота Нет radius integer Радиус в метрах от точки с координатами (latitude, longitude) Нет count integer Количество в выборке Нет offser integer Смещение относительно 0-го элемента выборки Нет Ответ: Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Offices office Нет latitude string Широта отделения Нет longitude string Долгота отделения Нет id integer Идентификатор отделения Нет summary string Описание Нет period string Время работы Нет city string Город Нет street string Улица Нет building string Дом Нет 3.25. Счета из интернет-магазинов Запрос без параметров: profile/invoices/list.php В ответ приходят имеющиеся счета, выставленные интернет-магазинами. Структура ответа: Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет source page invoices invoice Возможные источники списания для оплаты счетов Да Список счетов Нет Счет интернет-магазина Нет id string Идентификатор счета Нет companyName string Наименование юридического лица Нет brand string Бренд Нет summary string Краткое описание магазина Нет amount money Сумма к оплате Нет description string Описание услуг/товаров Нет 3.25.1. Оплата счета Запрос: profile/invoices/pay.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением “pay” Да source page Источник списания Да id integer Идентификатор счета Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет source page Источник списания Да token string Токен транзакции Да Счет интернет-магазина Нет Ответ: invoice id string Идентификатор счета Нет companyName string Наименование юридического лица Нет brand string Бренд Нет summary string Краткое описание магазина Нет amount money Сумма к оплате Нет description string Описание услуг/товаров Нет 3.25.2. Подтверждение Запрос: profile/invoices/pay.php Элемент сообщения Тип Комментарий Обязат ельнос ть action string Константа со значением «confirm» Да token string Токен транзакции Да Элемент сообщения Тип Комментарий Обязат ельнос ть Status integer Статус ответа Да message String Текст для отображения клиенту. Может присутствовать в случае ошибки или наличия информационного сообщения. Нет Ответ: 3.26. Профиль пользователя 3.26.1. Изменение региона пользователя Запрос: /private/dictionary/regionSet.php Элемент сообщения Тип Комментарий Обяза тельно сть id integer Идентификатор региона. Нет Отсутствие данного параметра говорит о выборе всех регионов. Регион можно выбрать, используя справочник регионов. Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да 3.27. Справочник регионов Справочник регионов можно представить в виде ориентированного дерева, корень которого являются элементом «все регионы». Запрос: /private/dictionary/regions.php Элемент сообщения Тип Комментарий Обяза тельно сть parentId integer Идентификатор родителя. Нет Если данный элемент отсутствует, то выборка производится относительно корня. Ответ: Элемент сообщения Тип Комментарий Обяза тельн ость status Status Статус ответа Да region Region Выбранный регион с цепочкой родителей. Нет Список регионов Нет Регион Нет regionsList region id integer Идентификатор Да description string Наименование Да