REST API
Изменить настройки драйвера
.. http:post:: /updateDriverSettings
:noindex:
Применяет новые настройки драйвера.
:reqheader Content-Type: application/json
:reqheader Content-Length: size
:<json settings: настройки (**required**)
:<jsonobj settings: :ref:`DeviceSettingsObject`
: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**)
Пример запроса
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'/}"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Получить настройки драйвера
.. 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`
Пример запроса
curl -i -X GET http://localhost:1234/getDriverSettings
Пример ответа(pretty print)
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"
}
Очистить дисплей терминала оплаты
Важно
Драйвер должен быть настроен перед запросом(:ref:`Изменить настройки драйвера`
).
.. 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**)
Пример запроса
curl -i -X POST http://localhost:1234/clearScreen
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Сформировать QR код для оплаты
Важно
Драйвер должен быть настроен перед запросом(:ref:`Изменить настройки драйвера`
).
.. http:post:: /showQR
:noindex:
Формирует QR код для оплаты и выводит его на дисплей терминала оплаты.
:reqheader Content-Type: application/json
:reqheader Content-Length: size
:<json int amount: сумма платежа(в копейках) (**required**)
:<json string purpose: назначение платежа (**optional**)
:<json int ttl: время жизни QR кода(в минутах) (**optional**)
: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**)
Пример запроса
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'/}"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Получить статус транзакции динамического QR кода
Важно
Должен быть сформирован динамический QR код перед запросом(:ref:`Сформировать QR код для оплаты`
).
.. 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**)
Пример запроса
curl -i -X GET http://localhost:1234/getDynamicQRStatus
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 49
{"status":"success","dynamicQRStatus":"ACCEPTED"}
Сформировать информационный QR код
Важно
Драйвер должен быть настроен перед запросом(:ref:`Изменить настройки драйвера`
).
.. http:post:: /showInfoQR
:noindex:
Формирует QR код из произвольной строки и выводит его на дисплей терминала оплаты.
:reqheader Content-Type: application/json
:reqheader Content-Length: size
:<json string infoQR: информационная строка (**required**)
: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**)
Пример запроса
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'/}"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Экспортировать базу данных в CSV файл
Важно
Драйвер должен быть настроен перед запросом(:ref:`Изменить настройки драйвера`
).
.. http:post:: /exportToCSV
:noindex:
Экспортирует базу данных транзакций в CSV файл
:reqheader Content-Type: application/json
:reqheader Content-Length: size
:<json string path: путь к файлу (**required**)
: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**)
Пример запроса
POST_DATA='
{
"path": "history.db"
}'
curl -i \
-H "Content-Type: application/json" \
-X POST http://localhost:1234/exportToCSV \
-d "${POST_DATA//$'\n'/}"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Отобразить статус транзакции
Важно
Драйвер должен быть настроен перед запросом(:ref:`Изменить настройки драйвера`
).
.. http:post:: /displayStatus
:noindex:
Отображает указанный статус транзакции на терминале
:reqheader Content-Type: application/json
:reqheader Content-Length: size
:<json int status: статус (**required**)
: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**)
Пример запроса
POST_DATA='
{
"status": 3
}'
curl -i \
-H "Content-Type: application/json" \
-X POST http://localhost:1234/displayStatus \
-d "${POST_DATA//$'\n'/}"
Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 20
{"status":"success"}
Получить версию драйвера
.. http:get:: /version
:noindex:
Возвращает версию драйвера.
:statuscode 200: успех
:resheader Content-Type: application/json
:resheader Content-Length: size
:>json string status: *success* (**required**)
:>json string version: версия (**required**)
Пример запроса
curl -i -X GET http://localhost:1234/version
Пример ответа(pretty print)
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 38
{"status":"success","version":"2.0.0"}