Администрирование
> СерверККМ V4 > REST APIДата обновления: 23 июля 2026 г.
GET kkt/list
Получение список зарегистрированных ККТ.
URL: {{HTTPRoot}}/kkt/list
Тело ответа
Успешный ответ (200 OK)
{
"Result": [
{
"DeviceName": "Atol",
"Driver": 3,
"DeviceStatusDescription": "НетСвязи(выкл)"
},
{
"DeviceName": "Emu",
"Driver": 100,
"DeviceStatusDescription": "Ok"
}
],
"Code": 0,
"Description": "OK",
"Success": true
}
Поле: Result
Тип: массив DeviceListResponse
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| DeviceName | string | Имя устройства | “Atol” |
| Driver | int | Тип драйвера. 1 — Shtrih; 2 — 1C(4.7); 3 — Atol; 4 — RrElectro; 5 — 1C(5.0); 100 — Emulator; |
3 |
| DeviceStatusDescription | string | Описание статуса устройства. | “Ok” |
GET kkt/list/byPool?pool={pool}
Получить список устройств, входящих в указанный пул.
Пулом называется именованная группа устройств ККТ, объединённых для распределения заданий на печать между несколькими кассами.
URL: {{HTTPRoot}}/kkt/list/byPool?pool={pool}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| pool | string | + | Название пула. Если пул с указанным названием не найден или в него не включено ни одно устройство, сервер возвращает пустой массив | pool |
Тело ответа
Успешный ответ (200 OK)
{
"Result": [
"Atol",
"Emu",
"Shtrih"
],
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: массив Devices.
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Result | string | Название устройства | “Atol”, “Emu”, “Shtrih” |
GET kkt?device={device}
Получение подробной информации об устройстве ККТ.
URL: {{HTTPRoot}}/kkt?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"ServerVersion": "4.0.58.211",
"Fn": {
"Execution": "",
"FnContainsKeysUpdaterServerUri": false,
"FiscalizationsCount": 1,
"FiscalizationsFree": 0,
"FiscalizationDocumentNumber": "1",
"FiscalizationDateTime": "2025-03-16T00:00:00",
"ReasonCode": 0,
"LivePhase": "fiscalMode",
"Version": "1.0",
"RnNumber": "00031415926",
"FnsUrl": "nalog.ru",
"SenderEmail": "ivanov@mail.ru",
"FfdVersion": "1.2",
"SerialNumber": "0123123123123",
"OrganizationName": "ООО 'Ромашка'",
"Vatin": "7722345678",
"ValidityDate": "2027-02-15T23:36:30.0725604+08:00",
"SaleAddress": "г.Улан-Удэ, ул.Виноградная, д11А, офис 25",
"SaleLocation": "Офис",
"TaxVariant": 63,
"SignOfAgent": 127,
"AutomaticNumber": "",
"Ofd": {
"Name": "Тестовый ОФД",
"Vatin": "1234554321",
"Host": "ofd.example.ru",
"Port": 7777
},
"Warnings": {
"CriticalError": false,
"MemoryOverflow": false,
"NeedReplacement": false,
"OfdTimeout": false,
"ResourceExhausted": false
},
"Modes": {
"PrinterAutomatic": false,
"OfflineMode": false,
"ServiceSign": true,
"BsoSign": false,
"CalcOnlineSign": false,
"DataEncryption": true,
"SaleExcisableGoods": true,
"SignOfGambling": true,
"SignOfLottery": true,
"Pawnshop": true,
"Assurance": true,
"Marking": true,
"VendingMachine": true,
"CateringServices": true,
"WholesaleTrade": true,
"AutomaticMode": false
}
},
"Device": {
"FfdVersion": "1.2",
"FnFfdVersion": "1.2",
"IsFiscal": true,
"LineLength": 64,
"DeviceClass": 4,
"Model": "АТОЛ FPrint-22ПТК",
"ModelName": "АТОЛ FPrint-22ПТК",
"SerialNumber": "0020260207",
"FirmwareVersion": "2026",
"ConfigurationVersion": "02.07"
},
"Driver": {
"Type": "Atol",
"Version": "26.01.27",
"Vendor": "Atol"
},
"Status": {
"IsFnPresent": true,
"IsFnError": false,
"IsIsmDisconnected": false,
"IsOfdDisconnected": false,
"Backlog": {
"DocumentsCounter": 0,
"DocumentFirstNumber": 0,
"DocumentFirstDateTime": "0001-01-01T00:00:00"
},
"ExchangeStatusIsm": {
"IsFnPresent": true,
"IsFnError": false,
"IsIsmDisconnected": false,
"IsOfdDisconnected": false,
"Ism": {
"Address": "ism.example.ru",
"Port": 8888,
"Errors": {
"FnCommandCode": 0,
"DocumentNumber": 0,
"LastSuccessConnectionDateTime": "0001-01-01T00:00:00",
"Fn": {
"Code": 0
},
"Network": {
"Code": 0
},
"Ism": {
"Code": 0,
"Description": ""
}
},
"Backlog": {
"DocumentsCounter": 0,
"DocumentFirstNumber": 0,
"DocumentFirstDateTime": "0001-01-01T00:00:00"
}
},
"Warnings": {
"CriticalError": false,
"MemoryOverflow": false,
"NeedReplacement": false,
"OfdTimeout": false,
"ResourceExhausted": false
},
"ShiftNumber": 4,
"CheckNumber": 22,
"CheckNumberByShift": 13,
"CashSum": 2624.89,
"Sum": 10588.89,
"IsFiscal": true,
"OpenShiftTime": "2026-02-15T00:18:26",
"IsShiftOpened": true,
"IsShiftExpired": false,
"ComputerTime": "2026-02-15T23:37:05.0357118+08:00",
"DeviceTime": "2026-02-15T23:37:05.0357118+08:00",
"IsDrawerOpened": false,
"IsCheckPaperPresent": true,
"IsControlPaperPresent": false,
"IsWaitContinuePrint": false,
"IsCoverOpened": false,
"IsBatteryLow": false,
"IsOpenDocument": false,
"LineLength": 42,
"TaskId": "00000000-0000-0000-0000-000000000000",
"Error": 0,
"IsBusy": false,
"ErrorCode": 0,
"ErrorCodeDescription": "OK",
"DriverMode": 0,
"DriverModeDescription": "",
"DriverAdvancedMode": 0,
"DriverAdvancedModeDescription": "",
"LicenseStatus": 0,
"License": {
"code": 0,
"isEndUser": false,
"isActivated": false,
"isBlocked": false,
"blockDate": "0001-01-01T00:00:00",
"date": "0001-01-01T00:00:00",
"expired": "0001-01-01T00:00:00",
"updateExpired": "0001-01-01T00:00:00",
"limitInstalls": 0,
"needObjectActivation": false,
"limitObjects": 0,
"setupTokenIndex": 0,
"licenseUpdated": "0001-01-01T00:00:00"
},
"LicenseUpdated": "0001-01-01T00:00:00"
}
},
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: DataKkt
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| ServerVersion | string | Версия сервера ККМ | “4.0.58.0330” |
| Fn | Тип данных | Описание фискального накопителя | “Fn”: { “Execution”: “”, “FnContainsKeysUpdaterServerUri”: false, “FiscalizationsCount”: 1, “FiscalizationsFree”: 0, “FiscalizationDocumentNumber”: “1”, “FiscalizationDateTime”: “2025-03-16T00:00:00”, “ReasonCode”: 0, “LivePhase”: “fiscalMode”, “Version”: “1.0”, “RnNumber”: “00031415926”, “FnsUrl”: “nalog.ru”, “SenderEmail”: “kuznicov@mail.ru”, “FfdVersion”: “1.2”, “SerialNumber”: “0123123123123”, “OrganizationName”: “ООО ‘Ромашка’“, “Vatin”: “7722345678”, “ValidityDate”: “2027-02-15T23:36:30.0725604+08:00”, “SaleAddress”: “г.Улан-Удэ, ул.Виноградная, д11А, офис 25”, “SaleLocation”: “Офис”, “TaxVariant”: 63, “SignOfAgent”: 127, “AutomaticNumber”: “”, “Ofd”: { “Name”: “Тестовый ОФД”, “Vatin”: “1234554321”, “Host”: “ofd.example.ru”, “Port”: 7777 }, “Warnings”: { “CriticalError”: false, “MemoryOverflow”: false, “NeedReplacement”: false, “OfdTimeout”: false, “ResourceExhausted”: false }, “Modes”: { “PrinterAutomatic”: false, “OfflineMode”: false, “ServiceSign”: true, “BsoSign”: false, “CalcOnlineSign”: false, “DataEncryption”: true, “SaleExcisableGoods”: true, “SignOfGambling”: true, “SignOfLottery”: true, “Pawnshop”: true, “Assurance”: true, “Marking”: true, “VendingMachine”: true, “CateringServices”: true, “WholesaleTrade”: true, “AutomaticMode”: false } } |
| Device | Тип данных | Описание ККМ | “Device”: |
| Driver | Тип данных | Описание драйвера ККМ | “Driver”: |
| Status | Тип данных | Состояние обмена с ОФД | “Status”: { “IsFnPresent”: true, “IsFnError”: false, “IsIsmDisconnected”: false, “IsOfdDisconnected”: false, “Backlog”: { “DocumentsCounter”: 0, “DocumentFirstNumber”: 0, “DocumentFirstDateTime”: “0001-01-01T00:00:00” }, “ExchangeStatusIsm”: { “AddressIsm”: “testism.ru”, “PortIsm”: 20, “Errors”: { “FnCommandCode”: 0, “DocumentNumber”: 0, “LastSuccessConnectionDateTime”: “0001-01-01T00:00:00”, “Fn”: { “Code”: 0 }, “Network”: { “Code”: 0 }, “Ism”: { “Code”: 0 } }, “Status”: { “DocumentsCounter”: 0, “DocumentFirstNumber”: 0, “DocumentFirstDateTime”: “0001-01-01T00:00:00” }, “Warnings”: { “DataForSendIsEmpty”: false } }, “Warnings”: { “CriticalError”: false, “MemoryOverflow”: false, “NeedReplacement”: false, “OfdTimeout”: false, “ResourceExhausted”: false }, “ShiftNumber”: 4, “CheckNumber”: 22, “CheckNumberByShift”: 13, “CashSum”: 2624.89, “Sum”: 10588.89, “IsFiscal”: true, “OpenShiftTime”: “2026-02-15T00:18:26”, “IsShiftOpened”: true, “IsShiftExpired”: false, “ComputerTime”: “2026-02-15T23:37:05.0357118+08:00”, “DeviceTime”: “2026-02-15T23:37:05.0357118+08:00”, “IsDrawerOpened”: false, “IsCheckPaperPresent”: true, “IsControlPaperPresent”: false, “IsWaitContinuePrint”: false, “IsCoverOpened”: false, “IsBatteryLow”: false, “IsOpenDocument”: false, “LineLength”: 42, “TaskId”: “00000000-0000-0000-0000-000000000000”, “Error”: 0, “IsBusy”: false, “ErrorCode”: 0, “ErrorCodeDescription”: “OK”, “DriverMode”: 0, “DriverModeDescription”: “”, “DriverAdvancedMode”: 0, “DriverAdvancedModeDescription”: “”, “LicenseStatus”: 0, “License”: { “code”: 0, “isEndUser”: false, “isActivated”: false, “isBlocked”: false, “blockDate”: “0001-01-01T00:00:00”, “date”: “0001-01-01T00:00:00”, “expired”: “0001-01-01T00:00:00”, “updateExpired”: “0001-01-01T00:00:00”, “limitInstalls”: 0, “needObjectActivation”: false, “limitObjects”: 0, “setupTokenIndex”: 0, “licenseUpdated”: “0001-01-01T00:00:00” }, “LicenseUpdated”: “0001-01-01T00:00:00” } |
Тип: Fn
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Execution | string | Исполнение ФН | ”“ |
| FnContainsKeysUpdaterServerUri | bool | ФН содержит URI сервера ОКП | false |
| FiscalizationsCount | int | Количество проведенных регистраций | 0 |
| FiscalizationsFree | int | Количество оставшихся регистраций | 0 |
| FiscalizationDocumentNumber | string | Номер документа регистрация фискального накопителя | “0” |
| FiscalizationDateTime | datetime | Дата и время операции регистрации фискального накопителя | “2026-02-15T00:00:00” |
| ReasonCode | int | Код причины перерегистрации | 0 |
| LivePhase | string | Фаза жизни ФН | “fiscalMode” |
| Version | string | Версия ФН | “1.0” |
| RnNumber | string | Регистрационный номер ККТ | “00031415926” |
| FnsUrl | string | Адрес сайта уполномоченного органа(ФНС) в сети «Интернет» | “nalog.ru” |
| SenderEmail | string | Адрес электронной почты отправителя чека | “ivanov@mail.ru” |
| FfdVersion | string | Версия ФФД ФН | “1.2” |
| SerialNumber | string | Серийный номер ФН | “0123123123123” |
| OrganizationName | string | Название организации | “ООО ‘Ромашка’“ |
| Vatin | string | ИНН организации | “7722345678” |
| ValidityDate | datetime | Срок действия ФН | “2027-06-08T17:22:38.2396579+08:00” |
| SaleAddress | string | Адрес установки ККТ для проведения расчетов | “г.Улан-Удэ, ул.Виноградная, д11А, офис 25” |
| SaleLocation | string | Место проведения расчетов | “Офис” |
| TaxVariant | int | Коды систем налогообложения: 1 — Общая (ОСН); 2 — Упрощенная Доход(УСН); 3 — Упрощенная Доход минус Расход(УСНД_Р); 4 — Единый налог на вмененный доход(ЕНВД); 5 — Единый сельскохозяйственный налог(ЕСН); 6 — Патентная система налогообложения(ПСН) |
63 |
| SignOfAgent | int | Коды признаков агента. 0 — Банковский платежный агент; 1 — Банковский платежный субагент; 2 — Платежный агент; 3 — Платежный субагент; 4— Поверенный; 5 — Комиссионер; 6 — Агент; |
127 |
| AutomaticNumber | string | Номер автомата | ”“ |
| Ofd | Тип данных | ОФД | “Ofd”: { “Name”: “Тестовый ОФД”, “Vatin”: “1234554321”, “Host”: “ofd.example.ru”, “Port”: 7777 }, |
| Warnings | Тип данных | Предупреждения ФН | “Warnings”: |
| Modes | Тип данных | Признаки ФН | {…”Modes”: { “PrinterAutomatic”: false, “OfflineMode”: false, “ServiceSign”: true, “BsoSign”: false, “CalcOnlineSign”: false, “DataEncryption”: true, “SaleExcisableGoods”: true, “SignOfGambling”: true, “SignOfLottery”: true, “Pawnshop”: true, “Assurance”: true, “Marking”: true, “VendingMachine”: true, “CateringServices”: true, “WholesaleTrade”: true, “AutomaticMode”: false }} |
Тип: Ofd
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Name | string | Имя ОФД | “Тестовый ОФД” |
| Vatin | string | ИНН ОФД | “1234554321” |
| Host | string | Адрес сервера ОФД | “ofd.example.ru” |
| Port | int | Порт сервера ОФД | 7777 |
Тип: Warnings
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| CriticalError | bool | Критическая ошибка ФН | false |
| MemoryOverflow | bool | Память ФН переполнена | false |
| NeedReplacement | bool | Требуется срочная замена ФН | false |
| OfdTimeout | bool | Превышено время ожидания ответа от ОФД | false |
| ResourceExhausted | bool | Исчерпан ресурс ФН | false |
Тип: Modes
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| PrinterAutomatic | bool | Признак установки принтера в автомате | false |
| OfflineMode | bool | Признак автономного режима | false |
| ServiceSign | bool | Признак расчетов за услуги | false |
| BsoSign | bool | Признак формирования только БСО | false |
| CalcOnlineSign | bool | Признак ККТ для расчетов только в Интернет | false |
| DataEncryption | bool | Признак шифрование данных | false |
| SaleExcisableGoods | bool | Продажа подакцизного товара | false |
| SignOfGambling | bool | Признак проведения азартных игр | false |
| SignOfLottery | bool | Признак проведения лотереи | false |
| Pawnshop | bool | Признак применения при осуществлении ломбардами кредитования граждан | false |
| Assurance | bool | Признак применения при осуществлении деятельности по страхованию | false |
| Marking | bool | Признак применения при осуществлении торговли товарами, подлежащими обязательной маркировке средствами идентификации | false |
| VendingMachine | bool | Признак применения в автоматическом торговом автомате | false |
| CateringServices | bool | Признак применения при оказании услуг общественного питания | false |
| WholesaleTrade | bool | Признак применения о оптовой торговле с организациями и ИП | false |
| AutomaticMode | bool | Признак автоматического режима | false |
Тип: Device
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| FfdVersion | string | Версия ФФД | “1.2 |
| FnFfdVersion | string | Версия ФФД ФН | “1.2” |
| TimeZone | int | Часовая зона устройства | 7 |
| KktLicenses | Массив типа данных | Массив лицензий ККТ | [] |
| IsFiscal | bool | Фискальный | true |
| LineLength | int | Ширина чековой ленты | 64 |
| LineLengthPixels | int | Ширина чековой ленты в пикселях | 0 |
| DeviceClass | int | Тип устройства: 1 — Принтер 2 — Чековый принтер 3 — Фискальный регистратор (не онлайн-ккм) 4 — Онлайн-ккм, применяемая в РФ в соответствии с ФЗ-54. 5 — Эквайринговый терминал 6 — Терминал сбора данных 7 — Электронные весы 8 — Электронные весы 9 — Сканер штрихкодов |
7 |
| SerialNumber | string | Заводской номер ККТ | “0020260207” |
| FirmwareVersion | string | Версия прошивки | “2026” |
| ConfigurationVersion | string | Версия конфигурации прошивки устройства | “02.07” |
Тип: Driver
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Type | string | Тип драйвера | “Atol” |
| Version | string | Версия драйвера | “26.01.27” |
| Vendor | string | Данные поставщика | “Atol” |
Тип: Status
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| IsFnPresent | bool | Присутствует ли фискальный накопитель | false |
| IsFnError | bool | Находится ли фискальный накопитель в состоянии ошибки | false |
| IsIsmDisconnected | bool | Доступен ли информационной системы маркировки | false |
| IsOfdDisconnected | bool | Доступен ли оператор информационной системы маркировки | false |
| Backlog | Тип данных | Данные о непереданных документах | “Backlog”: |
| ExchangeStatusIsm | Тип данных | Состояние обмена с ИСМ | “ExchangeStatusIsm”: { “AddressIsm”: “testism.ru”, “PortIsm”: 20, “Errors”: { “FnCommandCode”: 0, “DocumentNumber”: 0, “LastSuccessConnectionDateTime”: “0001-01-01T00:00:00”, “Fn”: { “Code”: 0 }, “Network”: { “Code”: 0 }, “Ism”: { “Code”: 0 } }, “Status”: { “DocumentsCounter”: 0, “DocumentFirstNumber”: 0, “DocumentFirstDateTime”: “0001-01-01T00:00:00” }, “Warnings”: { “DataForSendIsEmpty”: false } } |
| Warnings | Тип данных | Предупреждения ФН | “Warnings”: |
| ShiftNumber | int | Номер смены | 17 |
| DocNumber | int | Номер фискального документа | 98 |
| DocNumberInShift | int | Номер фискального документа за смену | 3 |
| CashSum | decimal | Сумма наличных в денежном ящике | 2128.0 |
| TotalSum | decimal | Сумма выручки | 0.0 |
| IsFiscal | bool | Фискальный | true |
| OpenShiftTime | DateTime | Время открытия кассовой смены | “0001-01-01T00:00:00” |
| IsShiftOpened | bool | Смена открыта | false |
| IsShiftExpired | bool | Смена истекла | false |
| ComputerTime | DateTime | Время получения данных | “2026-05-23T19:50:04.7531056+08:00” |
| DeviceTime | DateTime | Время в часах устройства | “2026-05-23T19:50:04.7531056+08:00” |
| IsDrawerOpened | bool | Открыт денежный ящик | false |
| IsCheckPaperPresent | bool | Наличие чековой ленты | false |
| IsControlPaperPresent | bool | Наличие контрольной ленты | false |
| IsWaitContinuePrint | bool | Ожидание продолжения печати | false |
| IsCoverOpened | bool | Открыта ли крышка | false |
| IsBatteryLow | bool | Аккумулятор разряжен | false |
| IsOpenDocument | bool | Открытый документ | false |
| LineLength | int | Ширина чековой ленты | 42 |
| LineLengthPixels | int | Ширина чековой ленты в пикселях | 512 |
| TaskId | string | Идентификатор текущей задачи | “00000000-0000-0000-0000-000000000000” |
| Error | int | Код ошибки | 0 |
| ErrorCodeDescription | string | Описание ошибки устройства по данным драйвера | “OK” |
| DriverMode | int | Режим по данным драйвера | 0 |
| DriverModeDescription | string | Описание режима Mode по данным драйвера | ”“ |
| DriverAdvancedMode | int | Специальный режим по данным драйвера | 0 |
| DriverAdvancedModeDescription | string | Описание режима AdvancedMode по данным драйвера | 0 |
| LicenseStatus | int | Статус состояния лицензии | 0 |
| License | тип данных | Описание лицензии | “License”: |
| LicenseUpdated | DateTime | Время последней проверке лицензии | “0001-01-01T00:00:00” |
Тип: ExchangeStatusIsm
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Address | string | Адрес сервера информационной системы маркировки | “ism.example.ru” |
| Port | int | Порт сервера информационной системы маркировки | 8888 |
| Errors | Тип данных | Сведения об ошибках обмена данными | “Errors”: { “FnCommandCode”: 0, “DocumentNumber”: 0, “LastSuccessConnectionDateTime”: “0001-01-01T00:00:00”, “Fn”: { “Code”: 0 }, “Network”: { “Code”: 0 }, “Ism”: { “Code”: 0, “Description”: “” } } |
| Backlog | Тип данных | Сведения о непереданных документах | “Backlog”: |
Тип: Errors
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| FnCommandCode | int | Код команды фискального накопителя | 0 |
| DocumentNumber | int | Номер документа | 0 |
| LastSuccessConnectionDateTime | DateTime | Время последнего успешного подключения | “0001-01-01T00:00:00” |
| Fn | Тип данных | Код ошибки фискального накопителя | “Fn”: { “Code”: 0 }, |
| Network | Тип данных | Код ошибки сети | “Network”: |
| Ism | Тип данных | Код ошибки информационной системы маркировки | “Ism”: |
Тип: Fn
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки фискального накопителя | 0 |
Тип: Network
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки сети | 0 |
Тип: Ism
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки информационной системы маркировки | 0 |
Тип: Backlog
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| DocumentsCounter | int | Количество непереданных документов | 0 |
| DocumentFirstNumber | int | Номер первого непереданного документ | 0 |
| DocumentFirstDateTime | DateTime | Дата и время первого из непереданных документов | “0001-01-01T00:00:00” |
Тип: Warnings
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| CriticalError | bool | Критическая ошибка ФН | false |
| MemoryOverflow | bool | Память ФН переполнена | false |
| NeedReplacement | bool | Требуется срочная замена ФН | false |
| OfdTimeout | bool | Превышено время ожидания ответа от ОФД | false |
| ResourceExhausted | bool | Исчерпан ресурс ФН | false |
Тип: License
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| code | int | Код ошибки | 0 |
| isEndUser | bool | Признак лицензии на конечного пользователя. true — лицензия выдана конечному пользователю. false — лицензия выдана партнеру для перепродажи |
false |
| isActivated | bool | Признак активации | false |
| isBlocked | bool | Признак блокировки | 0 |
| blockDate | DateTime | Дата блокировки | “0001-01-01T00:00:00” |
| date | DateTime | Дата продажи | “0001-01-01T00:00:00” |
| expired | DateTime | Дата истечения срока действия | “0001-01-01T00:00:00” |
| updateExpired | DateTime | Дата истечения доступа к обновлениям | “0001-01-01T00:00:00” |
| limitInstalls | int | Количество разрешенных привязок равно числу ККМ, которые можно привязать к одной лицензии | 0 |
| needObjectActivation | bool | Признак необходимости привязки объектов лицензирования после привязки. | 0 |
| limitObjects | int | Количество объектов привязки на каждую установку | 0 |
| setupTokenIndex | int | Индекс установочного токена | 0 |
| LicenseUpdated | DateTime | Время последней проверке лицензии | “0001-01-01T00:00:00” |
Примеры ошибок
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
709 — Устройство не найдено
{
"Code": 709,
"Description": "Устройство не найдено: Устройство '{device}' не найдено.",
"Success": false
}
POST kkt
Добавление устройства ККТ.
URL: {{HTTPRoot}}/kkt
Тело запроса
{
"DeviceName": "{device}",
"Settings": {
"DeviceType": 1,
"Available": true,
"DeviceName": "{device}",
"MethodConnection": 0,
"PortNumber": 1,
"BaudRate": 9600,
"IpAddress": "192.168.0.109",
"TcpPort": 7778,
"Password": "30",
"SerialNumber": "0392790042005043",
"SenderEmail": "noreply@example.com",
"Cashier": "Иванов А.И.",
"CashierVatin": "7722345678",
"Vatin": "7700000000",
"OrganizationName": "ООО Ромашка",
"SaleAddress": "г. Москва, ул. Пример, д. 1",
"ClientSaleLocation": "Торговый зал",
"TimeoutConnection": 5000,
"TimeoutWaitForPrinting": 60000,
"OfdAddress": "ofd.example.ru",
"OfdPort": 7777
}
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Имя устройства | “Atol” |
| Settings | Тип данных | + | Настройки устройства. Обязателен к передаче, но отдельные поля внутри необязательны | “Settings”: { “DeviceType”: 1, “Available”: true, “DeviceName”: “MyKkt054”, “MethodConnection”: 0, “PortNumber”: 1, “BaudRate”: 9600, “IpAddress”: “192.168.0.109”, “TcpPort”: 7778, “Password”: “30”, “SerialNumber”: “0392790042005043”, “SenderEmail”: "noreply@example.com”, “Cashier”: “Иванов А.И.”, “CashierVatin”: “7722345678”, “Vatin”: “7700000000”, “OrganizationName”: “ООО Ромашка”, “SaleAddress”: “г. Москва, ул. Пример, д. 1”, “ClientSaleLocation”: “Торговый зал”, “TimeoutConnection”: 5000, “TimeoutWaitForPrinting”: 60000, “OfdAddress”: “ofd.example.ru”, “OfdPort”: 7777 } |
Поле Settings
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Имя устройства. Должно совпадать со значением поля DeviceName, указанным непосредственно в теле запроса. | “Atol” |
| DeviceType | int | + | Тип драйвера: 1 — Shtrih; 2 — 1С(4.7); 3 — Atol; 4 — RrElectro; 5 — 1С(5.0); 100 — Эмулятор. |
1 |
| Available | bool | - | Признак доступности устройства. Если указано значение true, сервер немедленно предпринимает попытку подключения к устройству. Если подключиться не удалось, значение автоматически сбрасывается в false, при этом запрос на добавление устройства всё равно завершается успешно. |
true |
| MethodConnection | int | + | Метод подключения: 0 — COM; 1 — TCP/IP |
0 |
| PortNumber | int | - | Номер COM-порта. Обязателен при MethodConnection=0 |
1 |
| BaudRate | int | - | Скорость COM-порта. Обязателен при MethodConnection=0 |
9600 |
| IpAddress | string | - | IP-адрес. Обязателен при MethodConnection=1 |
“192.168.0.109” |
| TcpPort | int | - | TCP-порт. Обязателен при MethodConnection=1 |
7778 |
| Password | string | + | Пароль устройства (пароль доступа к драйверу ККТ) | “30” |
| AccessPassword | string | - | Пароль доступа к настройкам устройства (не путать с паролем устройства Password) | “0000” |
| SerialNumber | string | - | Серийный номер устройства | “0392790042005043” |
| Vatin | string | - | ИНН организации | “7722345678” |
| OrganizationName | string | - | Название организации | “ООО Ромашка” |
| SaleAddress | string | - | Адрес расчётов | “г.Улан-Удэ, ул.Виноградная, д11А, офис 25” |
| ClientSaleLocation | string | - | Место расчётов | “Офис” |
| Cashier | string | - | ФИО кассира по умолчанию | “Иванов А.И.” |
| CashierVatin | string | - | ИНН кассира | “7722345678” |
| SenderEmail | string | - | Email отправителя чека | “ivanov@mail.ru” |
| TimeoutConnection | int | - | Таймаут подключения к устройству, в миллисекундах. Если не указан или указано значение 0 — применяется значение по умолчанию, равное 5000 мс. |
5000 |
| TimeoutWaitForPrinting | int | - | Таймаут ожидания завершения печати, в миллисекундах. Если не указан или указано значение 0 — применяется значение по умолчанию, равное 5000 мс. |
60000 |
| OfdAddress | string | - | Адрес ОФД | “ofd.example.ru” |
| OfdPort | int | - | Порт ОФД | 7777 |
| Pool | string | - | Имя пула, в который включается устройство. Если не указано — устройство не входит ни в один пул. |
“pool” |
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "OK",
"Success": true
}
Примеры ошибок
-1 — Устройство с таким именем уже существует
{
"Code": -1,
"Description": "ошибка: Ошибка добавления устройства. Устройство с таким именем уже существует",
"Success": false
}
DELETE kkt?device={device}
Удаление устройства ККТ
URL: {{HTTPRoot}}/kkt?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "OK",
"Success": true
}
Примеры ошибок
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
PUT kkt
Редактирование параметров устройства ККТ.
URL: {{HTTPRoot}}/kkt
Тело запроса
{
"DeviceName": "{device}",
"Settings": {
"DeviceType": 1,
"Available": true,
"DeviceName": "{device}",
"MethodConnection": 0,
"PortNumber": 1,
"BaudRate": 9600,
"IpAddress": "192.168.0.109",
"TcpPort": 7778,
"Password": "30",
"SerialNumber": "0392790042005043",
"SenderEmail": "noreply@example.com",
"Cashier": "Иванов А.И.",
"CashierVatin": "7722345678",
"Vatin": "7700000000",
"OrganizationName": "ООО Ромашка",
"SaleAddress": "г. Москва, ул. Пример, д. 1",
"ClientSaleLocation": "Торговый зал",
"TimeoutConnection": 5000,
"TimeoutWaitForPrinting": 60000,
"OfdAddress": "ofd.example.ru",
"OfdPort": 7777
}
}
Смотрите документацию POST-запроса kkt
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "OK",
"Success": true
}
Примеры ошибок
-1 — Устройство не поддерживает метод UpdateKKM
{
"Code": -1,
"Description": "ошибка: Ошибка обновления устройства: Устройство не поддерживает метод UpdateKKM",
"Success": false
}
GET kkt/lineLength?device={device}
Получение максимальной ширины строки чека устройства.
URL: {{HTTPRoot}}/kkt/lineLength?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"LineLength": 64,
"LineLengthPixels": 512
},
"Code": 0,
"Description": "OK",
"Success": true
}
Тип: LineLength
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| LineLength | int | Ширина чековой ленты в символах | 42 |
| LineLengthPixels | int | Ширина чековой ленты в пикселях | 384 |
GET kkt/status?device={device}
Получение расширенного статуса ККТ.
URL: {{HTTPRoot}}/kkt/status?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"IsFnPresent": true,
"IsFnError": false,
"IsIsmDisconnected": false,
"IsOfdDisconnected": false,
"Ism": {
"Address": "ism.example.ru",
"Port": 8888,
"Errors": {
"FnCommandCode": 0,
"DocumentNumber": 0,
"LastSuccessConnectionDateTime": "0001-01-01T00:00:00",
"Fn": {
"Code": 0
},
"Network": {
"Code": 0
},
"Ism": {
"Code": 0,
"Description": ""
}
},
"Backlog": {
"DocumentsCounter": 0,
"DocumentFirstNumber": 0,
"DocumentFirstDateTime": "0001-01-01T00:00:00"
}
},
"Warnings": {
"CriticalError": false,
"MemoryOverflow": false,
"NeedReplacement": false,
"OfdTimeout": false,
"ResourceExhausted": false
},
"ShiftNumber": 0,
"DocNumber": 0,
"DocNumberInShift": 0,
"CashSum": 0,
"TotalSum": 0,
"IsFiscal": true,
"OpenShiftTime": "0001-01-01T00:00:00",
"IsShiftOpened": false,
"IsShiftExpired": false,
"ComputerTime": "2026-05-23T21:54:46.9737064+08:00",
"DeviceTime": "2026-05-23T21:54:46.9737064+08:00",
"IsDrawerOpened": false,
"IsCheckPaperPresent": true,
"IsControlPaperPresent": false,
"IsWaitContinuePrint": false,
"IsCoverOpened": false,
"IsBatteryLow": false,
"IsOpenDocument": false,
"LineLength": 42,
"LineLengthPixels": 512,
"TaskId": "00000000-0000-0000-0000-000000000000",
"Error": 0,
"IsBusy": false,
"ErrorCode": 0,
"ErrorCodeDescription": "OK",
"DriverMode": 0,
"DriverModeDescription": "",
"DriverAdvancedMode": 0,
"DriverAdvancedModeDescription": "",
"LicenseStatus": 0,
"License": {
"code": 0,
"isEndUser": false,
"isActivated": false,
"isBlocked": false,
"blockDate": "0001-01-01T00:00:00",
"date": "0001-01-01T00:00:00",
"expired": "0001-01-01T00:00:00",
"updateExpired": "0001-01-01T00:00:00",
"limitInstalls": 0,
"needObjectActivation": false,
"limitObjects": 0,
"setupTokenIndex": 0,
"licenseUpdated": "0001-01-01T00:00:00"
},
"LicenseUpdated": "0001-01-01T00:00:00"
},
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: KktStatus
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| IsFnPresent | bool | Присутствует ли фискальный накопитель | false |
| IsFnError | bool | Находится ли фискальный накопитель в состоянии ошибки | false |
| IsIsmDisconnected | bool | Доступен ли информационной системы маркировки | false |
| IsOfdDisconnected | bool | Доступен ли оператор информационной системы маркировки | false |
| ShiftNumber | int | Смена | 4 |
| DocNumber | int | Номер чека | 22 |
| CashSum | decimal | Сумма наличных в денежном ящике | 2624.89 |
| TotalSum | decimal | Сумма выручки | 110.0 |
| IsFiscal | bool | Фискальный | true |
| OpenShiftTime | DateTime | Время открытия кассовой смены | “2026-05-23T19:50:04.7531056+08:00” |
| IsShiftOpened | bool | Смена открыта | false |
| IsShiftExpired | bool | Смена истекла | false |
| ComputerTime | DateTime | Время получения данных | “2026-05-23T19:50:04.7531056+08:00” |
| DeviceTime | DateTime | Время в часах устройства | “2026-05-23T19:50:04.7531056+08:00” |
| IsDrawerOpened | bool | Открыт денежный ящик | false |
| IsCheckPaperPresent | bool | Наличие чековой ленты | false |
| IsControlPaperPresent | bool | Наличие контрольной ленты | false |
| IsWaitContinuePrint | bool | Ожидание продолжения печати | false |
| IsCoverOpened | bool | Открыта ли крышка | false |
| IsBatteryLow | bool | Аккумулятор разряжен | false |
| IsOpenDocument | bool | Открытый документ | false |
| LineLength | int | Ширина чековой ленты | 42 |
| LineLengthPixels | int | Ширина чековой ленты в пикселях | 512 |
| TaskId | string | Идентификатор текущей задачи | “24f4bffe-98ef-4627-846c-b1f74c5a495b” |
| Error | int | Код ошибки | 0 |
| IsBusy | bool | Признак занятости устройства | false |
| ErrorCode | int | Код ошибки | 0 |
| ErrorCodeDescription | string | Описание ошибки устройства по данным драйвера | “OK” |
| DriverMode | int | Режим по данным драйвера | 0 |
| DriverModeDescription | string | Описание режима Mode по данным драйвера | ”“ |
| DriverAdvancedMode | int | Специальный режим по данным драйвера | 0 |
| DriverAdvancedModeDescription | string | Описание режима AdvancedMode по данным драйвера | 0 |
| LicenseStatus | int | Статус состояния лицензии. 0 — none, проверка ещё не была проведена для устройства; 1 — ok, лицензия присутствует; 2 — fall, лицензия отсутствует; 3 — blocked, лицензия заблокирована |
0 |
| LicenseUpdated | DateTime | Время последней проверке лицензии | “0001-01-01T00:00:00” |
| Ism | Тип данных | Данные сервера ИСМ | “Ism”: { “Address”: “ism.example.ru”, “Port”: 8888, “Errors”: { “FnCommandCode”: 0, “DocumentNumber”: 0, “LastSuccessConnectionDateTime”: “0001-01-01T00:00:00”, “Fn”: { “Code”: 0 }, “Network”: { “Code”: 0 }, “Ism”: { “Code”: 0, “Description”: “” } }, “Backlog”: { “DocumentsCounter”: 0, “DocumentFirstNumber”: 0, “DocumentFirstDateTime”: “0001-01-01T00:00:00” } } |
| Warnings | Тип данных | Предупреждения ФН | “Warnings”: |
| License | Тип данных | Описание лицензии | “License”: |
Тип: Ism
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Address | string | Адрес сервера информационной системы маркировки | “ism.example.ru” |
| Port | int | Порт сервера информационной системы маркировки | 8888 |
| Errors | Тип данных | Сведения об ошибках обмена данными | “Errors”: { “FnCommandCode”: 0, “DocumentNumber”: 0, “LastSuccessConnectionDateTime”: “0001-01-01T00:00:00”, “Fn”: { “Code”: 0 }, “Network”: { “Code”: 0 }, “Ism”: { “Code”: 0, “Description”: “” } } |
| Backlog | Тип данных | Сведения о непереданных документах | “Backlog”: |
Тип: Errors
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| FnCommandCode | int | Код команды фискального накопителя | 0 |
| DocumentNumber | int | Номер документа | 0 |
| LastSuccessConnectionDateTime | DateTime | Время последнего успешного подключения | “0001-01-01T00:00:00” |
| Fn | Тип данных | Код ошибки фискального накопителя | “Fn”: |
| Network | Тип данных | Код ошибки сети | “Network”: |
| Ism | Тип данных | Код ошибки информационной системы маркировки | “Ism”: |
Тип: Fn
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки ФН | 0 |
Тип: Network
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки сети | 0 |
Тип: Ism
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Code | int | Код ошибки ИСМ | 0 |
Тип: Backlog
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| DocumentsCounter | int | Количество непереданных документов | 0 |
| DocumentFirstNumber | int | Номер первого непереданного документ | 0 |
| DocumentFirstDateTime | DateTime | Дата и время первого из непереданных документов | “0001-01-01T00:00:00” |
Тип: Warnings
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| CriticalError | bool | Критическая ошибка ФН | false |
| MemoryOverflow | bool | Память ФН переполнена | false |
| NeedReplacement | bool | Требуется срочная замена ФН | false |
| OfdTimeout | bool | Превышено время ожидания ответа от ОФД | false |
| ResourceExhausted | bool | Исчерпан ресурс ФН | false |
Тип: License
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| code | int | Код ошибки лицензирования | 0 |
| isEndUser | bool | Признак лицензии, выданной конечному пользователю. true — лицензия выдана конечному пользователю. false — лицензия выдана партнёру для перепродажи |
false |
| isActivated | bool | Признак активации лицензии | false |
| isBlocked | bool | Признак блокировки лицензии | false |
| blockDate | DateTime | Дата блокировки | “0001-01-01T00:00:00” |
| date | DateTime | Дата продажи лицензии | “0001-01-01T00:00:00” |
| expired | DateTime | Дата истечения срока действия лицензии | “0001-01-01T00:00:00” |
| updateExpired | DateTime | Дата истечения доступа к обновлениям | “0001-01-01T00:00:00” |
| limitInstalls | int | Количество разрешённых привязок лицензии, равное числу ККТ, которые допускается привязать к одной лицензии | 0 |
| needObjectActivation | bool | Признак необходимости привязки объектов лицензирования после привязки лицензии | false |
| limitObjects | int | Количество объектов привязки на каждую установку | 0 |
| setupTokenIndex | int | Индекс установочного токена | 0 |
| licenseUpdated | DateTime | Время последней проверки лицензии | “0001-01-01T00:00:00” |
Примеры ошибок
-1 — GetDeviceStatus: Не удалось найти устройство по deviceName =
{
"Code": -1,
"Description": "GetDeviceStatus: Не удалось найти устройство по deviceName = {device}",
"Success": false
}
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
GET kkt/shift/status?device={device}
Получение краткого статуса смены и очереди ОФД.
URL: {{HTTPRoot}}/kkt/shift/status?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"ShiftNumber": 0,
"CheckNumber": 0,
"ShiftState": 1,
"Backlog": {
"DocumentsCounter": 0,
"DocumentFirstNumber": 0,
"DocumentFirstDateTime": "0001-01-01T00:00:00"
}
},
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: ResponseCurrentStatus
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| ShiftNumber | int | Номер смены | 4 |
| CheckNumber | int | Номер последнего ФД | 22 |
| ShiftState | int | 1 — закрыта, 2 — открыта, 3 — истекла | 2 |
| Backlog | Тип данных Backlog | Статус обмена данными с ОФД | “Backlog”: |
Тип: Backlog
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| DocumentsCounter | int | Количество непереданных документов | 0 |
| DocumentFirstNumber | int | Номер первого непереданного документа | 0 |
| DocumentFirstDateTime | datetime | Дата первого непереданного документа | “0001-01-01T00:00:00” |
Примеры ошибок
-1 — GetDeviceStatus: Не удалось найти устройство по deviceName =
{
"Code": -1,
"Description": "GetDeviceStatus: Не удалось найти устройство по deviceName = {device}",
"Success": false
}
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
GET kkt/counters/shift?device={device}
Получение счётчики за смену.
URL: {{HTTPRoot}}/kkt/counters/shift?device={device}
Параметры запроса
| Имя параметра | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| device | string | + | Имя устройства. | Atol |
Тело запроса
{
"DeviceName": "{device}"
}
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"ShiftNumber": 40,
"CashDrawer": {
"Sum": 1365.68,
"Count": 0
},
"ShiftIncome": {
"Count": 0,
"Sum": 0
},
"ShiftOutcome": {
"Count": 0,
"Sum": 0
},
"Counters": {
"SumCorrection": 0,
"NumberCorrections": 0,
"Sales": {
"Count": 1,
"Sum": 50,
"Payments": {
"Sum": 0,
"Cash": 50
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {
"TaxVat_5": 2.38
}
},
"SalesReturn": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"SalesCorrection": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"SalesReturnCorrection": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"Purchases": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"PurchasesReturn": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"PurchasesCorrection": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
},
"PurchasesReturnCorrection": {
"Count": 0,
"Sum": 0,
"Payments": {
"Sum": 0
},
"Discount": {
"Count": 0,
"Sum": 0
},
"Adding": {
"Count": 0,
"Sum": 0
},
"Tax": {}
}
}
},
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: ResShiftTotal
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| ShiftNumber | double | Номер смены | 40.0 |
| CashDrawer | Тип данных CashDrawer | Детали денежного ящиика | “CashDrawer”: |
| ShiftIncome | Тип данных | Внесение | “ShiftIncome”: |
| ShiftOutcome | Тип данных | Выемка | “ShiftOutcome”: |
| Counters | Тип данных | Счётчики за кассовую смену | “Counters”: { “SumCorrection”: 0, “NumberCorrections”: 0, “Sales”: { “Count”: 1, “Sum”: 50, “Payments”: { “Sum”: 0, “Cash”: 50 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: { “TaxVat_5”: 2.38 } }, “SalesReturn”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “SalesCorrection”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “SalesReturnCorrection”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “Purchases”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “PurchasesReturn”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “PurchasesCorrection”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} }, “PurchasesReturnCorrection”: { “Count”: 0, “Sum”: 0, “Payments”: { “Sum”: 0 }, “Discount”: { “Count”: 0, “Sum”: 0 }, “Adding”: { “Count”: 0, “Sum”: 0 }, “Tax”: {} } } |
Тип: CashDrawer
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Sum | decimal | Сумма | 1365.68 |
| Count | int | Количество | 7 |
Тип: ShiftIncome
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.0 |
Тип: ShiftOutcome
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.0 |
Тип: Counters
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| SumCorrection | decimal | Сумма коррекций | 0.0 |
| NumberCorrections | int | Количество коррекций | 0 |
| Sales | Тип данных | Чеки прихода | “Sales”: { “Count”: 0, “Sum”: 50, “Payments”: { “Sum”: 24739.54, “Cash”: 25163.08, “Credit”: 9400.00, “Electronically”: 4949.54, “Barter”: 2350.00, “Prepaid”: 4700.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_20”: 93.03, “TaxVat_7”: 1536.90 } } |
| SalesReturn | Тип данных | Чеки возврата прихода | “SalesReturn”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| SalesCorrection | Тип данных | Чеки прихода | “SalesCorrection”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| SalesReturnCorrection | Тип данных | Чеки возврата прихода | “SalesReturnCorrection”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| Purchases | Тип данных | Чеки расхода | “Purchases”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| PurchasesReturn | Тип данных | Чеки возврата расхода | “PurchasesReturn”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| PurchasesCorrection | Тип данных | Чеки расхода | “PurchasesCorrection”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } }, |
| PurchasesReturnCorrection | Тип данных | Чеки возврата расхода | “PurchasesReturnCorrection”: { “Count”: 45, “Sum”: 4500.0, “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, “Discount”: { “Count”: 0, “Sum”: 0.0 }, “Adding”: { “Count”: 0, “Sum”: 0.0 }, “Tax”: { “TaxVat_7”: 294.30 } } |
Тип: Sales
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 50.0 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: SalesReturn
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: SalesCorrection
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: SalesReturnCorrection
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: Purchases
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: PurchasesReturn
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 1365.68 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: PurchasesCorrection
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: PurchasesReturnCorrection
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.00 |
| Payments | Тип данных | Оплаты | “Payments”: { “Sum”: 4500.0, “Cash”: 4500.00, “Credit”: 1800.00, “Electronically”: 900.00, “Barter”: 450.00, “Prepaid”: 900.00 }, |
| Discount | Тип данных | Скидка | Discount”: |
| Adding | Тип данных | Надбавки | “Adding”: |
| Tax | Тип данных | Налоги | “Tax”: |
Тип: Payments
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Sum | decimal | Общая сумма чеков | 50.0 |
| Cash | decimal | Сумма оплат наличными | 50.0 |
Тип: Discount
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.0 |
Тип: Adding
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Count | int | Количество | 0 |
| Sum | decimal | Сумма | 0.0 |
Тип: Tax
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| TaxVat_5 | decimal | Налоги | 0.0 |
Примеры ошибок
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
POST kkt/reboot
Перезагрузка устройства.
URL: {{HTTPRoot}}/kkt/reboot
Тело запроса
{
"DeviceName": "Atol"
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “Atol” |
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "ОК",
"Success": false
}
Примеры ошибок
2 — Не указано имя ККТ
{
"Code": 2,
"Description": "Bad Request",
"Success": false
}
2 — Не найдено устройство
{
"Code": 2,
"Description": "RebootDevice(): Не найдено устройство {device}.",
"Success": false
}
POST kkt/font/setting
Редактирование настроек шрифта шаблона для устройства.
URL: {{HTTPRoot}}/kkt/font/setting
Тело запроса
{
"DeviceName": "{device}",
"Settings": {
"Name": "lines2",
"TemplateSettingH1": "1",
"TemplateSettingH2": "1",
"TemplateSettingH3": "2",
"TemplateSettingH4": "2",
"TemplateSettingH5": "2"
}
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Имя устройства | “Atol” |
| Settings | Тип данных | + | Настройки шрифта шаблона. | “Settings”: |
Поле Settings
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| Name | string | + | Название шаблона | “lines2” |
| TemplateSettingH1 | string | - | Номер шрифта заголовка H1. Если не указано — ранее сохранённое значение стирается. | “1” |
| TemplateSettingH2 | string | - | Номер шрифта заголовка H2. Если не указано — ранее сохранённое значение стирается. | “1” |
| TemplateSettingH3 | string | - | Номер шрифта заголовка H3. Если не указано — ранее сохранённое значение стирается. | “2” |
| TemplateSettingH4 | string | - | Номер шрифта заголовка H4. Если не указано — ранее сохранённое значение стирается. | “2” |
| TemplateSettingH5 | string | - | Номер шрифта заголовка H5. Если не указано — ранее сохранённое значение стирается. | “2” |
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "OK",
"Success": true
}
Примеры ошибок
709 — Устройство не найдено
{
"Code": 709,
"Description": "Устройство не найдено: Устройство '{device}' не найдено.",
"Success": false
}
GET pool/list
Список названий всех пулов устройств, зарегистрированных на сервере ККМ. В список включаются названия пулов, которым присвоено хотя бы одно устройство; каждое название указывается один раз.
URL: {{HTTPRoot}}/pool/list
Тело ответа
Успешный ответ (200 OK)
{
"Result": [
"asd"
],
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип: массив пулов.
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Result | string[] | Название пулов | “asd”, “dsa” |
Служба
GET service/settings
Получение настроек службы
URL: {{HTTPRoot}}/service/settings
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"WcfServicePort": 4398,
"WebServicePort": 8866,
"ServiceTimeOut": "00:00:15",
"ProxyServerSettings": {
"IsUseProxy": false,
"IpAddress": "",
"Port": 0,
"Name": "",
"Password": ""
},
"MaxQueueSize": 100,
"RepeatPrintingOnError": false
},
"Code": 0,
"Description": "OK",
"Success": true
}
Поле Result
Тип данных: ServiceSettings
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| WcfServicePort | int | Порт, на котором работает WCF-служба и принимает REST API запросы. Если значение не удаётся прочитать из настроек сервера, возвращается значение по умолчанию — 4398. |
4398 |
| WebServicePort | int | Порт, на котором работает веб-страница администрирования сервера (добавление и настройка ККТ, редактирование рекламных шаблонов, просмотр очереди печати). Это тот адрес, который открывают в браузере. Если значение не удаётся прочитать из настроек сервера, возвращается значение по умолчанию — 8866. |
8866 |
| ServiceTimeOut | TimeSpan | Таймаут обработки запросов. Если значение не удаётся прочитать из настроек сервера, возвращается "00:00:00", без явной пометки ошибки. |
“00:00:15” |
| MaxQueueSize | int | Максимальный размер очереди заданий. Если значение не удаётся прочитать из настроек сервера, возвращается значение по умолчанию — 100. |
100 |
| RepeatPrintingOnError | bool | Повторять печать при ошибке/перезапуске. Если значение не удаётся прочитать из настроек сервера, возвращается значение по умолчанию false. |
false |
| ProxyServerSettings | Тип данных | Конфигурация прокси сервера | “ProxyServerSettings”: |
Тип: ProxyServerSettings
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| IsUseProxy | bool | Использовать прокси-сервер | false |
| IsUseProxyService | bool | Использовать прокси-сервер для работы сервера ККМ | false |
| IsUseProxyMarking | bool | Использовать прокси-сервер для работы с сервисами по проверки маркировки | false |
| IpAddress | string | IP-адрес прокси | ”“ |
| Port | int | Порт прокси | 0 |
| Name | string | Логин к прокси-серверу | ”“ |
| Password | string | Пароль к прокси-серверу | ”“ |
POST service/settings
Сохранение настроек служб
URL: {{HTTPRoot}}/service/settings
Тело запроса
{
"ServiceSettings": {
"WcfServicePort": 4398,
"WebServicePort": 8888,
"ServiceTimeOut": "00:00:15",
"ProxyServerSettings": {
"IsUseProxy": false,
"IpAddress": "",
"Port": 0,
"Name": "",
"Password": ""
},
"MaxQueueSize": 100,
"RepeatPrintingOnError": false
}
}
Тип: ServiceSettings
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| WcfServicePort | int | + | Порт, на котором работает WCF-служба и принимает REST API запросы. Если указано значение 0 или поле не указано, текущее значение порта в настройках сервера не изменяется. |
4398 |
| WebServicePort | int | + | Порт, на котором работает веб-страница администрирования сервера (добавление и настройка ККТ, редактирование рекламных шаблонов, просмотр очереди печати). Это тот адрес, который открывают в браузере. Если указано значение 0 или поле не указано, текущее значение порта в настройках сервера не изменяется. |
8866 |
| ServiceTimeOut | string | - | Таймаут обработки запросов (hh:mm:ss). Если поле не передано, будет сохранено значение "00:00:00" |
“00:00:15” |
| ProxyServerSettings | Тип данных | - | Конфигурация прокси сервера | “ProxyServerSettings”: |
| MaxQueueSize | int | + | Максимальный размер очереди заданий. Значение сохраняется, если поле не передано в запросе — в таком случае будет сохранено значение 0. |
100 |
| RepeatPrintingOnError | bool | - | Признак повторной печати задания при ошибке или перезапуске службы. Значение сохраняется, если поле не передано в запросе — в этом случае будет сохранено значение false. |
false |
Тип: ProxyServerSettings
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| IsUseProxy | bool | - | Признак использования прокси-сервера. Если указано значение true, а поля IsUseProxyService и IsUseProxyMarking не переданы (или оба переданы как false), сервер принудительно устанавливает оба этих поля в true |
false |
| IsUseProxyService | bool | - | Признак использования прокси-сервера непосредственно для работы сервера ККМ | false |
| IsUseProxyMarking | bool | - | Признак использования прокси-сервера для обращения к сервисам проверки кодов маркировки | false |
| IpAddress | string | - | IP-адрес прокси-сервера | “193.148.21.111” |
| Port | int | - | Порт прокси-сервера | 67 |
| Name | string | - | Логин доступа к прокси-серверу. Если поле не передано, ранее сохранённый логин будет затёрт пустым значением. |
“ProxyServer” |
| Password | string | - | Пароль доступа к прокси-серверу. Если поле не передано, ранее сохранённый пароль будет затёрт пустым значением. |
“ProxyPassword” |
Тело ответа
Успешный ответ (200 OK)
{
"Code": 0,
"Description": "OK",
"Success": true
}