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

Возвраты

> СерверККМ V4 > REST API > Работа с ККМ
Дата обновления: 15 июня 2026 г.

POST check

Запрос: Возврат

URL: {{HTTPRoot}}/check

Печать чек возврата продажи или покупки.

Тело запроса

{
    "DeviceName": "{device}",
    "Cashier": {
        "Name": "Матузова В.В.",
        "Vatin": "381254994526"
    },
    "PaymentType": 2,
    "TaxVariant": 1,
    "Customer": {
        "Email": "bvr@novator38.ru",
        "Phone": ""
    },
    "Payments": {
        "Cash": "90"
    },
    "Positions": [
        {
            "FiscalString": {
                "Name": "TERRA труба с раструбом 50/250",
                "Quantity": 1,
                "MeasurementUnit": "шт",
                "PriceWithDiscount": "2500",
                "SumWithDiscount": "2500",
                "DiscountSum": 0,
                "Department": 1,
                "Tax": "none",
                "TaxSum": "0.00",
                "SignMethodCalculation": 1,
                "SignCalculationObject": 10
            }
        },
        {
            "FiscalString": {
                "Name": "SIMTEK манжета переходная D50х32",
                "Quantity": 1,
                "MeasurementUnit": "шт",
                "PriceWithDiscount": "21.85",
                "SumWithDiscount": "21.85",
                "DiscountSum": 0,
                "Department": 1,
                "Tax": "none",
                "TaxSum": "0.00",
                "SignMethodCalculation": 1,
                "SignCalculationObject": 10
            }
        }
    ]
}
Имя поля Тип Обяз Назначение Пример
DeviceName string + Название устройства “atol2”
PaymentType int + Тип чека: 2 — возврат продажи, 4 — возврат покупки 2
TaxVariant int + СНО: 0 — ОСН, 1 — УСН, 2 — УСНД_Р, 3 — ЕНВД, 4 — ЕСН, 5 — ПСН 1
Payments object + Способы оплаты (Cash, ElectronicPayment и др.) {“Cash”: “90”}
Positions array + Массив позиций […]

Поле Cashier

Имя поля Тип Обяз Назначение Пример
Name string + Имя кассира “Матузова В.В.”
Vatin string + ИНН кассира “381254994526”

Поле Customer

Имя поля Тип Обяз Назначение Пример
Email string + Электронная почта покупателя “bvr@novator38.ru”
Phone string + Телефон покупателя ”“

Поле Payments

Имя поля Тип Обяз Назначение Пример
Cash decimal + Сумма наличной оплаты 90

Поле FiscalString

Имя поля Тип Обяз Назначение Пример
Name string + Название “TERRA труба с раструбом 50/250”
Quantity decimal + Количество товара 1
MeasurementUnit string + Единица измерения предмета расчета “шт”
PriceWithDiscount decimal + Цена единицы товара с учетом скидок/наценок 60.80
SumWithDiscount decimal + Конечная сумма по позиции чека с учетом всех скидок/наценок 60.80
DiscountSum decimal + Сумма скидок и наценок 0
Department int + Отдел, по которому ведется продажа 1
Tax string + Ставка НДС “none”
TaxSum decimal + Сумма НДС за предмет расчета 0.00
SignMethodCalculation int + Признак способа расчета 1
SignCalculationObject int + Признак предмета расчета 10

Тело ответа

Успешный ответ (200 OK)

{
    "Result": {
        "datetime": "2026-05-24T04:34:32.2772086+08:00",
        "deviceName": "Atol",
        "docId": "d2a43efe-b4b9-4db5-aa7f-8358c31344ad",
        "fnsUrl": "www.nalog.gov.ru",
        "fnNumber": "9999078902010507",
        "rnNumber": "0000000002005725",
        "fiscalDatetime": "20260524043400",
        "fiscalSign": "2447529010",
        "shiftNumber": 41,
        "fiscalNumber": 367
    },
    "Code": 0,
    "Description": "OK",
    "Success": true
}

Тип: объект FiscalParams

FiscalParams

Имя поля Тип Назначение Пример
datetime datetime Время операции “2026-05-12T18:38:52”
deviceName string Название устройства “d83e0030-…”
docId string Идентификатор задания “d83e0030-…”
fnsUrl string Адрес сайта уполномоченного органа (ФНС) в сети «Интернет» “nalog.ru”
fnNumber string Номер фискального накопителя “0123123123123”
rnNumber string РНМ “00031415926”
fiscalDatetime string Дата и время документа по часам ФН “20260523234515”
shiftNumber int Номер смены 41
fiscalNumber int Номер фискального документа 367

Примеры ошибок

709 — Устройство не найдено,

{
    "Code": 709,
    "Description": "Устройство не найдено",
    "Success": false
}

8 — Недостаточная сумма оплаты,

{
    "Code": 8,
    "Description": "Недостаточная сумма оплаты",
    "Success": false
}

4 — Не указано имя ККТ,

{
    "Code": 4,
    "Description": "Не указано имя ККТ",
    "Success": false
}

14 — 24 часа кассовой смены истекли

{
    "Code": 14,
    "Description": "24 часа кассовой смены истекли",
    "Success": false
}

POST check

Запрос: Возврат аванса

URL: {{HTTPRoot}}/check

Печать чека возврата аванса (предоплаты)

Тело запроса

{
    "DeviceName": "{device}",
    "Electronically": false,
    "Cashier": {
        "Name": "Иванова Марь Ванна",
        "Vatin": ""
    },
    "CustomerEmail": "",
    "CustomerPhone": "",
    "PaymentType": 2,
    "TaxVariant": 2,
    "Payments": {
        "AdvancePayment": 10,
        "Cash": 0,
        "CashProvision": 0,
        "Credit": 0,
        "ElectronicPayment": 0
    },
    "Positions": [
        {
            "FiscalString": {
                "Department": 2,
                "DiscountSum": 0,
                "Name": "Выдано: Розничный покупатель",
                "PriceWithDiscount": 10,
                "Quantity": 1,
                "SignCalculationObject": 10,
                "SignMethodCalculation": 3,
                "SumWithDiscount": 10,
                "Tax": "120",
                "TaxSum": 0
            }
        }
    ]
}
Имя поля Тип Обяз Назначение Пример
DeviceName string + Название устройства “atol2”
Electronically bool + Регистрация чека без печати на ленте false
PaymentType int + Тип чека: 2 — возврат продажи, 4 — возврат покупки 2
TaxVariant int + СНО: 0 — ОСН, 1 — УСН, 2 — УСНД_Р, 3 — ЕНВД, 4 — ЕСН, 5 — ПСН 1
Payments object + Способы оплаты (Cash, ElectronicPayment и др.) {“Cash”: “90”}
Positions array + Массив позиций […]

Поле Cashier

Имя поля Тип Обяз Назначение Пример
Name string + Имя кассира “Матузова В.В.”
Vatin string + ИНН кассира “381254994526”

Поле Customer

Имя поля Тип Обяз Назначение Пример
Email string + Электронная почта покупателя “bvr@novator38.ru”
Phone string + Телефон покупателя ”“

Поле Payments

Имя поля Тип Обяз Назначение Пример
Cash decimal + Сумма наличной оплаты 0.0
AdvancePayment decimal + Сумма предоплатой (зачетом аванса) 10.0
CashProvision decimal + Сумма встречным предоставлением 0.0
Credit decimal + Сумма постоплатой (в кредит) 0.0
ElectronicPayment decimal + Сумма безналичными средствами 0.0

Поле FiscalString

Имя поля Тип Обяз Назначение Пример
Name string + Название “Выдано: Розничный покупатель”
Quantity decimal + Количество товара 1
PriceWithDiscount decimal + Цена единицы товара с учетом скидок/наценок 60.80
SumWithDiscount decimal + Конечная сумма по позиции чека с учетом всех скидок/наценок 10.0
DiscountSum decimal + Сумма скидок и наценок 0
Department int + Отдел, по которому ведется продажа 1
Tax string + Ставка НДС “120”
TaxSum decimal + Сумма НДС за предмет расчета 0
SignMethodCalculation int + Признак способа расчета 3
SignCalculationObject int + Признак предмета расчета 10

Тело ответа

Успешный ответ (200 OK)

{
    "Result": {
        "datetime": "2026-05-24T11:00:29.1706702+08:00",
        "deviceName": "Atol",
        "docId": "72b8e217-66d7-419d-b394-18cb9dc23a6a",
        "fnsUrl": "www.nalog.gov.ru",
        "fnNumber": "9999078902010507",
        "rnNumber": "0000000002005725",
        "fiscalDatetime": "20260524110000",
        "fiscalSign": "1772113044",
        "shiftNumber": 41,
        "fiscalNumber": 368
    },
    "Code": 0,
    "Description": "OK",
    "Success": true
}

Тип: объект FiscalParams

FiscalParams

Имя поля Тип Назначение Пример
datetime datetime Время операции “2026-05-12T18:38:52”
deviceName string Название устройства “Atol”
docId string Идентификатор задания “d83e0030-…”
fnsUrl string Адрес сайта уполномоченного органа (ФНС) в сети «Интернет» “nalog.ru”
fnNumber string Номер фискального накопителя “0123123123123”
rnNumber string РНМ “00031415926”
fiscalDatetime string Дата и время документа по часам ФН “20260523234515”
shiftNumber int Номер смены 41
fiscalNumber int Номер фискального документа 368

Примеры ошибок

55 — Требуется открытая смена

{
    "Code": 55,
    "Description": "Требуется открытая смена",
    "Success": false
}

7 — Сумма безналичной оплаты больше суммы

{
    "Code": 7,
    "Description": "Сумма безналичной оплаты больше суммы чека: Atol: драйвер: DeviceNetBase.Device.Atolv10FR: Сумма не наличных платежей превышает сумму чека",
    "Success": false
}

709 — Устройство не найдено,

{
    "Code": 709,
    "Description": "Устройство не найдено",
    "Success": false
}

4 — Не указано имя ККТ

{
    "Code": 4,
    "Description": "Не указано имя ККТ",
    "Success": false
}

14 — 24 часа кассовой смены истекли

{
    "Code": 14,
    "Description": "24 часа кассовой смены истекли",
    "Success": false
}

POST check/async

Запрос: Возврат по ФП (асинхронный)

URL: {{HTTPRoot}}/check/async

Асинхронно поставить чек возврата в очередь печати. Поддерживает привязку к исходному документу по фискальному признаку (ФП).

Тело запроса

{
    "DeviceName": "{device}",
    "DocId": "",
    "Cashier": {
        "Name": "Иванова Марь Ванна",
        "Vatin": ""
    },
    "PaymentType": 2,
    "TaxVariant": 0,
    "Electronically": false,
    "AdditionalAttribute": "1775661887",
    "Payments": {
        "Cash": 90,
        "ElectronicPayment": 0,
        "AdvancePayment": 0,
        "Credit": 0,
        "CashProvision": 0
    },
    "Positions": [
        {
            "FiscalString": {
                "Name": "Наименование товара/услуги",
                "Quantity": 1,
                "PriceWithDiscount": 73.18,
                "SumWithDiscount": 73.18,
                "DiscountSum": 0,
                "Department": 1,
                "Tax": "20",
                "TaxSum": 0,
                "SignMethodCalculation": 4,
                "SignCalculationObject": 4
            }
        }
    ]
}
Имя поля Тип Обяз Назначение Пример
DeviceName string + Название устройства “atol2”
Electronically bool + Регистрация чека без печати на ленте false
DocId string - идентификатор исходного документа ”“
AdditionalAttribute string - Фискальный признак (ФП) исходного документа “1775661887”
PaymentType int + Тип чека: 2 — возврат продажи, 4 — возврат покупки 2
TaxVariant int + СНО: 0 — ОСН, 1 — УСН, 2 — УСНД_Р, 3 — ЕНВД, 4 — ЕСН, 5 — ПСН 1
Payments object + Способы оплаты (Cash, ElectronicPayment и др.) {“Cash”: “90”}
Positions array + Массив позиций […]

Поле Cashier

Имя поля Тип Обяз Назначение Пример
Name string + Имя кассира “Матузова В.В.”
Vatin string + ИНН кассира “381254994526”

Поле Customer

Имя поля Тип Обяз Назначение Пример
Email string + Электронная почта покупателя “bvr@novator38.ru”
Phone string + Телефон покупателя ”“

Поле Payments

Имя поля Тип Обяз Назначение Пример
Cash decimal + Сумма наличной оплаты 0.0
AdvancePayment decimal + Сумма предоплатой (зачетом аванса) 10.0
CashProvision decimal + Сумма встречным предоставлением 0.0
Credit decimal + Сумма постоплатой (в кредит) 0.0
ElectronicPayment decimal + Сумма безналичными средствами 0.0

Поле FiscalString

Имя поля Тип Обяз Назначение Пример
Name string + Название “Выдано: Розничный покупатель”
Quantity decimal + Количество товара 1
PriceWithDiscount decimal + Цена единицы товара с учетом скидок/наценок 60.80
SumWithDiscount decimal + Конечная сумма по позиции чека с учетом всех скидок/наценок 10.0
DiscountSum decimal + Сумма скидок и наценок 0
Department int + Отдел, по которому ведется продажа 1
Tax string + Ставка НДС “120”
TaxSum decimal + Сумма НДС за предмет расчета 0
SignMethodCalculation int + Признак способа расчета 3
SignCalculationObject int + Признак предмета расчета 10

Тело ответа

Успешный ответ (200 OK)

{
    "Result": "1be955bd-593c-4b1a-a9e1-4fb4481398fa",
    "Code": 0,
    "Description": "OK",
    "Success": true
}

Поле Result

Имя поля Тип Назначение Пример
Result GUID Идентификатор задания “bed54268-b7ec-4982-b86c-b7f67841d883”

Примеры ошибок

709 — Устройство не найдено,

{
    "Code": 709,
    "Description": "Устройство не найдено",
    "Success": false
}

4 — Не указано имя ККТ

{
    "Code": 4,
    "Description": "Не указано имя ККТ",
    "Success": false
}