service_api

Пример API для выполнения простых операций со счётом клиента. Для его использования Вам необходимо иметь установленный docker-compose. Выполните ./launch.sh из папки с проектом (.../service_api). Сервер будет запущен на localhost:8080.

Реализованные методы:

  • /api/ping (работоспособность сервиса)
  • /api/add (пополнение баланса)
  • /api/substract (уменьшение баланса)
  • /api/status (остаток по балансу, открыт счет или закрыт)

Для работы с API необходимо добавлять следующий заголовок в HTTP запрос: Host: service_api.

Общий шаблон json сообщения:

{
“status“ = <http_status>,
“result“: <bool:operation_status>,
“addition“: {},
“description“: {}
}

Поле UUID является обязательным для любого запроса (кроме /api/ping).

Для передачи суммы, которую требуется добавить или вычесть, в поле addition следует добавить пару 'value': <value>.

Возможные значения http_status:

  • 200 - запрос был успешно обработан.
  • 400 - некорректные поля переданного json.
  • 403 - закрытый счёт.
  • 404 - UUID не был найден в базе.
  • 406 - недостаточное количество денег для выполнения операции.
  • 500 - запрос не может быть обработан из-за ошибки на стороне сервера.

В поле description по ключу error будет описание ошибки.

В качестве тестового инструмента можно использовать скрипт test_api.py.

Для этого сперва выполните pip install -r test-requirements.txt, предварительно создав виртуальное окружение, если необходимо.

Выполните python3 test_api.py --help для получения информации о списке возможных команд и аргументов.