База данных MySQL По умолчанию не используются никакие фреймворки
Методы:
- add-user
- add-money
- add-currencies
- transfer-money
Обзор запросов
Добавить пользователя через апи В качестве передаваемых параметров нужно передать Имя,Страну,Город,Валюту.
$ curl -i -X POST -d '{"name":"Slava","city":"Moscow","country":"Russia","currency":"RUB"}' http://localhost/api/add-userОтвет вернёт ИД пользователя в системе:
$ {"status":"success","response":{"userid":"3"}}Добавить пользователю денег. В качестве параметров передаётся Сумма,Валюта,ИД пользователя
$ curl -i -X POST -d '{"amount":3.5,"currency":"GBP","id":3}' http://localhost/api/add-moneyОтвет содержит служебную информацию по конвертации валюты конечное значение денег на счёте:
$ {"status":"success","response":{"userid":3,"startAmount":3.5,"endAmount":292.9614,"startCurrency":"GBP","endCurrency":"RUB","totalUserAmount":292.9614}}Добавить валюты по дням. В качестве параметров передаётся массив содеражищий Имя валюты, Рейт, Дату
$ curl -i -X POST -d '[{"date":"2018-05-19","to":"EUR","rate":1.195},{"to":"EUR","rate":1.1952},{"date":"2018-05-21","to":"RUB","rate":61.9}]' http://localhost/api/add-currenciesОтвет вернёт обработанный значения:
$ {"status":"success","response":[{"date":"2018-05-19","to":"EUR","rate":1.195,"from":"USD"},{"to":"EUR","rate":1.1952,"date":"2018-05-20","from":"USD"},{"date":"2018-05-21","to":"RUB","rate":61.9,"from":"USD"}]}Перевод денег между пользователями. В качестве параметров передаётся массив содеражищий ИД отправителя, ИД получателя, сумма, и в какой валюте перевод
$ curl -i -X POST -d '{"amount":20,"currency":"EUR","receiver":2,"userid":1}' http://localhost/api/transfer-moneyОтвет вернёт исходный массив в случае успешного выполнения:
$ {"status":"success","response":{"amount":20,"currency":"EUR","receiver":2,"userid":1}}Поиск лога по имени и дате
CREATE TABLE `log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(11) NOT NULL,
`servicetype` smallint(6) NOT NULL,
`amount` decimal(10,4) NOT NULL,
`dateline` int(11) NOT NULL,
`data` text,
PRIMARY KEY (`id`),
KEY `userid` (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`country` varchar(45) NOT NULL,
`city` varchar(45) NOT NULL,
`created` int(11) NOT NULL,
`currency` varchar(5) NOT NULL,
`amount` decimal(10,4) NOT NULL DEFAULT '0.0000',
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`),
KEY `currency` (`currency`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `сurrencies` (
`dateline` date NOT NULL,
`currency_from` varchar(5) NOT NULL,
`currency_to` varchar(5) NOT NULL,
`rate` float(7,4) NOT NULL,
PRIMARY KEY (`dateline`,`currency_from`,`currency_to`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;Free Software, Hell Yeah!