REST API ======== Изменить настройки драйвера --------------------------- .. sourcecode:: bash .. http:post:: /updateDriverSettings :noindex: Применяет новые настройки драйвера. :reqheader Content-Type: application/json :reqheader Content-Length: size :json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash POST_DATA=' { "settings": { "bankProfile": "Bank1", "bankProfiles": { "Bank1": { "bankName": "Static", "staticQR": "https://qr.nspk.ru/AS100001ORTF4GAF80KPJ53K186D9A3G" }, "Bank2": { "bankName": "CFT", "accAlias": "ACC_ALIAS", "extEntityId": "EXT_ENTITY_ID", "merchantId": "MERCHANT_ID", "password": "PASSWORD" } }, "deviceConnection": { "connectionType": "BLE", "deviceAddress": "D9:24:D0:38:94:22", "deviceName": "V8BL120025" } } }' curl -i \ -H "Content-Type: application/json" \ -X POST http://localhost:1234/updateDriverSettings \ -d "${POST_DATA//$'\n'/}" **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Получить настройки драйвера --------------------------- .. sourcecode:: bash .. http:get:: /getDriverSettings :noindex: Возвращает настройки драйвера. :statuscode 200: успех :resheader Content-Type: application/json :resheader Content-Length: size :>json string status: *success* (**required**) :>json settings: настройки (**required**) :>jsonobj settings: :ref:`DeviceSettingsObject` **Пример запроса** .. sourcecode:: bash curl -i -X GET http://localhost:1234/getDriverSettings **Пример ответа(pretty print)** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 364 { "settings": { "bankProfiles" : { "Bank1" : { "bankName" : "Static", "staticQR" : "https://qr.nspk.ru/AS100001ORTF4GAF80KPJ53K186D9A3G" }, "Bank2" : { "bankName" : "CFT", "accAlias" : "ACC_ALIAS", "extEntityId" : "EXT_ENTITY_ID", "merchantId" : "MERCHANT_ID", "password" : "PASSWORD" } }, "deviceConnection" : { "connectionType" : "Bluetooth", "deviceAddress" : "D9:24:D0:38:94:22", "deviceName" : "V8BL120025" } }, "status" : "success" } Очистить дисплей терминала оплаты --------------------------------- .. important:: Драйвер должен быть настроен перед запросом(``:ref:`Изменить настройки драйвера```). .. sourcecode:: bash .. http:post:: /clearScreen :noindex: Очищает дисплей терминала оплаты. :statuscode 200: успех :statuscode 400: ошибка запроса :statuscode 500: ошибка сервера :resheader Content-Type: application/json :resheader Content-Length: size :>json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash curl -i -X POST http://localhost:1234/clearScreen **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Сформировать QR код для оплаты ------------------------------ .. important:: Драйвер должен быть настроен перед запросом(``:ref:`Изменить настройки драйвера```). .. sourcecode:: bash .. http:post:: /showQR :noindex: Формирует QR код для оплаты и выводит его на дисплей терминала оплаты. :reqheader Content-Type: application/json :reqheader Content-Length: size :json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash POST_DATA=' { "amount": 1000, "purpose": "testing", "ttl": 5 }' curl -i \ -H "Content-Type: application/json" \ -X POST http://localhost:1234/showQR \ -d "${POST_DATA//$'\n'/}" **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Получить статус транзакции динамического QR кода ------------------------------------------------ .. important:: Должен быть сформирован динамический QR код перед запросом(``:ref:`Сформировать QR код для оплаты```). .. sourcecode:: bash .. http:get:: /getDynamicQRStatus :noindex: Возвращает последний статус транзакции динамического QR. :statuscode 200: успех :statuscode 400: ошибка запроса :resheader Content-Type: application/json :resheader Content-Length: size :>json string status: *success* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) :>json string dynamicQRStatus: статус транзакции *EMPTY*/*ERROR*/*PENDING*/*ACCEPTED*/*REJECTED*/*CANCELED*/*STATIC* (**required**) **Пример запроса** .. sourcecode:: bash curl -i -X GET http://localhost:1234/getDynamicQRStatus **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 49 {"status":"success","dynamicQRStatus":"ACCEPTED"} Сформировать информационный QR код ---------------------------------- .. important:: Драйвер должен быть настроен перед запросом(``:ref:`Изменить настройки драйвера```). .. sourcecode:: bash .. http:post:: /showInfoQR :noindex: Формирует QR код из произвольной строки и выводит его на дисплей терминала оплаты. :reqheader Content-Type: application/json :reqheader Content-Length: size :json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash POST_DATA=' { "infoQR": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }' curl -i \ -H "Content-Type: application/json" \ -X POST http://localhost:1234/showInfoQR \ -d "${POST_DATA//$'\n'/}" **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Экспортировать базу данных в CSV файл ------------------------------------- .. important:: Драйвер должен быть настроен перед запросом(``:ref:`Изменить настройки драйвера```). .. sourcecode:: bash .. http:post:: /exportToCSV :noindex: Экспортирует базу данных транзакций в CSV файл :reqheader Content-Type: application/json :reqheader Content-Length: size :json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash POST_DATA=' { "path": "history.db" }' curl -i \ -H "Content-Type: application/json" \ -X POST http://localhost:1234/exportToCSV \ -d "${POST_DATA//$'\n'/}" **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Отобразить статус транзакции ---------------------------- .. important:: Драйвер должен быть настроен перед запросом(``:ref:`Изменить настройки драйвера```). .. sourcecode:: bash .. http:post:: /displayStatus :noindex: Отображает указанный статус транзакции на терминале :reqheader Content-Type: application/json :reqheader Content-Length: size :json string status: *success*/*error* (**required**) :>json string error_category: категория ошибки (**optional**) :>json string error_message: описание ошибки (**optional**) :>json int error_code: код ошибки (**optional**) **Пример запроса** .. sourcecode:: bash POST_DATA=' { "status": 3 }' curl -i \ -H "Content-Type: application/json" \ -X POST http://localhost:1234/displayStatus \ -d "${POST_DATA//$'\n'/}" **Пример ответа** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 20 {"status":"success"} Получить версию драйвера ------------------------ .. sourcecode:: bash .. http:get:: /version :noindex: Возвращает версию драйвера. :statuscode 200: успех :resheader Content-Type: application/json :resheader Content-Length: size :>json string status: *success* (**required**) :>json string version: версия (**required**) **Пример запроса** .. sourcecode:: bash curl -i -X GET http://localhost:1234/version **Пример ответа(pretty print)** .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json Content-Length: 38 {"status":"success","version":"2.0.0"}