Работа с маркировкой
> СерверККМ V4 > REST API > Работа с ККМДата обновления: 15 июня 2026 г.
POST marking/session/open
Запрос: marking/session/open
URL: {{HTTPRoot}}/marking/session/open
Открытие сессии регистрации (проверки) кодов маркировки на ККТ.
Тело запроса
{
"DeviceName": "{device}"
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “atol2” |
Тело ответа
Успешный ответ (200 OK)
{
"Response": true,
"Code": 0,
"Description": "Ok"
}
Тип: объект BooleanResponse
BooleanResponse
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Response | bool | true — сессия открыта | true |
Примеры ошибок
-1 — Не удалось найти устройство
{
"Response": false,
"Code": -1,
"Description": "Не удалось найти устройство {name}"
}
-1 — Метод или операция не реализована
{
"Response": false,
"Code": -1,
"Description": "Метод или операция не реализована."
}
POST marking/session/close
Запрос: marking/session/close
URL: {{HTTPRoot}}/marking/session/close
Закрыие сессии регистрации (проверки) кодов маркировки на ККТ.
Тело запроса
{
"DeviceName": "{device}"
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “atol2” |
Тело ответа
Успешный ответ (200 OK)
{
"Response": true,
"Code": 0,
"Description": "Ok"
}
Тип: объект BooleanResponse
BooleanResponse
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Response | bool | true — сессия закрыта | true |
Примеры ошибок
-1 — Не удалось найти устройство
{
"Response": false,
"Code": -1,
"Description": "Не удалось найти устройство Em"
}
POST marking/km/request
Запрос: marking/km/request
URL: {{HTTPRoot}}/marking/km/request
Локальная проверка кода маркировки
Тело запроса
{
"DeviceIdent": {
"DeviceName": "{device}"
},
"RequestKM":{
"Guid": "",
"WaitForResult": false,
"MarkingCode": "MDEwODgwODU2MzU0NTgxMzIxNW1VLWppaWxYRUxEYR05MUVFMTAdOTIyTmladHowTVQ4KzdzTzN2aTY5Q21kS0tBUEwrOUpjeFhpbXE5S1FTWi9BPQ==",
"PlannedStatus": 1,
"Quantity": 1,
"MeasureOfQuantity": 0,
"FractionalQuantityNumerator": null,
"FractionalQuantityDenominator": null
}
}
DeviceIdent
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “atol2” |
RequestKM
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| Guid | string | + | Уникальный идентификатор запроса | ”“ |
| MarkingCode | string | + | Код маркировки в Base64 | “MDEwODgw…” |
| PlannedStatus | int | + | Планируемый статус: 1 — реализован; 2 — мерный в стадии реализации; 3 — возвращён; 4 — часть возвращена; 255 — статус не изменился | 1 |
| Quantity | decimal | + | Количество | 1 |
| WaitForResult | bool | - | Ожидать ответ ОИСМ | false |
| MeasureOfQuantity | int | - | Мера количества (таблица 114 ФФД) | 0 |
| FractionalQuantityNumerator | int | - | Числитель дробного количества | null |
| FractionalQuantityDenominator | int | - | Знаменатель дробного количества | null |
Тело ответа
Успешный ответ (200 OK)
{
"ISMConnected": true,
"FormatChecking": true,
"Checking": true,
"CheckingResult": false,
"Code": 0,
"Description": "Ошибок нет"
}
Тип: объект RequestKMResult
RequestKMResult
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| ISMConnected | bool | Есть связь с ОИСМ | true |
| FormatChecking | bool | Проверка формата прошла | true |
| Checking | bool | Идёт проверка/обработка | true |
| CheckingResult | bool | Результат проверки | false |
Примеры ошибок
-1 — Не удалось найти устройство
{
"Response": false,
"Code": -1,
"Description": "Не удалось найти устройство {name}"
}
-1 — Метод или операция не реализована
{
"Response": false,
"Code": -1,
"Description": "Метод или операция не реализована."
}
68 — Драйвер не загружен
{
"ISMConnected": false,
"FormatChecking": false,
"Checking": false,
"CheckingResult": false,
"Code": 68,
"Description": "Драйвер не загружен"
}
414 — Операция не разрешена, при регистрации не был установлен признак ТМТ
{
"ISMConnected": false,
"FormatChecking": false,
"Checking": false,
"CheckingResult": false,
"Code": 414,
"Description": "Операция не разрешена, при регистрации не был установлен признак ТМТ"
}
-1 — можно применять только для ФФД 1.2
{
"ISMConnected": false,
"FormatChecking": false,
"Checking": false,
"CheckingResult": false,
"Code": -1,
"Description": "RequestKM() можно применять только для ФФД 1.2. У ККМ 'Shtrih' версия ФФД "
}
GET marking/km/result?device={device}
Запрос: marking/km/result
URL: {{HTTPRoot}}/marking/km/result?device={device}
Получение результата проверки кода маркировки в ОИСМ
Параметры запроса
| Параметр | Обяз | Пример | Описание |
|---|---|---|---|
device |
+ | atol2 | Название устройства |
Тело ответа
Успешный ответ (200 OK)
{
"Guid": "b5d35dde-42a8-421f-b6c8-3ae224b66a42",
"Result": false,
"ResultCode": 5,
"StatusInfo": 0,
"HandleCode": 2,
"RequestStatus": 0,
"Code": 0,
"Description": "Ошибок нет"
}
Тип: объект ProcessingKMResult
ProcessingKMResult
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Guid | string | Идентификатор запроса | “b5d35dde-…” |
| RequestStatus | int | Статус: 0 — получен; 1 — ещё не получен; 2 — не может быть получен | 0 |
| Result | bool | Итог проверки | false |
| ResultCode | int | Код результата (тег 2106 ФФД) | 5 |
| StatusInfo | int | Статус информации (тег 2109 ФФД) | 0 |
| HandleCode | int | Код обработки (тег 2105 ФФД) | 2 |
Примеры ошибок
-1 — Метод или операция не реализована
{
"Response": false,
"Code": -1,
"Description": "Метод или операция не реализована."
}
-1 — Не найдено устройство
{
"Result": false,
"ResultCode": 0,
"HandleCode": 0,
"RequestStatus": 0,
"Code": -1,
"Description": "Ссылка на объект не указывает на экземпляр объекта."
}
99 — Не найден результат последней проверки
{
"Result": false,
"ResultCode": 0,
"HandleCode": 0,
"RequestStatus": 0,
"Code": -99,
"Description": "Не найден результат последней проверки"
}
4 — Не указано имя ККТ
{
"Code": 4,
"Description": "Не указано имя ККТ",
"Success": false
}
-8 — time out подключения
{
"Result": false,
"ResultCode": 0,
"HandleCode": 0,
"RequestStatus": 0,
"Code": -8,
"Description": "Connect timed out."
}
POST marking/km/confirm
Запрос: marking/km/confirm
URL: {{HTTPRoot}}/marking/km/confirm
Подтверждение, будет ли ранее запрошенный код маркировки включён в документ реализации.
Тело запроса
{
"DeviceIdent": {
"DeviceName": "{device}"
},
"GUID": "",
"ConfirmationType": 1
}
DeviceIdent
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “atol2” |
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| GUID | string | + | Идентификатор запроса КМ | ”“ |
| ConfirmationType | int | + | 0 — КМ включена в документ реализации; 1 — КМ не включена | 1 |
Тело ответа
Успешный ответ (200 OK)
{
"Response": true,
"Code": 0,
"Description": "Ok"
}
Тип: объект BooleanResponse
BooleanResponse
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| Response | bool | true — подтверждение принято | true |
Примеры ошибок
-1 — Не найдено устройство
{
"Result": false,
"ResultCode": 0,
"HandleCode": 0,
"RequestStatus": 0,
"Code": -1,
"Description": "Ссылка на объект не указывает на экземпляр объекта."
}
422 — Данный КМ отсутствует в таблице
{
"Response": false,
"Code": 422,
"Description": "Данный КМ отсутствует в таблице"
}
-1 — Не удалось найти устройство
{
"Response": false,
"Code": -1,
"Description": "Не удалось найти устройство {name}"
}
-1 — Нет связи
{
"Response": false,
"Code": -1,
"Description": "Нет связи"
}
POST marking/km/verify
Запрос: marking/km/verify
URL: {{HTTPRoot}}/marking/km/verify
Проверка кодов маркировок через API Честного Знака по ИНН и списку кодов.
Тело запроса
{
"DeviceName": "{device}",
"Vatin": "7700000000",
"Codes": [
""
]
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название устройства | “atol2” |
| Vatin | string | + | ИНН организации | “7700000000” |
| Codes | array | + | Массив кодов маркировки | [“…”] |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"code": 0,
"description": "OK",
"reqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "OK"
},
"Code": 0,
"Description": "OK",
"Success": true
}
Тип: объект CheckCodeMarkAnswer
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| code | int | Код ошибки | 0 |
| description | string | Описание кода ошибки | “OK” |
| reqId | string | идентификатор запроса в сервис ЧЗ | “a1b2c3d4-e5f6-7890-abcd-ef1234567890” |
| status | string | статус ответа | “OK” |
Примеры ошибок
522 — Не найдена учётная запись ГИС МТ
{
"Result": {
"code": 522,
"description": "Не найдена учётная запись ГИС МТ",
"reqId": "00000000-0000-0000-0000-000000000000",
"reqTimestamp": 0,
"status": 0,
"requiresDownload": false,
"lastUpdate": 0,
"lastSync": 0
},
"Code": 0,
"Description": "OK",
"Success": true
}
POST marking/km/tspiot/verify
Запрос: marking/km/tspiot/verify
URL: {{HTTPRoot}}/marking/km/tspiot/verify
Проверка кодов маркировки через ТС ПИоТ устройства.
Тело запроса
{
"DeviceName": "{device}",
"Codes": [
"MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg=="
]
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| DeviceName | string | + | Название ККТ с настроенным адресом ТС ПИоТ | “atol2” |
| Codes | array | + | Массив кодов маркировки (строка или Base64) | [“…”] |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"code": 0,
"description": "ok",
"codes": [
{
"cis": "0104670540176099215'W9Um?93dGVz",
"valid": true,
"printView": "0104670540176099215'W9Um",
"groupIds": [
8
],
"verified": true,
"realizable": false,
"utilised": false,
"errorCode": 0,
"isTracking": false,
"sold": false,
"gtin": "04670540176099",
"packageType": "UNIT",
"producerInn": "7725344604",
"grayZone": false,
"isBlocked": false,
"isGreyGtin": false,
"ogvs": [],
"found": true,
"packageQuantity": 0
}
],
"reqId": "731e821e-ac37-431d-ae74-0e994f7e8ed9",
"reqTimestamp": 1781070968595,
"isCheckedOffline": false,
"status": 0,
"requiresDownload": false,
"lastUpdate": 0,
"lastSync": 0
},
"Code": 0,
"Description": "OK",
"Success": true
}
Тип: объект CheckCodeMarkAnswer
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| code | int | Код результата проверки | 0 |
| description | string | Описание | “OK” |
| reqId | guid | Идентификатор запроса | “a1b2c3d4-…” |
| isCheckedOffline | bool | Офлайн-проверка через ТС ПИоТ | true |
| codes | array | Результат по каждому КМ | […] |
codes
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| cis | string | Полный код маркировки | “0104670540176099215’W9Um\u001d93dGVz” |
| valid | bool | Полный код маркировки. Возможные значения: true — «Структура валидная»; false — «Структура не валидная» | true |
| verified | bool | Признак криптографической проверки кода. Возможные значения для всех товарных групп, кроме «Товары из натурального меха»: true — проверка крипто-подписи завершилась успешно; false — проверка крипто-подписи завершилась с ошибкой. Возможные значения для товарной группы «Товары из натурального меха»: true — КиЗ найден в «ИР Маркировки»; false — КиЗ не найден в «ИР Маркировки» | true |
| realizable | bool | Признак возможности реализации КИ /КиЗ. Возможные значения: true – КИ / КиЗ в статусе «Вобороте»; false – КИ / КиЗ в статусе, отличном от «В обороте | true |
| utilised | bool | Признак нанесения КИ /КиЗ на упаковку. Возможные значения. true — КИ / КиЗ нанесён; false — КИ / КиЗ не нанесён | true |
| found | bool | Признак наличия КМ в ГИС МТ. Возможные значения: true — КМ найден; false — КМ не найден | true |
| sold | bool | Признак продажи товара. Возможные значения: true — товар продан; false — товар не продан | false |
| isBlocked | bool | Признак заблокированного КМ. Возможные значения: true — код идентификации заблокирован по решению ОГВ; false — блокировка отсутствует | false |
| isGreyGtin | bool | Признак некорректного КМ (GTIN). Возможные значения: true — код идентификации содержит «серый» GTIN; false — признак «серого» GTIN отсутствует | false |
| gtin | string | Код товара | “4670540176099” |
| GroupIds | array | Массив идентификаторов товарных групп: 1 — Предметы одежды, бельё постельное, столовое, туалетное и кухонное; 2 — Обувные товары; 3 — Табачная продукция; 4 — Духи и туалетная вода; 5 — Шины и покрышки пневматические резиновые новые; 6 — Фотокамеры(кроме кинокамер), фотовспышки и лампы-вспышки; 8 — Молочная продукция; 9 — Велосипеды и велосипедные рамы; 10 — Медицинские изделия; 12 — Альтернативная табачная продукция; 13 — Упакованная вода; 14 — Товары из натурального меха; 15 — Пиво, напитки, изготавливаемые на основе пива, слабоалкогольные напитки; 16 — Никотиносодержащая продукция; 17 — Биологически активные добавки к пище; 19 — Антисептики и дезинфицирующие средства; 20 — Корма для животных; 21 — Морепродукты; 22 — Безалкогольное пиво; 23 — Соковая продукция и безалкогольные напитки; 26 — Ветеринарные препараты; 27 — Игры и игрушки для детей; 28 — Радиоэлектронная продукция; 31 — Титановая металлопродукция; 32 — Консервированная продукция; 33 — Растительные масла; 34 — Оптоволокно и оптоволоконная продукция; 35 — Парфюмерные и косметические средства и бытовая химия; 38 — Фармацевтическое сырьё, лекарственные средства | [8] |
Примеры ошибок
-1 — Устройство ‘{device}’ не найдено
{
"Code": -1,
"Description": "Устройство '{device}' не найдено",
"Success": false
}
-1 — Не заполнено поле DeviceName
{
"Code": -1,
"Description": "Не заполнено поле DeviceName",
"Success": false
}
-1 — Для устройства не настроен адрес ТС ПИоТ
{
"Code": -1,
"Description": "Для устройства 'atol2' не настроен адрес ТС ПИоТ",
"Success": false
}
POST marking/km/lmcz/verify
Запрос: marking/km/lmcz/verify
URL: {{HTTPRoot}}/marking/km/lmcz/verify
Проверка кодов маркировки через локальный модуль ЧЗ.
Тело запроса
{
"Codes": [
"0104670540176099215'W9Um\u001d93dGVz"
]
}
| Имя поля | Тип | Обяз | Назначение | Пример |
|---|---|---|---|---|
| Codes | array | + | Массив кодов маркировки | [“…”] |
Тело ответа
Успешный ответ (200 OK)
{
"Result": {
"code": 0,
"description": "OK",
"codes": [
{
"cis": "0104670540176099215'W9Um",
"valid": false,
"verified": false,
"realizable": false,
"utilised": false,
"isTracking": false,
"sold": false,
"gtin": "04670540176099",
"grayZone": false,
"isBlocked": false,
"isGreyGtin": false,
"found": false,
"packageQuantity": 0
}
],
"reqId": "b0bbb45a-e773-8b63-32e6-da06f1002903",
"reqTimestamp": 1781079894155,
"isCheckedOffline": true,
"version": "019e978f-e682-7b78-8127-e7cf95b63586",
"status": 0,
"serviceUrl": "127.0.0.1:5995",
"requiresDownload": false,
"lastUpdate": 0,
"lastSync": 0,
"inst": "019eb008-c2d2-7889-b91a-a3455dc42384"
},
"Code": 0,
"Description": "OK",
"Success": true
}
Тип: объект CheckCodeMarkAnswer
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| code | int | Код результата проверки | 0 |
| description | string | Описание | “OK” |
| reqId | guid | Идентификатор запроса | “b2c3d4e5-…” |
| isCheckedOffline | bool | Локальная офлайн-проверка | true |
| serviceUrl | string | Адрес локального модуля ЧЗ | “192.168.1.10:5995” |
| codes | array | Результат по каждому КМ | […] |
codes
| Имя поля | Тип | Назначение | Пример |
|---|---|---|---|
| cis | string | Полный код маркировки | “0104670540176099215’W9Um\u001d93dGVz” |
| valid | bool | Полный код маркировки. Возможные значения: true — «Структура валидная»; false — «Структура не валидная» | true |
| verified | bool | Признак криптографической проверки кода. Возможные значения для всех товарных групп, кроме «Товары из натурального меха»: true — проверка крипто-подписи завершилась успешно; false — проверка крипто-подписи завершилась с ошибкой. Возможные значения для товарной группы «Товары из натурального меха»:true — КиЗ найден в «ИР Маркировки»; false — КиЗ не найден в «ИР Маркировки» | true |
| realizable | bool | Признак возможности реализации КИ /КиЗ. Возможные значения: true – КИ / КиЗ в статусе «Вобороте»; false – КИ / КиЗ в статусе, отличном от «В обороте | true |
| utilised | bool | Признак нанесения КИ /КиЗ на упаковку. Возможные значения. true — КИ / КиЗ нанесён; false — КИ / КиЗ не нанесён | true |
| found | bool | Признак наличия КМ в ГИС МТ. Возможные значения: true — КМ найден; false — КМ не найден | true |
| sold | bool | Признак продажи товара. Возможные значения: true — товар продан; false — товар не продан | false |
| isBlocked | bool | Признак заблокированного КМ. Возможные значения: true — код идентификации заблокирован по решению ОГВ. false — блокировка отсутствует | false |
| isGreyGtin | bool | Признак некорректного КМ (GTIN). Возможные значения: true — код идентификации содержит «серый» GTIN. false — признак «серого» GTIN отсутствует | false |
| gtin | string | Код товара | “4670540176099” |
| GroupIds | array | Массив идентификаторов товарных групп: 1 — Предметы одежды, бельё постельное, столовое, туалетное и кухонное; 2 — Обувные товары; 3 — Табачная продукция; 4 — Духи и туалетная вода; 5 — Шины и покрышки пневматические резиновые новые; 6 — Фотокамеры(кроме кинокамер), фотовспышки и лампы-вспышки; 8 — Молочная продукция; 9 — Велосипеды и велосипедные рамы; 10 — Медицинские изделия; 12 — Альтернативная табачная продукция; 13 — Упакованная вода; 14 — Товары из натурального меха; 15 — Пиво, напитки, изготавливаемые на основе пива, слабоалкогольные напитки; 16 — Никотиносодержащая продукция; 17 — Биологически активные добавки к пище; 19 — Антисептики и дезинфицирующие средства; 20 — Корма для животных; 21 — Морепродукты; 22 — Безалкогольное пиво; 23 — Соковая продукция и безалкогольные напитки; 26 — Ветеринарные препараты; 27 — Игры и игрушки для детей; 28 — Радиоэлектронная продукция; 31 — Титановая металлопродукция; 32 — Консервированная продукция; 33 — Растительные масла; 34 — Оптоволокно и оптоволоконная продукция; 35 — Парфюмерные и косметические средства и бытовая химия; 38 — Фармацевтическое сырьё, лекарственные средства | [8] |
Примеры ошибок
11 — Не найден доступный и готовый локальный модуль ЧЗ
{
"Code": 11,
"Description": "Не найден доступный и готовый локальный модуль ЧЗ",
"Success": false
}