Добавить в ответы версию ККМ-сервера (по сути версию API)

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
Alexey
Сообщения: 216
Зарегистрирован: 13 мар 2017, 16:00
Контактная информация:

Добавить в ответы версию ККМ-сервера (по сути версию API)

Сообщение Alexey » 28 ноя 2019, 15:40

//{
// "CheckNumber": 1, // Номер документа
// "SessionNumber": 23, // Номер смены
// "QRCode": "t=20170904T141100&fn=9999078900002287&i=108&fp=605445600",
// "Command": "OpenShift",
// "Error": "", // Текст ошибки если была - обязательно показать пользователю - по содержанию ошибки можно в 90% случаях понять как ее устранять
// "Status": 0 // Ok = 0, Run(Запущено на выполнение) = 1, Error = 2, NotFound(устройство не найдено) = 3, NotRun = 4
// "Version": " 2.1.31.16"
//}

Сталкиваюсь периодически с тем, что клиенты годами не обновляют ККМ-сервер. При этом интеграция развивается и обновляется. Не лишним было бы передавать во всех ответах (либо сделать отдельную команду на получение версии ПО), чтобы в случае, если модуль интеграции видит, что версия маловата, то либо у себя в интеграции выводить информацию, что нужно обновится, либо бы посылал команду на ленту. В общем, чтобы была возможность привлечь клиента для обновления.

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Добавить в ответы версию ККМ-сервера (по сути версию API)

Сообщение Audim » 28 ноя 2019, 23:27

Я пытался это сделать (печатать после чека предупреждение) - получил очень негативную реакцию...
А в окне kkmserver - бесполезно - никто туда естественно не смотрит.

В новых версиях в ответе есть поле "Warning" - вот туда пишется предупреждения если какой-то тег не удалось передать в ККТ из за ее устаревшей прошивки.

Аватара пользователя
saratovout
Сообщения: 260
Зарегистрирован: 08 авг 2019, 23:52
Откуда: Boston
Контактная информация:

Re: Добавить в ответы версию ККМ-сервера (по сути версию API)

Сообщение saratovout » 28 ноя 2019, 23:49

Alexey писал(а):
28 ноя 2019, 15:40
Не лишним было бы передавать во всех ответах (либо сделать отдельную команду на получение версии ПО), чтобы в случае, если модуль интеграции видит, что версия маловата, то либо у себя в интеграции выводить информацию, что нужно обновится, либо бы посылал команду на ленту. В общем, чтобы была возможность привлечь клиента для обновления.
А зачем это всем, кто-то работает с определенными стабильными версиями и эти траблы совершенно не нужны.
Версии фискальных регистраторов далеко не всегда поддерживают «новшества» KkmServer/UnitServer.
Тем более, что большинство обновлений ФР платное.

Что вам мешает в вашем случае опросить программу на предмет версии ПО до каких-либо других действий (напр., при старте)?

Код: Выделить всё

{Command: "GetServerData"}

в ответе будет ServerVersion. И делайте с этой информацией что вам нужно на стороне своей программы.

P.S. Примеры можно посмотреть в папке программы — html/*test.js.
Последний раз редактировалось saratovout 02 дек 2019, 23:29, всего редактировалось 2 раза.
good films make your life better..

Alexey
Сообщения: 216
Зарегистрирован: 13 мар 2017, 16:00
Контактная информация:

Re: Добавить в ответы версию ККМ-сервера (по сути версию API)

Сообщение Alexey » 02 дек 2019, 21:13

Дмитрий, я не просил от вас действий. Точнее от вас действие одно - дать возможность получить в обратном вызове текущую версию приложения. Либо отразить её в каждом запросе, либо отдельную команду.

Команда GetServerData существует?

Audim
Администратор
Сообщения: 2395
Зарегистрирован: 17 мар 2015, 18:36

Re: Добавить в ответы версию ККМ-сервера (по сути версию API)

Сообщение Audim » 03 дек 2019, 12:37

Команда GetServerData существует?
Да, и прекрасно работает, пример ответа:

Код: Выделить всё

{
    "ServerData": {
        "ServerName": "KkmServer",
        "ServerVersion": "2.1.31.17",
        "ServerDateStart": "2019-12-03T07:34:03",
        "ServerUpTime": "00 01:58:52",
        "LicenseExpirationDate": "2021-06-04T00:00:00",
        "LicenseCount": 1,
        "OSVersion": "6.2.9200.0",
        "OSPlatform": "Win32NT",
        "OSVersionString": "Microsoft Windows NT 6.2.9200.0",
        "OSName": "Майкрософт Windows 10 Pro",
        "OSDateStart": "2019-11-27T22:45:11",
        "OSUpTime": "05 10:47:45",
        "OSCurDateTime": "2019-12-03T09:32:56",
        "PCServerName": "AUDIM",
        "PCUserName": "Dmitry",
        "PCPhysicalMemory": "16,00 Gb",
        "PCFreePhysicalMemory": "8,96 Gb",
        "PCFreeDiskSpace": "886,26 Gb",
        "PCProcessorName": "Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz",
        "PCNumberOfCores": "4"
    },
    "Command": "GetServerData",
    "Error": "",
    "Warning": "",
    "Status": 0,
    "IdCommand": ""
}

Ответить