Мобильное приложение "Оценка" для ВТБ24

Реализация backend к мобильному приложению

Comments

Alexey Bychkov on October 3, 2013:

Ознакомился, но, честно говоря, совершенно не ясно, о чём речь и что именно нужно делать. ТЗ скорее путает, чем даёт чёткое понимание того, что нужно сделать. Писать конкретные вопросы тоже не лучший вариант - их будет уж слишком много.

Andrey Lyushenko on October 9, 2013:

Алексей, несколько вопросов:
1. Не понятно откуда брать токен
2. Я только что попробовал отправить запрос на http://chat.websumy.ru/inside/vtb24/mobile но адекватного результата не получил. Либо я что-то делаю не правильно, либо на сервере есть ошибка. Проясните, пожалуйста, этот момент

Андрей Буганов on October 9, 2013:

1. Андрей, токен необходимо генерировать на устройстве, это будет уникальный идентификатор устройства
2. Напишите тело запроса, а так же какой ответ получили

Андрей Буганов on October 9, 2013:

1. Токеном может быть любое сочетание цифр, букв, главное что-бы оно было постоянным

Андрей Буганов on October 9, 2013:

Алексей, кстати если ссылку API попробовать открыть в браузере то приходит 404 ошибка, это нормально?

Alexey Bychkov on October 9, 2013:

Почему 404? 
Проверил только что. При обращении сюда через браузер - http://chat.websumy.ru/inside/vtb24/mobile - выдаёт " <?xml version="1.0" encoding="UTF-8"?><response><status>500</status></response>"

Андрей Буганов on October 9, 2013:

точно, это я с ссылкой ошибся.
Проверил, Андрею писал правильную ссылку http://chat.websumy.ru/inside/vtb24/mobile

Andrey Lyushenko on October 9, 2013:

Я отправил xml  из ТЗ по адресу http://chat.websumy.ru/inside/vtb24/mobile

<?xml version="1.0" encoding="UTF-8"?>
<request>
<action>validation<action>
<number>+79515564857</number>
<token>56fs35fs35f4s35d4fds356f4</token>
</request>

Получил 

    <!DOCTYPE html>
<html>
<head>
    <title>Ошибка - MyTask</title>
            
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<META HTTP-EQUIV="Content-language" content ="ru">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">

    <link type="text/css" href="/web/css/bootstrap.min.css" rel="stylesheet" />
<link type="text/css" href="/web/css/datepicker.css" rel="stylesheet" />
<link type="text/css" href="/web/css/style.css" rel="stylesheet" />
<link type="text/css" href="/web/css/auth.css" rel="stylesheet" />

    <script type="text/javascript" src="/web/js/jquery/1.10.1.min.js"></script>
<script type="text/javascript" src="/web/js/bootstrap.min.js"></script>

    <script type="text/javascript">
        var lang = 'ru';
    </script>
</head>
<body>
<div class="container">
<h1>Ошибка 404 Страница не найдена</h1>
<p>Страница не найдена или же на странице произошла ошибка</p>

<p>Проверьте правильно ли введен Вами адрес и повторите попытку</p>

<p>
<a href="/">На главную</a>
</p> <!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter20561308 = new Ya.Metrika({id:20561308,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true});
} catch(e) { }
});

var n = d.getElementsByTagName("script")[0],
s = d.createElement("script"),
f = function () { n.parentNode.insertBefore(s, n); };
s.type = "text/javascript";
s.async = true;
s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

if (w.opera == "[object Opera]") {
d.addEventListener("DOMContentLoaded", f, false);
} else { f(); }
})(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="//mc.yandex.ru/watch/20561308" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-39262840-1']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>
</div>
<!--[if ! IE]>
<![endif]--></body>
</html>

Andrey Lyushenko on October 9, 2013:

Отправлял постом

Андрей Буганов on October 9, 2013:

Код телефона через 8-ку должен быть, но думаю это не связано с получаемой ошибкой

Андрей Буганов on October 9, 2013:

action нет закрывающего слеша

Andrey Lyushenko on October 9, 2013:

Да, правильно, поправил - ответ есть

Andrey Lyushenko on October 9, 2013:

Поясните, пожалуйста, по поводу номеров телефона. Я до сих пор не понимаю что это за нормера, какой страны и как их валидировать

Андрей Буганов on October 9, 2013:

Это код межгорода в России, у нас номера можно набирать как +79515564857 так и 89515564857.
Изначально я писал в API по правильному с +7, но в приложении позже уже было согласовано писать 8 вместо +7, поэтому Алексей уже переделал под 8.
Если вдруг в номере окажется код +3 например, то так его и передаем. Но этого не должно возникнуть, так как анкетирование скорее всего только на территории РФ проходит.

Андрей Буганов on October 9, 2013:

9515564857 в backend статус изменился на прошел валидацию
отлично.

Andrey Lyushenko on October 9, 2013:

1. Андрей, токен необходимо генерировать на устройстве, это будет уникальный идентификатор устройства

Он генериться один раз или его нужно перегенерировать при каких-то условиях?
 

Андрей Буганов on October 9, 2013:

Один раз

Max Kucherenko on October 11, 2013:

API сейчас возвращает http://google.com там где должно возвращать ссылку на анкету. В ТЗ написано что мобильное приложение должно отправлять запрос, когда прохождение анкеты завершено. Когда можно будет протестировать приложение с реальной анкетой?

Андрей Буганов on October 11, 2013:

Анкеты планируем часам к 12-13 сделать

Andrey Lyushenko on October 11, 2013:


Тест соглашения уже есть?

Max Kucherenko on October 11, 2013:

Какой сигнал того, что пользователь закончил отвечать на вопросы? Чтобы мы сейчас не проходили по всей анкете чтобы ловить URL.

Андрей Буганов on October 11, 2013:

не понял вопрос про сигнал

Max Kucherenko on October 11, 2013:

Из ТЗ
"После завершение заполнения анкеты юзер нажимает кнопку “готово” и отправляется обратно на первый экран. При этом в backend отправляется дата/время завершения опроса"

как нам, в мобильных приложениях узнать, что кнопка "Готово" была нажата? Для того чтобы отправить запрос о завершении на бэкенд

Андрей Буганов on October 11, 2013:

Максим, я думаю этот вопрос не к нам. Вопрос относится конкретно к реализации и мы не можем описывать где и какой класс/функцию создать/вызвать.
Во время согласования ТЗ и позже такой вопрос не поднимался.

Max Kucherenko on October 11, 2013:

Это вопрос о flow опроса. Т.к. мы в приложении просто отображаем web-страницы и нажатие на кнопку "готово" происходит тоже на web-странице - мы не можем обработать нажатие на эту кнопку. Но мы можем обработать URL на который происходит перенаправление после нажатия на кнопку "готово". Я просто хотел узнать URL на который происходит перенаправление чтобы сократить трату времени на прохождение опроса из вопросов ради того чтобы узнать URL в конце.

Андрей Буганов on October 11, 2013:

Это другое дело, сделал что-бы после завершения опроса перенаправляло на http://www.vtb24.ru/

Max Kucherenko on October 11, 2013:

Вот, спасибо, то что нужно.

Andrey Lyushenko on October 11, 2013:

"После завершение заполнения анкеты юзер нажимает кнопку “готово” и отправляется обратно на первый экран.При этом в backend отправляется дата/время завершения опроса"


В документации не описано как передавать дату/время


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

<request>

<action>stop</action>

<number>+79515564857</action>

<token></token>

</request>

"

Андрей Буганов on October 11, 2013:

В ТЗ ошибка, дата/время фиксируется серверное на сервере по факту поступления запроса, т.е. в запросе его не надо передавать

Andrey Lyushenko on October 11, 2013:

Т.е. просто отправляется 

"<?xml version="1.0" encoding="UTF-8"?>
<request>
<action>stop</action>
<number>+79515564857</action>
<token></token>
</request>
"

и все?

Андрей Буганов on October 11, 2013:

да