Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

В процекте необходимо воспроизвести некоторый reverse engineering приложения диди такси который на андроид https://play.google.com/store/apps/details?id=com.didiglobal.passenger&hl=ru

Конечный продукт должен из себя представлять некоторую клиент-серверную программу которую можно запустить одной командой строкой на удаленном хосте

Далее эта программа слушает запросы которые прилетают к ней.

Определение "ручка" -- некоторый http запрос

Все запросы выполняются клиентом, а потому нужно реализовать backend

Необходимо логировать все действия

Бонусом будут наличие функциональных тестов

Важно добавить возможность передавать параметры для прокси.

Функционал:

1) Регистрация как клиент:

Одним запросом (POST) передается номер для регистрации, ФИО и почта в теле запроса, после чего сервер ожидает второго запроса.

В этот момент диди отправляет код для регистрации.

Далее отправляется второй запрос с данным кодом и таким образом регистрируется аккаунт. Возвращается id (генерится на стороне backend) регистрируемого аккаунт для того, чтобы по данному айди можно было производить следующие действия.

2) Привязка оплаты:

По данному id идет привязка карты

Аналогично реализовать привязку карты для оплаты

В тело запроса передается номер карты, срок, cvc/cvv

Следующим запросом передается смс для оплаты

также обработать процесс привязки. Карта может не привязаться необходимо вернуть ошибку привязки.

3) Вызов такси:

Передается адреса начальной и конечной точек с данным айди

Далее производится вызов такси. Вернуть ОК если удалось успешно начать вызов такси с оплатой по карте, если нет то вернуть причину отказа

Так как поиск занимает некоторое время то после данного запроса отправляются запросы с проверкой статуса заказа

а) Если таксист еще не найден то вернуть сообщение которое дает понять, что происходит поиск такси

б) Если таксист найден, то вернуть: время ожидания, информацию о машине, ФИО таксиста, номер телефона таксиста. Для того, чтобы пользователь смог понять в какую машину сесть.

в) Если таксист отменил заказ, то сообщить данный кейс. Вообще такси должно попытаться выбрать нового таксиста и так как это снова может быть статуса ожидания таксиста, то вернуть сообщение а)

г) таксист прибыл в указанное местоположение. Вернуть информацию о водителе также как и в пункте б)

Поддержать ручку отмены заказа. Вернуть ОК, если удалось успешно отменить заказ. При этом вернуть статуса водителя. Например если водитель прибыл уже на местоположение, то вернуть статус того, что водитель прибыл. Грубо говоря дать понять то, что деньги были списаны.

По итогу нужно видео где по данным ручкам удалось зарегистрировать и заказать такси с оплатой по карте.

Готовым результатом будет то, что я смогу зарегистрировать и вызвать такси раз 10-20 через данное API

Будет большим плюсом, если возможно созвониться через zoom

3 года назад
guest_1602712238649
3 года в сервисе
Был
3 года назад