Реализовать механиз обмена реестрами данных (PHP разработчик )

Цена договорная • безналичный расчёт
07 февраля 2019, 07:59 • 5 откликов • 47 просмотров
Требуется реализовать механизм периодического обмена реестрами данных между партнером банка и банком. У партнера банка есть свой формат реестра данных, его необходимо преобразовать к одному из форматов банка и передать в банк. Аналогично необходимо банковский формат полученного от банка реестра преобразовать в формат партнера банка.


ТЕХНИЧЕСКОЕ ЗАДАНИЕ:
Запросы отправляются по протоколу HTTPS методом GET. Параметры передаются в query компоненте URI (RFC 3986) в формате field1=value1&field2=value2&field3=value3...
Для аутентификации ¬ HTTP Basic authentication (RFC 1945). Ответ plain text, содержащий числовое значение с результатом выполнения запроса.


Для тестового сервера просьба использовать URL
https://api0.sms-dnevnik.com/payments/...


Запрос на проверку идентификатора счета


URL:
https://api.in¬-shkola.ru/payments/check


Пример запроса:
https://api.in¬-shkola.ru/payments/check?account_i...


Параметры:
● account_id ¬ идентификатор счета (номер телефона в международном формате без ‘+’, e.g. 79308534712)
● service ¬ передается, если кроме оплаты питания реализуется оплата услуг;
возможные значения:
○ cafeteria ¬ оплата питания (значение по умолчанию при отсутствии параметра service)
○ primary ¬ оплата услуг
Все параметры, кроме service, являются обязательными.


Возвращаемые значения:
Значение - 1 Описание неверный идентификатор счета
Значение - 2 Описание некорректные или отсутствующие значения параметров
Значение 0 Описание проверка успешно прошла


Запрос на получение текущего баланса
URL:
https://api.in-shkola.ru/payments/balance


Пример запроса:
https://api.in-¬shkola.ru/payments/balance?account...


Параметры:


● account_id ¬ идентификатор счета (номер телефона в международном формате без ‘+’, e.g. 79308534712)
● service ¬ передается, если кроме оплаты питания реализуется оплата услуг;
возможные значения:
○ cafeteria ¬ оплата питания (значение по умолчанию при отсутствии параметра service)
○ primary ¬ оплата услуг


Возвращаемые значения:


В теле ответа содержится значение баланса. В случае некорректного идентификатора счета возвращается пустой ответ и HTTP status code 204 (No Content).
Запрос на пополнение счета
URL:
https://api.in¬-shkola.ru/payments/new
Пример запроса:
https://api.in-shkola.ru/payments/new?payment_id=6...
12&sum=100.00&time=1421933550&service=primary

Параметры:
● account_id ¬ идентификатор счета (номер телефона в международном формате без ‘+’, e.g. 79308534712)
● sum ¬ сумма платежа в рублях, разделитель дробной части ¬ точка
● payment_id ¬ идентификатор транзакции (номер платежа)
● time ¬ дата и время платежа (unix timestamp)
● service ¬ передается, если кроме оплаты питания реализуется оплата услуг;
возможные значения:
○ cafeteria ¬ оплата питания (значение по умолчанию при отсутствии параметра service)
○ primary ¬ оплата услуг
Все параметры, кроме service, являются обязательными.

Возвращаемые значения:

Значение-1 Описание неверный идентификатор счета
Значение -2 Описание некорректные или отсутствующие значения параметров
Значение -3 Описание нефатальная ошибка сервера, возможна повторная попытка передать платеж
Значение 0 Описание операция успешна
Значение 1Описание платеж с таким идентификатором уже был совершен
Запрос отмены платежа (временное не работает)
URL:
https://api.in¬-shkola.ru/payments/cancel

Пример запроса:
https://api.in-¬shkola.ru/payments/cancel?payment_...

Параметры:
● payment_id ¬ идентификатор платежа
● reason ¬ причина отмены (“ошибочно зачислен”, “отменен клиентом” и т.п.) Все параметры являются обязательными.

Возвращаемые значения:
Значение -1Описание платеж не найден
Значение -2 Описание некорректные или отсутствующие значения параметров
Значение - 0 Описание операция успешна

Требования:
Кого мы ищем?




Уверенное знание PHP Core, Apache




Умение работать с инструментами сборки




Опыт работы с системами контроля версий (любыми)




Знание и понимание основ ООП




Базовое знание SQL




Понимание клиент-серверной архитектуры




Понимание внутренней структуры XML, JSON







Можно работать из дома?



Да. Но может возникнуть необходимость разового выезда к партнеру
банка, поэтому Вы должны проживать в КРАСНОЯРСКЕ.







Работа единоразовая?



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







Вы мне сразу оплатите работу?



Мы заключим с Вами договор ГПХ. В договоре подробно указаны
условия оплаты выполненных Вами работ.




Я студент, я могу попробовать?



Конечно! Нам не важен ваш возраст, опыт и место работы.



Все что нужно – Вам должно хватить знаний, чтобы выполнить задачу
и у Вас должно быть желание это сделать. Наверное, все.






Сколько мне заплатят?



Для нас это новый проект и мы готовы обсуждать условия по
сотрудничеству. Пожалуйста, ознакомьтесь с ТЗ и сообщите, за какую сумму Вы
готовы будете выполнить эту работу.






Я знаю java,
ознакомился с ТЗ, могу идти работать?




Не сразу, сначала вы должны подтвердить свои знания пройдя наш
тест. Для этого просим Вас ответить на наши вопросы по ссылке:




Сколько времени мне понадобится на реализацию?



Все зависит от опыта. Возможно, первый раз понадобится 2-3 дня, а
в дальнейшем за несколько часов справитесь. Трудно оценить временные затраты,
особенно при первом заказе.



Вам необходимо ответить на вопросы теста, размещенного по адресу https://docs.google.com/forms/d/e/1FAIpQLSejm10JWm4vXVzr_H9wyYG8fWcypfSF-ux9aqn5UfGbQFGWPQ/viewform?usp=sf_link