Описание API (коннектор АТОЛ Онлайн)

Сервис предназначен для удаленной регистрации (фискализации) чеков на арендованных клиентом у Эвотор кассах (ККТ) посредством разработанного клиентского API.

Версия сервиса v5 поддерживает регистрацию чеков формата фискальных данных версии 1.2 (ФФД 1.2) согласно вступившему в силу приказу ФНС России от 14.09.2020 № ЕД-7-20/662@.

Для начала регистрации чеков через API необходимо предварительно пройти процедуру регистрации компании (магазина) и получить учетные данные (логин, пароль, код группы) посредством Личного кабинета Эвотор

Общий алгоритм взаимодействия с сервисом через API

После получения учетных данных необходимо получить токен авторизации используя запрос, описанный в соответствующем разделе.

Для отправки чека на регистрацию в ККТ необходимо воспользоваться POST-запросом. В случае корректного запроса сервис пришлет ответ, содержащий уникальный идентификатор, присвоенный данному документу и статус.

Результат регистрации чека на ККТ может быть получен двумя способами:

  • В случае, если в запросе на регистрацию был указан callback_url, сервис по результатам обработки чека вернет POST запрос на этот URL.

  • В случае, если callback_url не был указан или запрос не пришел, клиент самостоятельно может запросить результат обработки чека GET-запросом к сервису, описанному в разделе

Описание методов

Авторизация пользователя

Описание

Для отправки чеков через API необходимо получить авторизационный токен одним из описанных ниже методов.

Авторизационный токен, дает право доступа к системе посредством интеграционного API в течение 24 часов с момента его формирования. Токен должен передаваться в качестве параметра во все методы API сервиса. Максимальная длина токена – 1000 символов.

Если в течение 24 часов с момента запроса токена повторно запросить токен, то вы получите новый токен и время его жизни будет так же 24 часа, либо ранее полученный токен и время его жизни будет 24 часа от момента первого получения клиентом этого токена. Количество одновременно действующих токенов, которые может получить клиент равно количеству реплик сервиса Эвотор, работающих в текущий момент. Рекомендуется запрашивать новый токен только при получении от сервиса ошибки об истечении времени жизни предыдущего токена.

Например, вы запросили повторно токен спустя 10 часов с момента первого запроса. Вы получите новый токен и он будет действовать еще 24 часа, либо ранее выданный токен и он будет действовать 14 часов с момента этого запроса (24 часа с момента его первой выдачи клиенту).

Запрос

Метод POST

https://fiscalization.evotor.ru/possystem/v5/getToken

Заголовок запроса должен содержать параметр:

Content-type: application/json; charset=utf-8

Тело запроса должно содержать документ в формате JSON, соответствующий схеме.

Пример запроса
{
  "login": "neletest",
  "pass": "v2AfscRjr"
}

Параметры запроса:

  • login: логин из файла настроек интеграции в личном кабинете клиента.

  • pass: пароль из файла настроек интеграции в личном кабинете клиента.

Метод GET

https://fiscalization.evotor.ru/possystem/v5/getToken?login=<login>&pass=<pass>

Параметры строки запроса:

  • login: логин из файла настроек интеграции в личном кабинете клиента.

  • pass: пароль из файла настроек интеграции в личном кабинете клиента.

Ответ на запрос

Пример ответа
{
    "error": null,
    "token": "fj45u923j59ju42395iu9423i59243u0",
    "timestamp": "30.11.22 17:58:53"
}
Пример ответа с ошибкой
{
    "error": {
        "error_id": "20003",
        "code": 12,
        "text": "Неверный логин или пароль",
        "type": "system"
    },
    "timestamp": null
}

Параметры ответа на запрос:

  • error: ошибка.

    • error_id: уникальный идентификатор ошибки;

    • code: код ошибки;

    • text: текст ошибки;

    • type: тип ошибки.

  • token: авторизационный токен. Максимальная длина строки – 1000 символов. Возвращается только при отсутствии ошибки.

  • timestamp: дата и время ответа.

Регистрация документа

Описание

Метод позволяет отправить запрос на формирование чека и отправку его на регистрацию в ККТ.

Запрос

Метод: POST

Авторизационный токен должен быть передан в заголовке запроса:

https://fiscalization.evotor.ru/possystem/v5/<group_code>/<operation>

Заголовок запроса должен содержать параметры:

  • Content-type: application/json; charset=utf-8

  • Token: <token>

При технической невозможности передать token в заголовке запроса можно передать параметр в строке запроса:

https://fiscalization.evotor.ru/possystem/v5/<group_code>/<operation>?token=<token>

Параметры заголовка и строки запроса:

  • group_code: идентификатор группы ККТ;

  • operation: тип операции на регистрацию чека, которая должна быть выполнена. Возможные типы операции:

    • sell: чек «Приход»;

    • buy: чек «Расход»;

    • sell_refund: чек «Возврат прихода»;

    • buy_refund: чек «Возврат расхода»;

    • sell_correction: чек «Коррекция прихода»;

    • buy_correction: чек «Коррекция расхода»;

    • sell_refund_correction: чек «Коррекция возврата прихода»;

    • buy_refund_correction: чек «Коррекция возврата расхода»;

  • token: авторизационный токен.

Пример регистрации чека с операцией «Приход»:

https://fiscalization.evotor.ru/possystem/v5/group1/sell?token=<token>

Тело запроса должно содержать документ в формате JSON, соответствующий схеме.

Тело запроса для чеков прихода и возврат прихода

{
   "timestamp":" 03.06.2020 12:05:31",
   "external_id": "892924433234522512289444",
   "service": {
      "callback_url": "https://shop.ru"
   },
   "receipt": {
      "client": {
         "email": "client@client.ru",
         "phone": "+70002410085",
         "name": "Иванов Иван Иванович",
         "inn": "112233445573"
      },
      "company": {
         "email": "email@evotor.ru",
         "sno": "osn",
         "inn": "0923341225",
         "payment_address": "shop-url.ru"
      },
      "cashier_inn": "112233445573",
      "cashier": "Антон Чеков",
      "items": [
         {
            "name": "Ваш любимый товар1",
            "price": 120,
            "quantity": 1.0,
            "measure": 0,
            "sum": 120,
            "payment_method": "full_payment",
            "payment_object": 1,
            "vat": {
               "type": "vat20",
               "sum": 20.0
            },
            "excise": 10.0,
            "mark_quantity": {
               "numerator": 1,
               "denominator": 3
            },
            "mark_processing_mode": "0",
            "mark_code": {
               "gs1m": "010463003407001221CMK45BrhN0WLf"
            },
            "agent_info":  {
               "type": "another",
               "paying_agent": {
                  "operation": "Операция 1",
                  "phones": ["+79999999999"]
               },
               "receive_payments_operator": {
                  "phones": ["+79999999999"]
               },
               "money_transfer_operator": {
                  "phones": ["+79999999999"],
                  "name": "Оператор перевода",
                  "address": "г. Москва, ул. Сказочная д.3",
                  "inn": "112233445573"
               }
            },
            "supplier_info": {
               "phones": [
                  "+79999999999"
               ],
               "name": "Название поставщика",
               "inn": "112233445573"
            },
            "sectoral_item_props":[
               {
                  "date": "18.01.2023",
                  "value": "tm=mdlp&sid=00000000405195&",
                  "number": "123/43",
                  "federal_id": "001"
               }
            ]
         }
      ],
      "payments":[
         {
            "type": 1,
            "sum": 120.0
         }
      ],
      "vats":[
         {
            "type": "vat20",
            "sum": 20.0
         }
      ],
      "sectoral_check_props":[
         {
            "date": "18.02.2023",
            "value": "tm=mdlp&sid=00752852194630&",
            "number": "123/89",
            "federal_id": "002"
         }
      ],
      "": "445334544",
      "total": 120.0,
      "": {
         "name": "название доп реквизита",
         "value": "значение доп реквизита"
      }
   }
}

Описание полей запроса регистрации документа с типом операции «Приход», «Возврат прихода», «Расход», «Возврат расхода» представлено ниже.

Описание полей для тела запроса на регистрацию чека прихода и возврата прихода

ПолеТипОбязательноеОписаниеТег ФФД

timestamp

string

да

Дата и время документа внешней системы в формате: dd.mm.yy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31»;

  • mm – Месяц. Формат MM. Возможные значения от «01» до «12»;

  • yyyy – Год. Формат YYYY. Допустимое количество символов – 4.

  • HH – Часы. Формат HH. Возможные значения от «00» до «24»;

  • MM – Минуты. Формат MM. Возможные значения от «00» до «59»;

  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».

-

external_id

string

да

Идентификатор документа внешней системы, уникальный среди всех документов, отправленных одним пользователем. Максимум 128 символов.

-

service

object

нет

Служебный раздел. См. Описание объекта service

-

receipt

object

да

Чек. См. описание объекта Чек.

-

Описание объекта service

ПолеТипОбязательноеОписаниеТег ФФД

callback_url

string

нет

URL, на который необходимо ответить после обработки документа. Максимальная длина строки – 256 символов. Корректность заполненного поля определяется по регулярному выражению: ^http(s?)://0-9a-zA-Zа-яА-Я(:(0-9))(/?)([a- zA-Z0-9а-яА-Я-.?,'/\+&=%$#_])?$

-

Описание объекта receipt

ПолеТипОбязательноеОписаниеТег ФФД

client

object

да

сведения о покупателе (клиенте). См. Описание объекта client

-

company

object

да

См. Описание объекта company

-

items

array of objects

да

Заполняется для каждого добавленного товара. См. Описание объекта items

-

payments

array of objects

да

Оплаты. Ограничение по количеству от 1 до 10. См. Описание объекта payments

-

vats

array of objects

нет

Атрибуты налогов на чек. Ограничение по количеству от 1 до 6. Необходимо передать либо сумму налога на позицию, либо сумму налога на чек. Если будет переданы и сумма налога на позицию и сумма налога на чек, сервис учтет только сумму налога на чек. См. Описание объекта vats

-

cashier

string

нет

ФИО кассира. Максимальная длина строки – 64 символа.

1021

cashier_inn

string

нет

ИНН кассира. Ровно 12 цифр

1203

string

нет

Дополнительный реквизит чека. Максимальная длина строки – 16 символов.

1192

total

number

да

Итоговая сумма чека в рублях с заданным округлением:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

Значение вычисляется, как сумма всех значений реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043).

1020

object

нет

Дополнительный реквизит пользователя. См. Описание объекта additional_user_props

1084

sectoral_check_props

array of objects

нет

Включается в состав кассового чека (БСО) в случае, если включение этого отраслевого реквизита кассового чека предусмотрено законодательством Российской Федерации. См. Описание элемента массива объектов sectoral_check_props и sectoral_item_props

1261

Описание объекта client

ПолеТипОбязательноеОписаниеТег ФФД

email

string

обязательно для заполнения хотя бы одно поле из двух: email или phone

Электронный адрес покупателя. До 64 символов. Маска: {С}@{С} или значение "none"

1008

phone

string

см. выше

Телефон покупателя. Номер необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа + (номер +371 2 1234567 необходимо передать как +37121234567). До 19 символов Маски: +{Ц} или значение "none"

1008

name

string

нет

Наименование покупателя (клиента). Максимальная длина строки – 256 символов.

1227

inn

string

нет

ИНН покупателя (клиента). Допустимое количество символов 10 или 12, только цифры.

1228

Описание объекта company

ПолеТипОбязательноеОписаниеТег ФФД

email

string

да

Электронная почта отправителя чека. При передаче ОФД кассового чека (БСО), кассового чека коррекции (БСО коррекции) покупателю (клиенту) в электронной форме указывается адрес электронной почты ОФД. Максимальная длина строки – 64 символа. Маска: {С}@{С}

1117

sno

enum (string)

да

Система налогообложения. Должно принимать одно из значений:

  • osn – общая СН;

  • usn_income – упрощенная СН (доходы);

  • usn_income_outcome – упрощенная СН (доходы минус расходы);

  • esn – единый сельскохозяйственный налог;

  • patent – патентная СН.

1055

inn

string

да

ИНН организации. Используется для предотвращения ошибочных регистраций чеков на ККТ зарегистрированных с другим ИНН (сравнивается со значением в ФН). Допустимое количество символов 10 или 12.

1018

payment_address

string

да

Место расчетов. Максимальная длина строки – 256 символов.

1187

Описание объекта items

ПолеТипОбязательноеОписаниеТег ФФД

name

string

да

Наименование товара, работы, услуги, платежа, выплаты, иного предмета расчета. Максимальная длина строки – 128 символов.

1030

price

number

да

Цена за единицу товара, работы, услуги, платежа, выплаты, иного предмета расчета с учетом скидок и наценок. Цена в рублях:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

Максимальное значение цены – 42 949 672.95. При этом произведение цены и количества / веса (price*quantity) позиции должно быть не больше максимального значения цены позиции.

1079

quantity

number

да

Количество / вес:

  • целая часть не более 5 знаков;

  • дробная часть не более 3 знаков.

Максимальное значение – 99 999.999

1023

measure

enum (number)

да

Единицы измерения количества предмета расчета. Может принимать одно из значений:

  • 0 - Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами

  • 10 - Грамм

  • 11 - Килограмм

  • 12 - Тонна

  • 20 - Сантиметр

  • 21 - Дециметр

  • 22 - Метр

  • 30 - Квадратный сантиметр

  • 31 - Квадратный дециметр

  • 32 - Квадратный метр

  • 40 - Миллилитр

  • 41 - Литр

  • 42 - Кубический метр

  • 50 - Киловатт час

  • 51 - Гигакалория

  • 70 - Сутки (день)

  • 71 - Час

  • 72 - Минута

  • 73 - Секунда

  • 80 - Килобайт

  • 81 - Мегабайт

  • 82 - Гигабайт

  • 83 - Терабайт

  • 255 - Применяется при использовании иных единиц измерения

2108

sum

number

да

Сумма в рублях:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

Максимальное значение – 42 949 672.95. Значение реквизита «стоимость предмета расчета с учетом скидок и наценок» (тег 1043) должно быть равно произведению значения реквизита «цена за единицу предмета расчета с учетом скидок и наценок» (тег 1079), умноженному на значение реквизита «количество предмета расчета» (тег 1023).

1043

payment_method

enum (string)

да

Признак способа расчёта. Возможные значения:

  • full_prepayment – предоплата 100%. Полная предварительная оплата до момента передачи предмета расчета.

  • prepayment – предоплата. Частичная предварительная оплата до момента передачи предмета расчета.

  • advance – аванс.

  • partial_payment – частичный расчет и кредит. Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит

  • credit – передача в кредит. Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит

  • credit_payment – оплата кредита. Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита)

  • full_payment – полный расчет. Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета

1214

payment_object

enum (number)

да

Признак предмета расчёта. Должен принимать одно из значений:

  • 1 - о реализуемом товаре, за исключением подакцизного товара и товара, подлежащего маркировке средствами идентификации (наименование и иные сведения, описывающие товар)

  • 2 - о реализуемом подакцизном товаре, за исключением товара, подлежащего маркировке средствами идентификации (наименование и иные сведения, описывающие товар)

  • 4 - об оказываемой услуге (наименование и иные сведения, описывающие услугу)

  • 9 - о предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации

  • 10 - об авансе, задатке, предоплате, кредите

  • 33 - о реализуемом товаре, подлежащем маркировке средством идентификации, имеющем код маркировки, за исключением подакцизного товара * если в товаре передается mark_code и payment_object = "1", то он будет автоматически изменен на "33"

1212

vat

object

да

Атрибуты налога на позицию. См. Описание объекта vat

-

excise

number

нет

Сумма акциза в рублях

1229

mark_quantity

object

Нет

Реквизит «дробное количество маркированного товара» (тег 1291) включается в состав реквизита «предмет расчета» (тег 1059) только в случае если расчет осуществляется за маркированный товар и значение реквизита «мера количества предмета расчета» (тег 2108) принимает значение равное «0». См. Описание объекта mark_quantity

1291 Дробное количество маркированно го товара

mark_processing_mode

string

нет

Включается в чек в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации. Должен принимать значение равное 0

2102

sectoral_item_props

array of objects

нет

Необходимо указывать, если в составе реквизита «предмет расчета» (тег 1059) содержатся сведения о товаре, подлежащем обязательной маркировке средством идентификации и включение указанного реквизита предусмотрено НПА отраслевого регулирования для соответствующей товарной группы. См. Описание объекта sectoral_check_props и sectoral_item_props

1260

mark_code

object

нет

Включается в чек в случае, если предметом расчета является товар, подлежащий обязательной маркировке средством идентификации. См. Описание объекта mark_code

1163

agent_info

object

нет

Атрибуты агента. См. Описание объекта agent_info

-

supplier_info

object

если передан agent_info

Атрибуты поставщика. См. описание объекта supplier_info

-

Описание объекта vat

ПолеТипОбязательноеОписаниеТег ФФД

type

enum (string)

да

Устанавливает номер налога в ККТ. Перечисление со значениями:

  • none – без НДС;

  • vat0 – НДС по ставке 0%;

  • vat10 – НДС чека по ставке 10%;

  • vat110 – НДС чека по расчетной ставке 10/110;

  • vat20 – НДС чека по ставке 20%;

  • vat120 – НДС чека по расчетной ставке 20/120.

1199

sum

number

нет

Сумма налога позиции в рублях:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

1200

Описание объекта mark_quantity

ПолеТипОбязательноеОписаниеТег ФФД

numerator

integer

Да

Числитель дробной части предмета расчета Значение реквизита «числитель» (тег 1293) должно быть строго меньше значения реквизита «знаменатель» (тег 1294) не может равняться «0»

1293 числитель

denominator

integer

Да

Знаменатель дробной части предмета расчета Заполняется значением, равным количеству товара в партии (упаковке), имеющей общий код маркировки товара. не может равняться «0»

1294 знаменатель

Описание объекта mark_code

ПолеТипОбязательноеОписаниеТег ФФД

gs1m

string

должен быть передан один из реквизитов

Код товара в формате GS1, нанесенный на товар, подлежащий маркировке средствами идентификации. Максимум 200 символов. Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)

1305 КТ GS1.М

short

string

должен быть передан один из реквизитов

Код товара в формате короткого кода маркировки, нанесенный на товар, подлежащий маркировке средствами идентификации. Максимум 38 символов. Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)

1306 КТ КМК

fur

string

должен быть передан один из реквизитов

Контрольно-идентификационный знак мехового изделия. Ровно 20 символов, должно соответствовать маске СС-ЦЦЦЦЦЦСССССССССС Значение реквизита должно формироваться в соответствии с правилами, указанными в Приложении № 2 к приказу ФНС России от 14.09.2020г. № ЕД-7- 20/662@ (Таблица 118)

1307 КТ МИ

Описание объекта agent_info

ПолеТипОбязательноеОписаниеТег ФФД

type

enum (string)

да

Признак агента по предмету расчёта (ограничен агентами, введенными в ККТ при фискализации). Возможные значения:

  • bank_paying_agent – банковский платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным агентом.

  • bank_paying_subagent – банковский платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся банковским платежным субагентом.

  • paying_agent – платежный агент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным агентом.

  • paying_subagent – платежный субагент. Оказание услуг покупателю (клиенту) пользователем, являющимся платежным субагентом.

  • attorney – поверенный. Осуществление расчета с покупателем (клиентом) пользователем, являющимся поверенным.

  • commission_agent – комиссионер. Осуществление расчета с покупателем (клиентом) пользователем, являющимся комиссионером.

  • another – другой тип агента. Осуществление расчета с покупателем (клиентом) пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером.

1222

paying_agent

object

Нет

Атрибуты платежного агента. См. Описание объекта paying_agent

-

receive_payments_operator

object

Нет

Атрибуты оператора по приему платежей. См. Описание объекта receive_payments_operator

-

money_transfer_operator

object

Нет

Атрибуты оператора перевода. См. Описание объекта money_transfer_operator

-

Описание объекта paying_agent

ПолеТипОбязательноеОписаниеТег ФФД

operation

string

Нет

Наименование операции банковского платежного агента, банковского платежного субагента. Максимальная длина строки – 24 символа.

1044 Операция банковского платежного агента

phones

array of strings

Нет

Номера телефонов платежного агента, платежного субагента, банковского платежного агента, банковского платежного субагента Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.

1073 Телефон платежного агента

Описание объекта receive_payments_operator

ПолеТипОбязательноеОписаниеТег ФФД

phones

array of strings

Нет

Номера контактных телефонов оператора по приему платежей Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.

1074 Телефон оператора по приему платежей

Описание объекта money_transfer_operator

ПолеТипОбязательноеОписаниеТег ФФД

phones

array of strings

Нет

Номера телефонов оператора по переводу денежных средств Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа «+». Если номер телефон начинается с символа «+», то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс «+7»), то значение можно передать без префикса (номер «+7 925 1234567» можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.

1075 Телефон оператора перевода

name

string

Нет

Наименование оператора перевода. Максимум 64 символа

1026 Наименовани е оператора перевода

address

string

Нет

Место нахождения оператора по переводу денежных средств Максимум 256 символов

1005 Адрес оператора перевода

inn

string

Нет

ИНН оператора перевода. 10 или 12 цифр

1016 ИНН оператора перевода

Описание объекта supplier_info

ПолеТипОбязательноеОписаниеТег ФФД

phones

array of strings

нет

Телефоны поставщика. Номер телефона необходимо передать вместе с кодом страны без пробелов и дополнительных символов, кроме символа +. Если номер телефон начинается с символа +, то максимальная длина одного элемента массива – 19 символов. Если номер телефона относится к России (префикс +7), то значение можно передать без префикса (номер +7 925 1234567 можно передать как «9251234567»). Максимальная длина одного элемента массива в таком случае – 17 символов.

1171

name

string

да

Наименование поставщика. Максимум 256 символов

1225

inn

string

да

ИНН поставщика. 10 или 12 цифр

1226

Описание объекта payments

ПолеТипОбязательноеОписаниеТег ФФД

type

enum (number)

да

Вид оплаты. Возможные значения:

  • 0 – наличные;

  • 1 – безналичный;

  • 2 – предварительная оплата (зачет аванса и (или) предыдущих платежей);

  • 3 – постоплата (кредит);

  • 4 – иная форма оплаты (встречное предоставление);

1031, 1081, 1215, 1216, 1217

sum

number

да

Сумма к оплате в рублях:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

Описание объекта vats

ПолеТипОбязательноеОписаниеТег ФФД

type

enum (string)

да

Устанавливает номер налога в ККТ. Перечисление со значениями:

  • none – без НДС;

  • vat0 – НДС по ставке 0%;

  • vat10 – НДС чека по ставке 10%;

  • vat110 – НДС чека по расчетной ставке 10/110;

  • vat20 – НДС чека по ставке 20%;

  • vat120 – НДС чека по расчетной ставке 20/120.

1102, 1103, 1104, 1105, 1106, 1107

sum

number

нет

Сумма к оплате в рублях:

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

1200

Описание объекта additional_user_props

ПолеТипОбязательноеОписаниеТег ФФД

name

string

да

Наименование дополнительного реквизита пользователя. Максимальная длина строки – 64 символа.

1085

value

string

да

Значение дополнительного реквизита пользователя. Максимальная длина строки – 256 символов.

1086

Описание элемента массива объектов sectoral_check_props и sectoral_item_props

ПолеТипОбязательноеОписаниеТег ФФД

federal_id

enum (string)

да

Идентификатор ФОИВ. Должно принимать одно из значений справочника.

1262

date

string

да

Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег 1265) Значение в формате в формате ДД.ММ.ГГГГ

1263

number

string

да

Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег 1265) Максимум 32 символа.

1264

value

string

да

Состав значений, определенных нормативного актом федерального органа исполнительной власти Максимум 256 символов.

1265

Тело запроса для чеков коррекции прихода и коррекции возврата прихода

{
   "timestamp":" 03.06.2020 12:05:31",
   "external_id": "892924433234522512289444",
   "service": {
      "callback_url": "https://shop.ru"
   },
   "correction": {
      "client": {
         "email": "client@client.ru",
         "phone": "+70002410085",
         "name": "Иванов Иван Иванович",
         "inn": "516974792202"
      },
      "company": {
         "email": "email@evotor.ru",
         "sno": "osn",
         "inn": "5010051677",
         "payment_address": "shop-url.ru"
      },
      "cashier_inn": "887405485310",
      "cashier": "Антон Чеков",
      "correction_info": {
         "type": "self",
         "base_date": "02.02.2022",
         "base_number": "735/01505"
      },
      "items": [
         {
            "name": "Ваш любимый товар1",
            "price": 120,
            "quantity": 1.0,
            "measure": 0,
            "sum": 120,
            "payment_method": "full_payment",
            "payment_object": 1,
            "vat": {
               "type": "vat20",
               "sum": 20.0
            },
            "excise": 10.0,
            "mark_processing_mode": "0",
            "mark_code": {
               "gs1m": "010463003407001221CMK45BrhN0WLf"
            },
            "agent_info": {
               "type": "another"
            },
            "supplier_info": {
               "phones": [
                  "+79998887766"
               ],
               "name": "Название поставщика",
               "inn": "287381373424"
            },
            "sectoral_item_props":[
               {
                  "date": "18.01.2023",
                  "value": "tm=mdlp&sid=00000000405195&",
                  "number": "123/43",
                  "federal_id": "001"
               }
            ]
         }
      ],
      "payments":[
         {
            "type": 1,
            "sum": 120.0
         }
      ],
      "vats":[
         {
            "type": "vat20",
            "sum": 20.0
         }
      ],
      "sectoral_check_props":[
         {
            "date": "18.02.2023",
            "value": "tm=mdlp&sid=00752852194630&",
            "number": "123/89",
            "federal_id": "002"
         }
      ],
      "": "445334544",
      "total": 120.0,
      "": {
         "name": "название доп реквизита",
         "value": "значение доп реквизита"
      }
   }
}

Описание полей для чеков коррекции совпадает с описанием полей для типов операций «Приход», «Возврат прихода», представленными выше. Отличие — объект reciept заменяется на correction. Так же добавляется объект correction_info (описание ниже) и поле cashier — обязательное.

Описание объекта correction_info

ПолеТипОбязательноеОписаниеТег ФФД

type

enum

да

Тип коррекции. Возможные значения:

  • self – самостоятельная операция;

  • instruction - операция по предписанию налогового органа об устранении выявленного нарушения законодательства Российской Федерации о применении ККТ.

1173

base_date

string

да

Дата совершения корректируемого расчета в формате: dd.mm.yyyy

1178

base_number

string

нет

Номер документа основания для коррекции. Заполняется в случае, если коррекция расчета осуществляется по предписанию налогового органа об устранении выявленного нарушения законодательства Российской Федерации о применении ККТ. Максимум 32 символа

1179

Ответ на запрос

При отсутствии ошибок сервис вернет пакет, содержащий уникальный идентификатор чека, присвоенный сервисом и статус обработки чека.

Способы получения результатов обработки чека по его идентификатору описаны в разделе Получение результата обработки документа.

Пример ответа
{
    "uuid": "2ea26f17–0884–4f08–b120–306fc096a58f",
    "timestamp": "12.04.22 06:15:06",
    "error": null,
    "status": "wait",
}
Пример ответа с ошибкой
{
    "timestamp": null,
    "status": "fail",
    "error": {
        "error_id": "20010",
        "code": 30,
        "text": " Передан некорректный UUID : \"{0}\". Необходимо повторить запрос с корректными
        данными ",
        "type": "system"
    }
}

Тело ответа на запрос регистрации чека

ПолеТипОписание

uuid

string

Уникальный идентификатор. Максимальная длина строки – 128 символов. Если документ не удалось зарегистрировать, документу не будет присвоен UUID.

timestamp

string

Дата и время получения запроса в формате: dd.mm.yy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31».

  • mm – Месяц. Формат MM. Возможные значения от «01» до «12».

  • yy – Год. Формат YY. Допустимое количество символов – два.

  • HH – Часы. Формат HH. Возможные значения от «00» до «24».

  • MM – Минуты. Формат MM. Возможные значения от «00» до «59».

  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».

status

enum (string)

Статус. Возможные значения:

  • fail – ошибка;

  • wait – в обработке.

error

object

См. описание объекта error

Описание объекта error

ПолеТипОписание

code

integer

Код ошибки. Отображается только при ошибке.

error_id

string

Уникальный идентификатор ошибки.

text

string

Текст ошибки (кодировка utf–8).

type

enum (string)

Тип источника ошибки. Возможные значения:

  • system – системная ошибка;

  • unknown – неизвестная ошибка.

Получение результата обработки документа

Описание

Результат регистрации чека на ККТ может быть получен двумя способами:

  • В случае, если в запросе на регистрацию был указан callback_url, сервис по

    результатам обработки чека вернет POST запрос на этот URL.

  • В случае, если callback_url не был указан или запрос не пришел в течение 300 секунд с момента отправки чека, клиент самостоятельно может запросить

    результат обработки чека GET-запросом к сервису.

Пакет с результатом обработки документа одинаков для обоих способов получения.

Запрос

Метод GET

https://fiscalization.evotor.ru/possystem/v5/<group_code>/report/<uuid>

Заголовок запроса должен содержать параметр:

Token: <token>

При технической невозможности передать token в заголовке запроса можно передать параметр в строке запроса.

https://fiscalization.evotor.ru/possystem/v5/<group_code>/report/<uuid>?token=<token>

Параметры заголовка и строки запроса:

  • group_code: идентификатор группы ККТ;

  • uuid: уникальный идентификатор, присвоенный документу после выполнения запроса на регистрацию;

  • token: авторизационный токен.

Пример запроса результата обработки документа
https://fiscalization.evotor.ru/possystem/v5/01-000000002602720/report/0459d6f9-afb6-41ab-860b-11c0544175ea

Ответ на запрос

В ответ возвращается пакет со статусом и реквизитами фискализации или ошибкой.

Пример ответа при успешной фискализации
{
    "uuid": "0459d6f9-afb6-41ab-860b-11c0544175ea",
    "timestamp": "10.08.22 10:00:00",
    "status": "done",
    "error": null,
    "payload": {
        "total": 47500,
        "fiscal_receipt_number": 1,
        "shift_number": 139,
        "receipt_datetime": "08.12.2022 12:20:00",
        "fn_number": "9999078902013061",
        "ecr_registration_number": "0000000000026332",
        "fiscal_document_number": 3763,
        "fiscal_document_attribute": 995410884,
        "fns_site": "www.nalog.ru",
        "ofd_receipt_url": "https://lk.platformaofd.ru/web/noauth/cheque/search?fn=9999078902013061&fp=995410884&i=3763"
    },
    "group_code": "01-000000002602720",
    "daemon_code": "prod–agent–1",
    "device_code": "356645110070952",
    "external_id": "fe743fbc-2ddf-4fba-8681-1eb730af5b59",
    "callback_url": ""
}
Пример ответа с ошибкой
{
    "uuid": "0459d6f9-afb6-41ab-860b-011c0544175e",
    "timestamp": null,
    "status": "fail",
    "error": {
        "text": "Передан некорректный UUID : '0459d6f9-afb6-41ab-860b-011c0544175e'. Необходимо повторить запрос с корректными данными",
        "type": "system",
        "code": 30,
        "error_id": "20010"
    },
    "payload": null,
    "group_code": null,
    "daemon_code": null,
    "device_code": null,
    "external_id": null,
    "callback_url": null
}

Тело ответа с результатами обработки чека

ПолеТипОписание

uuid

string

Уникальный идентификатор. Максимальная длина строки – 128 символов. Если документ не удалось зарегистрировать, документу не будет присвоен UUID.

timestamp

string

Дата и время документа внешней системы в формате dd.mm.yy HH:MM:SS

  • dd – День месяца. Формат DD. Возможные значения от «01» до «31».

  • mm – Месяц. Формат MM. Возможные значения от «01» до «12».

  • yy – Год. Формат YY. Допустимое количество символов – два.

  • HH – Часы. Формат HH. Возможные значения от «00» до «24».

  • MM – Минуты. Формат MM. Возможные значения от «00» до «59».

  • SS – Секунды. Формат SS. Возможные значения от «00» до «59».

callback_url

string

URL, на который необходимо ответить после обработки документа.

status

enum (string)

Статус. Возможные значения:

  • done – зарегистрирован;

  • fail – ошибка;

  • wait – ожидание.

group_code

string

Идентификатор группы ККТ.

daemon_code

string

Наименование сервера.

device_code

string

Код ККТ.

external_id

string

Идентификатор документа внешней системы, уникальный среди всех документов, отправленных в данную группу ККТ.

error

object

Описание ошибки. См. Описание объекта error

payload

object

Реквизиты фискализации документа.

Описание объекта error

ПолеТипОписание

error_id

string

Уникальный идентификатор ошибки.

code

integer

Код ошибки. Отображается только при ошибке.

text

string

Текст ошибки (кодировка utf–8)

type

enum (string)

Тип источника ошибки. Возможные значения — только system.

Описание объекта payload

ПолеТипОписаниеТег ФФД

shift_number

integer

Номер смены.

1038

receipt_datetime

string

Дата и время документа из ФН.

1012

total

number

Итоговая сумма документа в рублях;

  • целая часть не более 8 знаков;

  • дробная часть не более 2 знаков.

При регистрации в ККТ происходит расчёт фактической суммы: суммирование значений sum позиций.

1020

fn_number

string

Номер ФН.

1041

ecr_registration_number

string

Регистрационный номер ККТ.

1037

fiscal_document_number

integer

Фискальный номер документа.

1040

fiscal_receipt_number

integer

Номер чека в смене

fiscal_document_attribute

integer

Фискальный признак документа.

1077

fns_site

string

Адрес сайта ФНС.

1060

ofd_receipt_url

string

URL для просмотра чека на сайте ОФД. Отображается только для чеков, зарегистрированных с помощью Платформы ОФД

-

Last updated