ТЕХНИЧЕСКАЯ ДОКУМЕНТАЦИЯ

Работа с маркировкой

> СерверККМ 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
}