В документации приведено описание программного интерфейса приложений (API) информационной системы (ИС) «ОФД» (далее - API «ОФД»). API ИС «ОФД» позволяет сторонним (клиентским) приложениям возможность взаимодействовать с данными фискальных документов и отчетности о контрольно-кассовой технике (ККТ). Взаимодействие происходит через отправку HTTP-запросов к серверу и получение ответов в формате JSON, что обеспечивает удобный и структурированный обмен информацией.
Для обеспечения безопасности передаваемых данных используется протокол HTTPS.
Для получения токена авторизации, который будет использоваться для выполнения запросов, пользователю необходимо обратиться в раздел «Настройки» в Личном кабинете клиента.
Далее пользователь переходит на вкладку «Управление передачей данных» и попадает в блок создания заявки на получение доступа к использованию API 2.0.
После успешного заполнения заявки и обработки запроса, сгенерированный ключ появляется на соответствующей вкладке «Ключи доступа к API 2.0».
Созданный ключ доступа будет иметь указания данных о датах создания и последней активности, статусе ключа и значения, которое будет использоваться в запросах API 2.0.
Используемое обозначение параметра ключа доступа в запросах - AuthToken={Code}
В API ИС «ОФД» реализованы необходимые запросы для работы клиентского приложения с фискальными данными и кассами.
В запросах и ответах используется кодировка UTF-8. Ответы выдаются сервером в формате JSON. Код успешного ответа по протоколу HTTP равен 200.
Обобщенный вид ответа с кодом 200:
{
"Status": "Success",
"Data": {
"Prop1": "Val1",
"Prop2": "Val2",
...
"PropN": "ValN"
},
"Elapsed": "чч:мм:сс.ддддддд"
}
Параметр «Status» – это состояние обработки запроса. Параметр имеет значение «Success» (запрос обработан успешно).
Параметр «Data» имеет значение в виде структуры вложенных параметров. Структура вложенных параметров представлена в следующем обобщенном виде, где «Prop1», «Prop2», … «PropN» и «Val1», «Val2», … «ValN» — параметры со значениями в разных видах представления.
Параметр «Elapsed» — время, затраченное ИС на обработку запроса.
Формат времени — представлен в строковом виде «чч:мм:сс.ддддддд» в формате дата-время со следующей структурой:
Если в ответе на запрос код по протоколу HTTP не равен 200, то запрос к API ИС «ОФД» выполнен с ошибкой. Возможные причины:
Обобщенный вид неуспешного ответа:
{
"Status": "Failed",
"Errors": [
"Ошибка 1",
"Ошибка 2",
...
"Ошибка N"
],
"Elapsed": "чч:мм:сс.ддддддд"
}
Параметр «Status» имеет значение «Failed» (обработка запроса не удалась).
Параметр «Errors» представлен в виде одномерного массива с сообщениями об ошибках. В массиве представлены строки, где «Ошибка 1», «Ошибка 2», … «Ошибка N» – перечисление сообщений об ошибках.
Параметр «Elapsed» – время затраченное системой на обработку запроса.
В API ИС «ОФД» вы можете получить информацию о ККТ. Информацию о ККТ вы можете получить по текущему ФН и по архивному ФН. Запрос выполняется методом GET.
Запрос имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkts?FNSerialNumber={FNumber}&KKTSerialNumber={KKTNumber}&KKTRegNumber={KKTRegNumber}&AuthToken={Code}
Параметры, необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ по протоколу HTTP равен коду 200. На запрос возвращается структура данных в формате JSON.
Успешный ответ на запрос:
{
"Status": "Success",
"Data": [
{
"Id": "00000000-0000-0000-0000-000000000000",
"KktRegId": "9304171212297195",
"KktName": "Касса 1",
"SerialNumber": "44444444444443421132",
"ActivationDate": "2017-01-13T12:15:48",
"ContractStartDate": "2017-01-13T12:12:47",
"ContractEndDate": "2018-02-12T12:12:47",
"CreateDate": "2017-01-13T12:09:51",
"FnNumber": "0666666666666660",
"SignDate": "2017-01-14T10:00:00",
"PaymentDate": "2017-01-13T12:15:43",
"CheckDate": "2017-01-13T12:12:47",
"LastDocOnKktDateTime": "2017-02-12T10:12:00",
"LastDocOnOfdDateTimeUtc": "2017-02-12T07:13:10",
"FirstDocumentDate": "2017-01-13T14:15:48",
"FiscalAddress": "https://ofd.ru/",
"FiscalPlace": "https://ofd.ru/",
"Path": "/Мои кассы/Список касс 1/",
"KktModel": "АТОЛ 42ФС",
"FnEndDate": "2019-10-17T12:47:57"
},
...
]
}
Описание параметров ответа представлено в таблице 1.
Таблица 1. Описание параметров ответа на запрос информации о KKT
Параметр | Вид значения | Описание |
---|---|---|
Id | String | Уникальный номер ККТ (кассы) |
KktRegId | String | Регистрационный номер ККТ (кассы) |
KktName | String | Наименование кассы |
SerialNumber | String | Заводской (серийный) номер ККТ (кассы) |
ActivationDate | String | Дата успешной проверки регистрационного номера в ФНС |
ContractStartDate | String | Дата начала действия контракта на получение услуг оператора “OFD.ru” |
ContractEndDate | String | Дата окончания действия контракта на получение услуг оператора “OFD.ru” |
CreateDate | String | Дата регистрации кассы в личном кабинете клиента |
FnNumber | String | Номер фискального накопителя |
SignDate | String | Дата подписания договора |
PaymentDate | String | Дата оплаты услуг ОФД для кассы |
CheckDate | String | Дата подписания КЭП (квалификационной электронной подписью) |
LastDocOnKktDateTime | String | Дата и время последнего документа, сгенерированного кассой (по локальному времени кассы) |
LastDocOnOfdDateTimeUtc | String | Дата и время получения последнего документа кассы в ОФД (по времени оператора “OFD.ru” в UTC) |
FirstDocumentDate | String | Дата и время генерации кассой первого документа |
FiscalAddress | String | Адрес установки кассы |
FiscalPlace | String | Место расчетов |
Path | String | Иерархия расположения кассы в личном кабинете клиента |
KktModel | String | Модель кассы (ККТ) |
FnEndDate | String | Дата и время окончания работы фискального накопителя |
В ответ на запрос к ИС возможна следующая ошибка:
В API ИС «ОФД» вы может сделать запрос списка отчетов по кассе на указанный вами период. Запрос выполняется методом GET.
Запрос имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{KKT}/zreports?dateFrom={Date1}&dateTo={Date2}&AuthToken={Code}
Параметры необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ имеет следующий вид:
{
"Status": "Success",
"Data": [
{
"Id": "fc6562fc-e8b9-4ce2-a7c1-461a02171a98",
"Open_CDateUtc": "2016-07-26T09:28:54",
"Close_CDateUtc": "2016-07-27T15:47:36",
"UserInn": "7802870820",
"KktRegNumber": "111222333",
"FnNumber": "99990789388",
"ShiftNumber": 1,
"Operator": "Администратор",
"Open_DocNumber": 2,
"Open_DocDateTime": "2016-07-26T12:28:00",
"Open_DocRawId": "7e66f625-2cf6-428f-bf98-be37077daf55",
"Close_DocNumber": 9,
"Close_DocDateTime": "2016-07-27T18:47:00",
"Close_DocRawId": "cc3110c0-f1ca-49d1-9d3c-1f880e28957f",
"ShiftDocsCount": 9,
"IncomeSumm": 375420,
"IncomeCashSumm": 0,
"IncomeECashSumm": 0,
"IncomeCount": 5,
"AdvanceSumm": 0,
"CreditSumm": 0,
"ExchangeSumm": 0,
"RefundIncomeSumm": 6360,
"RefundIncomeCashSumm": 0,
"RefundIncomeCount": 1,
"ExpenseSumm": 0,
"ExpenseCount": 0,
"RefundExpenseSumm": 0,
"RefundExpenseCount": 0,
"RefundAdvanceSumm": 0,
"RefundCreditSumm": 0,
"RefundExchangeSumm": 0,
"TaxTotalSumm": 0,
"Tax10Summ": 0,
"Tax18Summ": 0,
"Tax110Summ": 0,
"Tax118Summ": 0,
"TaxNaSumm": 0,
"Tax0Summ": 0
},
...
]
}
Описание параметров ответа представлено в таблице 2.
Таблица 2. Описание параметров ответа на запрос списка отчетов по смене для заданной кассы за период
Параметр | Вид значения | Описание |
---|---|---|
Id | String | Идентификатор смены |
Open_CDateUtc | String | Дата и время отчета об открытии смены (UTC +3) |
Close_CDateUtc | String | Дата и время отчета о закрытии смены (UTC +3) |
UserInn | String | ИНН владельца кассы |
KktRegNumber | String | Регистрационный номер кассы |
FnNumber | String | Номер фискального накопителя, установленного в кассу |
ShiftNumber | Integer | Номер смены по данным кассы |
Operator | String | Фамилия, имя, отчество оператора |
Open_DocNumber | Integer | Фискальный номер документа отчета об открытии смены, присвоенный кассой (уникальный в рамках текущего фискального режима) |
Open_DocDateTime | String | Дата и время формирования отчета об открытии смены по данным кассы |
Open_DocRawId | String | Идентификатор документа отчета об открытии смены, полученного от кассы |
Close_DocNumber | Integer | Фискальный номер документа отчета о закрытии смены, присвоенный кассой (уникальный в рамках текущего фискального режима) |
Close_DocDateTime | String | Дата и время формирования отчета о закрытии смены по данным кассы |
Close_DocRawId | String | Идентификатор документа отчета о закрытии смены, полученного от кассы |
ShiftDocsCount | Integer | Общее количество документов за смену |
IncomeSumm | Integer | Сумма полученных денежных средств за смену в копейках |
IncomeCashSumm | Integer | Сумма полученных денежных средств за смену наличными в копейках |
IncomeECashSumm | Integer | Сумма полученных денежных средств за смену безналичными в копейках |
IncomeCount | Integer | Количество выданных за смену чеков, соответствующих получению суммы IncomeSumm |
AdvanceSumm | Integer | Сумма полученных денежных средств авансом в копейках |
CreditSumm | Integer | Сумма полученных денежных средств кредита в копейках |
ExchangeSumm | Integer | Сумма полученных денежных средств обмена в копейках |
RefundIncomeSumm | Integer | Сумма выданных (возвращенных) денежных средств за смену в копейках |
RefundIncomeCashSumm | Integer | Сумма выданных (возвращенных) денежных средств за смену наличными в копейках |
RefundIncomeCount | Integer | Количество чеков, выданных за смену, соответствующих возврату суммы RefundIncomeSumm |
ExpenseSumm | Integer | Сумма расхода за смену |
ExpenseCount | Integer | Количество чеков расхода за смену |
RefundExpenseSumm | Integer | Сумма возвратов расхода за смену |
RefundExpenseCount | Integer | Количество чеков возврата прихода за смену |
RefundAdvanceSumm | Integer | Сумма возврата аванса |
RefundCreditSumm | Integer | Сумма возврата кредита |
RefundExchangeSumm | Integer | Сумма возврата обмена |
TaxTotalSumm | Integer | Общая сумма удерживаемых налогов, начисленная за смену в копейках |
Tax10Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10%, начисленная за смену в копейках |
Tax18Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20%, начисленная за смену в копейках |
Tax110Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10/110, начисленная за смену в копейках |
Tax118Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20/120, начисленная за смену в копейках |
TaxNaSumm | Integer | Сумма по операциям, не облагаемая НДС, накопленная за смену в копейках |
Tax0Summ | Integer | Сумма по операциям, облагаемая НДС по ставке 0%, накопленная за смену в копейках |
В ответ на запрос к ИС возможны следующие ошибки:
Запрос на получение списка отчетов по смене для всех ККТ за период выполняется методом GET.
Запрос имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/zreports?dateFrom={Date1}&dateTo={Date2}&AuthToken={Code}
Параметры, необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Пример успешного ответа и описание параметров ответа представлено в разделе 2.2.
В ответ на запрос к ИС возможны следующие ошибки:
Внимание! В ответе на запрос возвращается информация по сменам для всех ККТ только по текущему ФН.
Запрос на получение списка чеков за период по заданной кассе выполняется методом GET.
Запрос имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{KKT}/receipts?dateFrom={Date1}&dateTo={Date2}&AuthToken={Code}
Параметры, необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ имеет следующий вид:
{
"Status": "Success",
"Data": [
{
"Id": "3a6e3b83-a0b0-4587-bfb3-1b7539b05cf3",
"CDateUtc": "2016-07-26T09:32:41",
"Tag": 0,
"IsBso": false,
"IsCorrection": false,
"OperationType": "Income",
"UserInn": "7802870820",
"KktRegNumber": "111222333",
"FnNumber": "99990789388",
"DocNumber": 3,
"DocDateTime": "2016-07-26T12:32:00",
"DocShiftNumber": 1,
"ReceiptNumber": 1,
"DocRawId": "3a6e3b83-a0b0-4587-bfb3-1b7539b05cf3",
"TotalSumm": 0,
"CashSumm": 0,
"ECashSumm": 0,
"PrepaidSumm": 0,
"CreditSumm": 0,
"ProvisionSumm": 0,
"TaxTotalSumm": 0,
"Tax10Summ": 0,
"Tax18Summ": 0,
"Tax110Summ": 0,
"Tax118Summ": 0,
"Tax0Summ": 0,
"TaxNaSumm": 0,
"Depth": 3
},
...
]
}
Описание параметров ответа представлено в таблице 3.
Таблица 3. Описание параметров ответа на запрос списка чеков за период по заданной кассе
Параметр | Вид значения | Описание |
---|---|---|
Id | String | Уникальный номер фискального документа в ИС используется в запросе подробной информации по чеку, как RawId |
CDateUtc | String | Дата и время приема документа в ИС (UTC +3) |
Tag | Integer | Численный признак вида документа: |
3 – чек; | ||
31 – чек коррекции; | ||
4 – бланк строгой отчетности; | ||
41 – бланк строгой отчетности коррекции | ||
IsBso | Boolean | Имеет значение true, если документ является БСО, иначе (если документ является чеком) – false |
IsCorrection | Boolean | Имеет значение true, если чек или бланк строгой отчетности (БСО) является документом коррекции, иначе – false |
OperationType | String | Тип операции: |
«Income» – приход; | ||
«Expense» – расход; | ||
«RefundIncome» – возврат прихода; | ||
«RefundExpense» – возврат расхода. | ||
UserInn | String | ИНН владельца кассы |
KktRegNumber | String | Регистрационный номер кассы |
FnNumber | String | Номер фискального накопителя, установленного в кассу |
DocNumber | Integer | Фискальный номер документа |
DocDateTime | String | Дата и время формирования документа по данным кассы |
DocShiftNumber | Integer | Номер смены (по данным кассы), в которую был сформирован документ |
ReceiptNumber | Integer | Номер документа в смене (по данным кассы) |
DocRawId | String | Уникальный номер фискального документа в ИС, (используется в запросе подробной информации по чеку, как RawId, дублирует поле Id) |
TotalSumm | Integer | Общая сумма по чеку в копейках |
CashSumm | Integer | Сумма по чеку (БСО) наличными в копейках |
ECashSumm | Integer | Сумма по чеку (БСО) электронными в копейках |
PrepaidSumm | Integer | Сумма по чеку (БСО) предоплатой (авансами) |
CreditSumm | Integer | Сумма по чеку (БСО) постоплатами (кредитами) |
ProvisionSumm | Integer | Сумма по чеку (БСО) встречными предоставлениями |
TaxTotalSumm | Integer | Общая сумма удерживаемых налогов, начисленная за смену в копейках |
Tax10Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10%, начисленная за смену в копейках |
Tax18Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20%, начисленная за смену в копейках |
Tax110Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10/110, начисленная за смену в копейках |
Tax118Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20/120, начисленная за смену в копейках |
TaxNaSumm | Integer | Сумма по операциям, не облагаемая НДС, накопленная за смену в копейках |
Tax0Summ | Integer | Сумма по операциям, облагаемая НДС по ставке 0%, накопленная за смену в копейках |
Depth | Integer | Количество товарных позиций в чеке |
В ответе на запрос к ИС возможны следующие сообщения об ошибке:
Запрос на получение списка за смену по заданной кассе выполняется методом GET.
Запрос имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{KKT}/receipts?ShiftNumber={Shift}&FnNumber={Fn}&AuthToken={Code}
Здесь:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Пример успешного ответа приведен в разделе 2.4. Описание параметров ответа представлено в Таблице 3, описание возможных ошибок приведено в разделе 2.4.
Запрос на получение подробной информации по конкретному чеку может быть выполнен двумя способами:
Запрос выполняется методом GET
Запрос по уникальному номеру фискального документа имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{KKT}/receipt/{RawId}?AuthToken={Code}
Запрос по порядковому номеру смены и номеру документа в смене имеет вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{KKT}/zreport/{ShiftNumber}/receipt/{DocShiftNumber}?AuthToken={Code}
Необходимые параметры для запросов:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ имеет следующий вид:
{
"Status": "Success",
"Data": {
"Tag": 3,
"User": "ООО МКАС СПб",
"UserInn": "7802870820 ",
"Number": 1,
"DateTime": "2016-07-26T12:32:00",
"ShiftNumber": 1,
"OperationType": 1,
"TaxationType": 1,
"Operator": "Администратор",
"KKT_RegNumber": "111222333",
"FN_FactoryNumber": "99990789388",
"Items": [
{
"Name": "Услуги",
"Price": 599000,
"Quantity": 12,
"Total": 599000,
"CalculationMethod": 4,
"SubjectType": 1,
"NDS_Rate": 1,
"NDS_Summ": 99833,
"Nds00_TotalSumm": 0
}
],
"Buyer_Address": "",
"Nds18_TotalSumm": 99833,
"Amount_Total": 599000,
"Amount_Cash": 0,
"Amount_ECash": 599000,
"Document_Number": 3,
"FiscalSign": "MQTLUGn8",
"DecimalFiscalSign": "3393623696",
"KKT_MachineNumber": "1",
"InternetSign": 1,
"Extra": [
{
"Name": "Name",
"Value": "Value"
},
{
"Name": "Name",
"Value": "Value"
}
],
"Format_Version": 2,
"Amount_Advance": 0,
"Amount_Loan": 0,
"Amount_Granting": 0
}
}
Описания параметров структуры бланка строгой отчетности представлены в таблице 4.
Таблица 4. Описание параметров бланка строгой отчетности
Параметр | Вложенный параметр | Вид значения | Описание | Тег |
---|---|---|---|---|
Tag | Integer | Численный признак вида документа: | ||
3 – чек; | ||||
4 – бланк строгой отчетности | ||||
User | String | Полное имя или наименование владельца кассы | 1048 | |
UserInn | String | ИНН владельца кассы | 1018 | |
Number | Integer | Номер документа внутри смены | 1042 | |
DateTime | String | Дата и время формирования документа (чека) | 1012 | |
ShiftNumber | Integer | Номер смены (по данным кассы), в которую был сформирован документ | 1038 | |
OperationType | Integer | Тип операции: | 1054 | |
«1» – приход; | ||||
«2» – возврат прихода; | ||||
«3» – расход; | ||||
«4» – возврат расхода. | ||||
TaxationType | Integer | Внимание! Возможные (корректные) значения типа налогообложения ограничиваются значениями, выбранными при регистрации кассы. Чтобы изменить список допустимых типов налогообложения, необходимо выполнить перерегистрацию кассы. Тип налогообложения: | 1055 | |
«1» — общая система налогообложения; | ||||
«2» — упрощенная система налогообложения (доход); | ||||
«4» — упрощенная система налогообложения (доход минус расход); | ||||
«8» — единый налог на вмененный доход; | ||||
«16» — единый сельскохозяйственный налог; | ||||
«32» — патентная система налогообложения. | ||||
Operator | String | Должность, фамилия, имя, отчество (фамилия и инициалы) оператора | 1021 | |
KKT_RegNumber | String | Регистрационный номера кассы | 1037 | |
FN_FactoryNumber | String | Номер фискального накопителя, установленного в кассу | 1041 | |
Items | Array | Список товарных позиций в чеке | 1059 | |
Object | ||||
Name | String | Наименование товарной позиции в чеке | 1030 | |
Price | Integer | Цена в копейках за единицу измерения товарной позиции | 1079 | |
Quantity | Float | Количество единиц товарной позиции | 1023 | |
Total | Integer | Стоимость товарной позиции в копейках | 1043 | |
CalculationMethod | Integer | Признак способа расчета. Может принимать следующие значения | 1214 | |
1 – предоплата 100%; | ||||
2 – предоплата; | ||||
3 – аванс; | ||||
4 – полный расчет; | ||||
5 – частичный расчет; | ||||
6 – передача в кредит; | ||||
7 – оплата в кредит. | ||||
SubjectType | Integer | Признак предмета расчета. Возможные значения представлены в разделе 2.6.1 | 1212 | |
NDS_Rate | Integer | Ставка НДС принимает значения: | ||
1 - НДС 20%; | ||||
2 - НДС 10%; | ||||
3 - НДС 20/120; | ||||
4 - НДС 10/110; | ||||
5 - НДС 0%; | ||||
6 - НДС не облагается. | ||||
NDS_Summ | Integer | Общая сумма НДС в копейках | ||
UnitOfMeasure | String | Единица измерения предмета расчета | 1197 | |
OriginCountryCode | String | Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира | 1230 | |
CustomDeclarationNumber | String | Номер таможенной декларации в соответствии с форматом, установленным решением Комиссии Таможенного союза от 20.05.2010 N 257 (в ред. 17.12.2019 N 223) «О форме декларации на товары и порядке ее заполнения» | 1231 | |
ProductCheckResultDetails | Integer | Результаты проверки товара с обязательной маркировкой. Параметр может принимать следующие значения: | 2106 | |
0 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен | ||||
1 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен | ||||
3 - [М] Проверка КП КМ выполнена с положительным результатом, статус товара ОИСМ не проверен | ||||
16 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
17 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
19 - [М] Проверка КП КМ выполнена в ФН с положительным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
5 - [М-] Проверка КП КМ выполнена с отрицательным результатом, статус товара у ОИСМ некорректен | ||||
7 - [М-] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ некорректен | ||||
15 - [М+] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ корректен | ||||
Nds18_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 20% в копейках | 1102 | |
Nds10_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 10% в копейках | 1103 | |
Nds00_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 0% в копейках | 1104 | |
NdsNA_TotalSumm | Integer | Сумма, к которой не применяется НДС в копейках | 1105 | |
Nds18_CalculatedTotalSumm | Integer | Сумма НДС чека с рассчитанной ставкой 20% | 1106 | |
Nds10_CalculatedTotalSumm | Integer | Сумма НДС чека с рассчитанной ставкой 10% | 1107 | |
ProductNomenclature | Array | Код товарной номенклатуры | 1162 | |
NDS_PieceSumm | Integer | Размер НДС за единицу предмета расчета | 1198 | |
ProductAdditionalRequisite | String | Дополнительный реквизит предмета расчета | 1191 | |
RetailPlaceAddress | String | Адрес расчётов | 1009 | |
Buyer_Address | String | Адрес покупателя (используется службами доставки) | 1008 | |
Sender_Address | String | Адрес электронной почты отправителя чека | 1117 | |
PaymentAgent_Phone | String | Телефон оператора по приему платежей | 1074 | |
MoneyOperator_Phone | String | Телефон оператора по переводу денежных средств | 1075 | |
BankAgent_Phone | String | Телефон платёжного агента | 1073 | |
BankAgent_Operation | String | Операция платёжного агента | 1044 | |
MoneyOperator_Name | String | Наименование оператора по переводу денежных средств | 1026 | |
MoneyOperator_Address | String | Адрес оператора по переводу денежных средств | 1005 | |
MoneyOperator_INN | String | ИНН оператора по переводу денежных средств | 1016 | |
Amount_Total | Integer | Общая сумма по чеку в копейках | 1020 | |
Amount_Cash | Integer | Сумма наличными по чеку в копейках | 1031 | |
Amount_ECash | Integer | Сумма, оплаченная картой в копейках | 1081 | |
Document_Number | Integer | Фискальный номер документа | 1040 | |
FiscalSign | String | Фискальный признак документа | 1077 | |
DecimalFiscalSign | String | Фискальный признак документа | ||
KKT_MachineNumber | String | Заводской номер автоматического устройства для расчетов | 1036 | |
InternetSign | Integer | Признак осуществления расчетов только в сети «Интернет», в которой отсутствует устройство для печати фискальных документов в составе ККТ | 1108 | |
Extra | Array | Дополнительный реквизит пользователя по чеку | 1084 | |
Object | ||||
Name | String | Наименование дополнительного реквизита по чеку | 1085 | |
Value | String | Значение дополнительного реквизита по чеку | 1086 | |
Format_Version | Integer | Номер версии формата фискальных документов | 1209 | |
Amount_Advance | Integer | Сумма предоплаты (зачет аванса) | 1215 | |
Amount_Loan | Integer | Сумма постоплаты (кредита) | 1216 | |
Amount_Granting | Integer | Сумма встречным предоставлением | 1217 | |
TaxAuthority_Site | String | Сайт налогового органа (Адрес сайта ФНС) | 1060 | |
Calculation_Place | String | Место расчетов | 1187 | |
Supplier_Phone | String | Телефон поставщика | 1171 | |
Operator_INN | String | ИНН кассира | 1203 | |
PaymentAgentMode | String | Применение платежными агентами (субагентами) | 1057 | |
ReceiptAdditionalRequisite | String | Дополнительный реквизит чека (БСО) | 1192 | |
ProductCheckResult | Integer | Результаты проверки маркированных товаров | 2107 | |
ProductUnitOfMeasure | Integer | Единицы измерения количества предмета расчета. Параметр может принимать значения, описанные в разделе 2.6.2 | 2108 | |
ProductCode | Object | Код маркировки. Параметр может иметь в составе один из параметров, описанных в таблице 6 со значением кода маркировки |
Таблица 5. Описание параметров чека коррекции
Параметр | Вложенный параметр | Вид значения | Описание | Тег |
---|---|---|---|---|
Tag | Integer | Численный признак вида документа: | ||
31 – чек коррекции; | ||||
41 – бланк строгой отчетности коррекции | ||||
User | String | Полное имя или наименование владельца кассы | 1048 | |
UserInn | String | ИНН владельца кассы | 1018 | |
Number | Integer | Номер документа внутри смены | 1042 | |
DateTime | String | Дата и время формирования документа (чека) | 1012 | |
ShiftNumber | Integer | Номер смены (по данным кассы), в которую был сформирован документ | 1038 | |
OperationType | String | Тип операции: | 1054 | |
«Income» – приход; | ||||
«Expence» – расход; | ||||
«RefundIncome» – возврат прихода; | ||||
«RefundExpence» – возврат расхода. | ||||
TaxationType | Integer | Внимание! Возможные (корректные) значения типа налогообложения ограничиваются значениями, выбранными при регистрации кассы. Чтобы изменить список допустимых типов налогообложения, необходимо выполнить перерегистрацию кассы. Тип налогообложения: | 1055 | |
«1» — общая система налогообложения; | ||||
«2» — упрощенная система налогообложения (доход); | ||||
«4» — упрощенная система налогообложения (доход минус расход); | ||||
«8» — единый налог на вмененный доход; | ||||
«16» — единый сельскохозяйственный налог; | ||||
«32» — патентная система налогообложения. | ||||
Operator | String | Должность, фамилия, имя, отчество (фамилия и инициалы) оператора | 1021 | |
KKT_RegNumber | String | Регистрационный номера кассы | 1037 | |
FN_FactoryNumber | String | Номер фискального накопителя, установленного в кассу | 1041 | |
Correction_Type | Integer | Тип коррекции принимает значения: | 1173 | |
0 - самостоятельно; | ||||
1 - по предписанию | ||||
Correction | Object | Основание для коррекции | 1174 | |
Date | String | Дата документа основания для коррекции | 1178 | |
DocNumber | String | Номер документа основания для коррекции | 1179 | |
Items | Array | Список товарных позиций в чеке | 1059 | |
Object | ||||
Name | String | Наименование товарной позиции в чеке | 1030 | |
Price | Integer | Цена в копейках за единицу измерения товарной позиции | 1079 | |
Quantity | Float | Количество единиц товарной позиции | 1023 | |
Total | Integer | Стоимость товарной позиции в копейках | 1043 | |
CalculationMethod | Integer | Признак способа расчета. Может принимать следующие значения | 1214 | |
1 – предоплата 100%; | ||||
2 – предоплата; | ||||
3 – аванс; | ||||
4 – полный расчет; | ||||
5 – частичный расчет; | ||||
6 – передача в кредит; | ||||
7 – оплата в кредит. | ||||
SubjectType | Integer | Признак предмета расчета. Возможные значения представлены в разделе 2.6.1 | 1212 | |
NDS_Rate | Integer | Ставка НДС принимает значения: | ||
1 - НДС 20%; | ||||
2 - НДС 10%; | ||||
3 - НДС 20/120; | ||||
4 - НДС 10/110; | ||||
5 - НДС 0%; | ||||
6 - НДС не облагается. | ||||
NDS_Summ | Integer | Общая сумма НДС в копейках | ||
UnitOfMeasure | String | Единица измерения предмета расчета | 1197 | |
OriginCountryCode | String | Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира | 1230 | |
CustomDeclarationNumber | String | Номер таможенной декларации в соответствии с форматом, установленным решением Комиссии Таможенного союза от 20.05.2010 N 257 (в ред. 17.12.2019 N 223) «О форме декларации на товары и порядке ее заполнения» | 1231 | |
ProductCheckResultDetails | Integer | Результаты проверки товара с обязательной маркировкой. Параметр может принимать следующие значения: | 2106 | |
0 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен | ||||
1 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен | ||||
3 - [М] Проверка КП КМ выполнена с положительным результатом, статус товара ОИСМ не проверен | ||||
16 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
17 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
19 - [М] Проверка КП КМ выполнена в ФН с положительным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | ||||
5 - [М-] Проверка КП КМ выполнена с отрицательным результатом, статус товара у ОИСМ некорректен | ||||
7 - [М-] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ некорректен | ||||
15 - [М+] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ корректен | ||||
Nds18_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 20% в копейках | 1102 | |
Nds10_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 10% в копейках | 1103 | |
Nds00_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 0% в копейках | 1104 | |
NdsNA_TotalSumm | Integer | Сумма, к которой не применяется НДС в копейках | 1105 | |
Nds18_CalculatedTotalSumm | Integer | Сумма НДС чека с рассчитанной ставкой 20% | 1106 | |
Nds10_CalculatedTotalSumm | Integer | Сумма НДС чека с рассчитанной ставкой 10% | 1107 | |
ProductNomenclature | Array | Код товарной номенклатуры | 1162 | |
NDS_PieceSumm | Integer | Размер НДС за единицу предмета расчета | 1198 | |
ProductAdditionalRequisite | String | Дополнительный реквизит предмета расчета | 1191 | |
RetailPlaceAddress | String | Адрес расчётов | 1009 | |
Buyer_Address | String | Адрес покупателя (используется службами доставки) | 1008 | |
Sender_Address | String | Адрес электронной почты отправителя чека | 1117 | |
PaymentAgent_Phone | String | Телефон оператора по приему платежей | 1074 | |
MoneyOperator_Phone | String | Телефон оператора по переводу денежных средств | 1075 | |
BankAgent_Phone | String | Телефон платёжного агента | 1073 | |
BankAgent_Operation | String | Операция платёжного агента | 1044 | |
MoneyOperator_Name | String | Наименование оператора по переводу денежных средств | 1026 | |
MoneyOperator_Address | String | Адрес оператора по переводу денежных средств | 1005 | |
MoneyOperator_INN | String | ИНН оператора по переводу денежных средств | 1016 | |
Amount_Total | Integer | Общая сумма по чеку в копейках | 1020 | |
Amount_Cash | Integer | Сумма наличными по чеку в копейках | 1031 | |
Amount_ECash | Integer | Сумма, оплаченная картой в копейках | 1081 | |
Document_Number | Integer | Фискальный номер документа | 1040 | |
FiscalSign | String | Фискальный признак документа | 1077 | |
DecimalFiscalSign | String | Фискальный признак документа | ||
KKT_MachineNumber | String | Заводской номер автоматического устройства для расчетов | 1036 | |
InternetSign | Integer | Признак осуществления расчетов только в сети «Интернет», в которой отсутствует устройство для печати фискальных документов в составе ККТ | 1108 | |
Extra | Array | Дополнительный реквизит пользователя по чеку | 1084 | |
Object | ||||
Name | String | Наименование дополнительного реквизита по чеку | 1085 | |
Value | String | Значение дополнительного реквизита по чеку | 1086 | |
Format_Version | Integer | Номер версии формата фискальных документов | 1209 | |
Amount_Advance | Integer | Сумма предоплаты (зачет аванса) | 1215 | |
Amount_Loan | Integer | Сумма постоплаты (кредита) | 1216 | |
Amount_Granting | Integer | Сумма встречным предоставлением | 1217 | |
TaxAuthority_Site | String | Сайт налогового органа (Адрес сайта ФНС) | 1060 | |
Calculation_Place | String | Место расчетов | 1187 | |
Supplier_Phone | String | Телефон поставщика | 1171 | |
Operator_INN | String | ИНН кассира | 1203 | |
PaymentAgentMode | String | Применение платежными агентами (субагентами) | 1057 | |
ReceiptAdditionalRequisite | String | дополнительный реквизит чека (БСО) | 1192 | |
ProductCheckResult | Integer | Результаты проверки маркированных товаров | 2107 | |
ProductUnitOfMeasure | Integer | Единицы измерения количества предмета расчета. Параметр может принимать значения, описанные в разделе 2.6.2 | 2108 | |
ProductCode | Object | Код маркировки. Параметр может иметь в составе один из параметров, описанных в таблице 6 со значением кода маркировки |
Таблица 6. Возможные значения параметра «ProductCode» (Тег 1163)
Параметр | Вид значения | Описание | Тег |
---|---|---|---|
Code_EAN_8 | String | Код товара в формате EAN-8 | 1301 |
Code_EAN_13 | String | Код товара в формате EAN-13 | 1302 |
Code_ITF_14 | String | Код товара в формате ITF-14 | 1303 |
Code_GS_1 | String | Код товара в формате GS1, нанесенный на товар, не подлежащий маркировке средствами идентификации | 1304 |
Code_GS_1M | String | Код товара в формате GS1, нанесенный на товар, подлежащий маркировке средствами идентификации | 1305 |
Code_KMK | String | Код товара в формате короткого кода маркировки, нанесенный на товар, подлежащий маркировке средствами идентификации | 1306 |
Code_MI | String | Контрольно-идентификационный знак мехового изделия | 1307 |
Code_F_1 | String | Код товара в формате Ф.1 | 1320 |
Code_F_6 | String | Код товара в формате Ф.6 | 1325 |
Ошибки в ответе на запрос, обрабатываемые ИС:
Параметр «ProductUnitOfMeasure» может принимать следующие значения:
Запрос на просмотр электронного чека выполняется методом GET
Запрос имеет следующий вид:
GET https://ofd.ru/rec/{inn}/{kktregnumber}/{fnnumber}/{docnumber}/{decsign}
В таблице 7 приведен список параметров необходимых для запроса просмотра электронного чека.
Таблица 7. Параметры запроса на просмотр электронного чека
Параметр | Описание | Тег |
---|---|---|
inn | ИНН владельца кассы | 1018 |
kktregnumber | Регистрационный номер ККТ | 1037 |
fnnumber | Номер фискального накопителя | 1041 |
docnumber | Номер фискального документа | 1040 |
decsign | Фискальный признак документа | 1077 |
Успешным ответом на запрос является загрузка страницы в браузере с электронным чеком.
Запрос на получение списка чеков по кассам клиента с подробной информацией по чеку имеет следующий вид:
GET https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{RNM}/receipts-with-fpd-short?dateFrom={Data1}&dateTo={Data2}&AuthToken={Code}
Необходимые параметры для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Запрос на получение списка чеков по кассам можно получить за период не более 90 дней, количество касс для получения списка чеков не ограничено.
Список чеков выводится в произвольном порядке.
Успешный ответ на запрос:
{
"Status":"Success",
"Data":[
{
"Id":"XXXXXXXXXXXXXXXXXXXXX",
"CDateUtc": "2020-10-01T02:29:12",
"Tag": 3,
"IsBso": false,
"IsCorrection":false,
"OperationType": "Income",
"UserInn": "XXXXXXXXXXXXXXXXXXXXX",
"KKT_MachineNumber": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"KktRegNumber": "XXXXXXXXXXXXXXXXXXXXX",
"FnNumber": "XXXXXXXXXXXXXXXXXXXXX",
"DocNumber": "XXXXXXXXXXXXXXXXXXXXX",
"DocDateTime": "2020-10-01T09:28:00",
"DocShiftNumber":476,
"DecimalFiscalSign": "XXXXXXXXXXXXXXXXXXXXX",
"ReceiptNumber": "5",
"DocRawId": "XXXXXXXXXXXXXXXXXXXXX",
"Items":[
{
"Name":"двойной эспрессо 80 мл",
"Price":13000,
"Quantity":1,
"Total":13000,
"CalculationMethod":0,
"Barcode":"30303030303030303030303030303030",
"Provider_Inn": "373830353030"
}
],
"Nds00_TotalSumm":0,
"NdsNA_TotalSumm":13000,
"TotalSumm":13000,
"CashSumm":13000,
"ECashSumm":0,
"PrepaidSumm":0,
"CreditSumm":0,
"Extra": [
{
"Name": "Name",
"Value": "Value"
},
{
"Name": "Name",
"Value": "Value"
}
],
"ProvisionSumm":0,
"TaxTotalSumm":0,
"Tax10Summ":0,
"Tax18Summ":0,
"Tax110Summ":0,
"Tax118Summ":0,
"Tax0Summ":0,
"TaxNaSumm":13000,
"Depth":1
},
{
"Id":"XXXXXXXXXXXXXXXXXXXXX",
"CDateUtc":"2020-10-01T04:55:58",
"Tag":3,
"IsBso":false,
"IsCorrection":false,
"OperationType":"Income",
"UserInn":"XXXXXXXXXXXXXXXXXXXXX",
"KktRegNumber":"XXXXXXXXXXXXXXXXXXXXX",
"FnNumber":"XXXXXXXXXXXXXXXXXXXXX",
"DocNumber": XXXXXXXXXXXXXXXXXXXXX,
"DocDateTime":"2020-10-01T11:50:00",
"DocShiftNumber":476,
"DecimalFiscalSign":"XXXXXXXXXXXXXXXXXXXXX",
"ReceiptNumber":"23",
"DocRawId":"0bc0dec5-6b0c-36b5-9bb6-751e99320f82",
"Items":[
{
"Name":"улитка kрем шоколад",
"Price":10000,
"Quantity":1,
"SubjectType":1,
"Total":10000,
"CalculationMethod":0,
"Barcode":"30303030303030303030303030303030"
}
],
"Nds00_TotalSumm":0,
"NdsNA_TotalSumm":10000,
"TotalSumm":10000,
"CashSumm":10000,
"ECashSumm":0,
"PrepaidSumm":0,
"CreditSumm":0,
"ProvisionSumm":0,
"TaxTotalSumm":0,
"Tax10Summ":0,
"Tax18Summ":0,
"Tax110Summ":0,
"Tax118Summ":0,
"Tax0Summ":0,
"TaxNaSumm":10000,
"Depth":1,
"Buyer_Inn": "4402163409"
}
],
"Elapsed":"00:00:00.3506406"
}
Описание параметров ответа представлено в таблице 8.
Таблица 8. Описание параметров ответа на запрос списка чеков по кассе с подробной информацией
Параметр | Вложенный параметр | Вложенный параметр | Вид значения | Описание | Тег |
---|---|---|---|---|---|
Status | String | Статус выполнения запроса. Параметр может принимать следующие значения: | |||
Success - Успешно; | |||||
Failed - Неуспешно. | |||||
Data | Array | Массив данных ответа на запрос | |||
Object | Структура с параметрами ответа на запрос | ||||
Id | String | Уникальный номер фискального документа в ИС, который используется в запросе подробной информации по чеку, как RawId | |||
CDateUtc | String | Дата и время приема документа в ИС (UTC +3) | |||
Tag | Integer | Численный признак вида документа: | |||
3 – чек; | |||||
31 – чек коррекции; | |||||
4 – бланк строгой отчетности; | |||||
41 – бланк строгой отчетности коррекции. | |||||
IsBso | Bollean | Имеет значение true, если документ является БСО, иначе (если документ является чеком) – false | |||
IsCorrection | Bollean | Имеет значение true, если чек или бланк строгой отчетности (БСО) является документом коррекции, иначе – false | |||
OperationType | String | Тип операции: | |||
«Income» – приход; | |||||
«Expense» – расход; | |||||
«RefundIncome» – возврат прихода; | |||||
«RefundExpense» – возврат расхода. | |||||
UserInn | String | ИНН владельца кассы | |||
KKT_MachineNumber | String | Код автомата | 1036 | ||
KktRegNumber | String | Регистрационный номер кассы | |||
FnNumber | String | Номер фискального накопителя, установленного в кассу | |||
DocNumber | Integer | Фискальный номер документа | |||
SubjectType | Integer | Признак предмета расчета. Возможные значения представлены в разделе 2.6.1 | 1212 | ||
DocDateTime | String | Дата и время формирования документа по данным кассы | |||
Operator | String | Имя кассира | |||
DocShiftNumber | Integer | Номер смены (по данным кассы), в которую был сформирован документ | |||
DecimalFiscalSign | String | Фискальный признак документа | |||
ReceiptNumber | Integer | Номер документа в смене (по данным кассы) | |||
DocRawId | String | Уникальный номер фискального документа в ИС, (используется в запросе подробной информации по чеку, как RawId, дублирует поле Id) | |||
Items | Array | Список товарных позиций в чеке | 1059 | ||
Name | String | Наименование товарной позиции в чеке | 1030 | ||
Price | Integer | Цена в копейках за единицу измерения товарной позиции | 1079 | ||
Quantity | Float | Количество единиц товарной позиции | 1023 | ||
Total | Integer | Стоимость товарной позиции в копейках | 1043 | ||
CalculationMethod | Integer | Признак способа расчета. Может принимать следующие значения | 1214 | ||
1 – предоплата 100%; | |||||
2 – предоплата; | |||||
3 – аванс; | |||||
4 – полный расчет; | |||||
5 – частичный расчет; | |||||
6 – передача в кредит; | |||||
7 – оплата в кредит. | |||||
OriginCountryCode | String | Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира | 1230 | ||
CustomDeclarationNumber | String | Номер таможенной декларации в соответствии с форматом, установленным решением Комиссии Таможенного союза от 20.05.2010 N 257 (в ред. 17.12.2019 N 223) «О форме декларации на товары и порядке ее заполнения» | 1231 | ||
Provider_Inn | String | ИНН поставщика | 1226 | ||
Nds00_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 0% в копейках | 1104 | ||
NdsNA_TotalSumm | Integer | Сумма, к которой не применяется НДС в копейках | 1105 | ||
TotalSumm | Integer | Общая сумма по чеку в копейках | |||
CashSumm | Integer | Сумма по чеку (БСО) наличными в копейках | |||
ECashSumm | Integer | Сумма по чеку (БСО) электронными в копейках | |||
PrepaidSumm | Integer | Сумма по чеку (БСО) предоплатами (авансами) | |||
CreditSumm | Integer | Сумма по чеку (БСО) постоплатами (кредитами) | |||
Extra | Array | Дополнительный реквизит пользователя по чеку | 1084 | ||
Object | |||||
Name | String | Наименование дополнительного реквизита по чеку | 1085 | ||
Value | String | Значение дополнительного реквизита по чеку | 1086 | ||
ProvisionSumm | Integer | Сумма по чеку (БСО) встречными предоставлениями | |||
TaxTotalSumm | Integer | Общая сумма удерживаемых налогов, начисленная за смену в копейках | |||
Tax10Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10 % в копейках | 1103 | ||
Tax18Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20 % в копейках | 1102 | ||
Tax110Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10/110 в копейках | 1107 | ||
Tax118Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20/120 в копейках | 1106 | ||
TaxNaSumm | Integer | Сумма по операциям, не облагаемая НДС в копейках | 1105 | ||
Tax0Summ | Integer | Сумма по операциям, облагаемая НДС по ставке 0% в копейках | 1104 | ||
ProductCheckResult | String | Результаты проверки маркированных товаров. Значение выводится в шестнадцатеричной системе счисления. Возможные значения: | 2107 | ||
0 (0) - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен | |||||
1 (1) - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен | |||||
3 (3) - [М] Проверка КП КМ выполнена с положительным результатом, статус товара ОИСМ не проверен | |||||
10 (16) - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
11 (17) - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
13 (19) - [М] Проверка КП КМ выполнена в ФН с положительным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
5 (5) - [М-] Проверка КП КМ выполнена с отрицательным результатом, статус товара у ОИСМ некорректен | |||||
7 (7) - [М-] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ некорректен | |||||
F (15) - [М+] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ корректен | |||||
Depth | Integer | Количество товарных позиций в чеке | |||
Buyer_Inn | String | ИНН покупателя (клиента) | 1228 | ||
FnsStatus | String | Статус передачи чека (БСО) в ФНС | |||
Success - Чек (БСО) принят ФНС | |||||
Failed - Чек (БСО) не принят ФНС | |||||
FnsError | String | Ответ ФНС об отказе принять чек | |||
FnsTime | String | Дата и время получения уведомления от ФНС о получении чека (БСО) |
Запрос на получение списка чеков с кодами маркировки по кассам клиента с подробной информацией по чеку имеет следующий вид:
https://ofd.ru/api/integration/v2/inn/{INN}/kkt/{RNM}/receipts-info?dateFrom={Data1}&dateTo={Data2}&AuthToken={Code}
Необходимые параметры для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Запрос на получение списка чеков по кассам можно получить за период не более 90 дней, количество касс для получения списка чеков не ограничено.
Успешный ответ на запрос:
{
"Status": "Success",
"Data": [
{
"Id": "ee19889a-11b4-428d-83be-3dc9065dc28c",
"CDateUtc": "2022-10-01T11:16:08",
"Tag": 3,
"IsBso": false,
"IsCorrection": false,
"OperationType": "Income",
"UserInn": "2632811590",
"KktRegNumber": "0005956962031875",
"FnNumber": "9960440301019864",
"DocNumber": 8773,
"DocDateTime": "2022-10-01T11:16:00",
"Operator": "Мордасов Евгений Александрович",
"DocShiftNumber": 325,
"DecimalFiscalSign": "1018061843",
"ReceiptNumber": "1",
"DocRawId": "ee19889a-11b4-428d-83be-3dc9065dc28c",
"Items": [
{
"Name": "тм001/019r пропитка б/цветн, thoma|всесезонная|1",
"Price": 59900,
"Quantity": 1,
"Total": 59900,
"CalculationMethod": 4,
"SubjectType": 1,
"ProductCode": {},
"NDS_Rate": 1
},
{
"Name": "234-048a-3102 ботинки женские нат.кожа/м|зима|39",
"Price": 799000,
"Quantity": 1,
"Total": 799000,
"CalculationMethod": 4,
"SubjectType": 33,
"ProductCode": {
"Code_GS_1M": "0104660184311215215osnRMP5'IfoF"
},
"NDS_Rate": 1,
"ProductCheckResultDetails": 15,
"ProductUnitOfMeasure": "0"
},
{
"Name": "нжг-0023тм_o2_р.23-25_бел носк|всесезонная|23/25",
"Price": 16700,
"Quantity": 1,
"Total": 16700,
"CalculationMethod": 4,
"SubjectType": 1,
"ProductCode": {},
"NDS_Rate": 1
},
{
"Name": "нжг-0023тм_o2_р.23-25_бел носк|всесезонная|23/25",
"Price": 16700,
"Quantity": 1,
"Total": 16700,
"CalculationMethod": 4,
"SubjectType": 1,
"ProductCode": {},
"NDS_Rate": 1
},
{
"Name": "нжг-0023тм_o2_р.23-25_черн нос|всесезонная|23/25",
"Price": 16600,
"Quantity": 1,
"Total": 16600,
"CalculationMethod": 4,
"SubjectType": 1,
"ProductCode": {},
"NDS_Rate": 1
},
{
"Name": "sc_40_d_tm носки жен. полиамид-эла|всесезонная|1",
"Price": 15000,
"Quantity": 1,
"Total": 15000,
"CalculationMethod": 4,
"SubjectType": 1,
"ProductCode": {},
"NDS_Rate": 1
}
],
"Nds00_TotalSumm": 0,
"NdsNA_TotalSumm": 0,
"TotalSumm": 923900,
"CashSumm": 0,
"ECashSumm": 923900,
"PrepaidSumm": 0,
"CreditSumm": 0,
"ProvisionSumm": 0,
"TaxTotalSumm": 153983,
"Tax10Summ": 0,
"Tax18Summ": 153983,
"Tax110Summ": 0,
"Tax118Summ": 0,
"Tax0Summ": 0,
"TaxNaSumm": 0,
"Depth": 6,
"FnsStatus": "Success",
"ProductCheckResult": "00"
}
],
"Elapsed": "00:00:00.0982635"
}
Описание параметров ответа представлено в таблице 9.
Таблица 9. Описание параметров ответа на запрос списка чеков по кассе с подробной информацией
Параметр | Вложенный параметр | Вложенный параметр | Вид значения | Описание | Тег |
---|---|---|---|---|---|
Status | String | Статус выполнения запроса. Параметр может принимать следующие значения: | |||
Success - Успешно; | |||||
Failed - Неуспешно. | |||||
Data | Array | Массив данных ответа на запрос | |||
Object | Структура с параметрами ответа на запрос | ||||
Id | String | Уникальный номер фискального документа в ИС, используется в запросе подробной информации по чеку, как RawId | |||
CDateUtc | String | Дата и время приема документа в ИС (UTC +3) | |||
Tag | Integer | Численный признак вида документа: | |||
3 – чек; | |||||
31 – чек коррекции; | |||||
4 – бланк строгой отчетности; | |||||
41 – бланк строгой отчетности коррекции. | |||||
IsBso | Bollean | Имеет значение true, если документ является БСО, иначе (если документ является чеком) – false | |||
IsCorrection | Bollean | Имеет значение true, если чек или бланк строгой отчетности (БСО) является документом коррекции, иначе – false | |||
OperationType | String | Тип операции: | |||
«Income» – приход; | |||||
«Expense» – расход; | |||||
«RefundIncome» – возврат прихода; | |||||
«RefundExpense» – возврат расхода. | |||||
UserInn | String | ИНН владельца кассы | |||
KktRegNumber | String | Регистрационный номер кассы | |||
FnNumber | String | Номер фискального накопителя, установленного в кассу | |||
DocNumber | Integer | Фискальный номер документа | |||
SubjectType | Integer | Признак предмета расчета. Возможные значения представлены в разделе 2.6.1 | 1212 | ||
DocDateTime | String | Дата и время формирования документа по данным кассы | |||
Operator | String | Имя кассира | |||
DocShiftNumber | Integer | Номер смены (по данным кассы), в которую был сформирован документ | |||
DecimalFiscalSign | String | Фискальный признак документа | |||
ReceiptNumber | Integer | Номер документа в смене (по данным кассы) | |||
DocRawId | String | Уникальный номер фискального документа в ИС, (используется в запросе подробной информации по чеку, как RawId, дублирует поле Id) | |||
Items | Array | Список товарных позиций в чеке | 1059 | ||
Name | String | Наименование товарной позиции в чеке | 1030 | ||
Price | Integer | Цена в копейках за единицу измерения товарной позиции | 1079 | ||
Quantity | Float | Количество единиц товарной позиции | 1023 | ||
Total | Integer | Стоимость товарной позиции в копейках | 1043 | ||
CalculationMethod | Integer | Признак способа расчета. Может принимать следующие значения | 1214 | ||
1 – предоплата 100%; | |||||
2 – предоплата; | |||||
3 – аванс; | |||||
4 – полный расчет; | |||||
5 – частичный расчет; | |||||
6 – передача в кредит; | |||||
7 – оплата в кредит. | |||||
OriginCountryCode | String | Цифровой код страны происхождения товара в соответствии с Общероссийским классификатором стран мира | 1230 | ||
CustomDeclarationNumber | String | Номер таможенной декларации в соответствии с форматом, установленным решением Комиссии Таможенного союза от 20.05.2010 N 257 (в ред. 17.12.2019 N 223) «О форме декларации на товары и порядке ее заполнения» | 1231 | ||
Provider_Inn | String | ИНН поставщика | 1226 | ||
ProductCheckResultDetails | Integer | Результаты проверки товара с обязательной маркировкой Параметр может принимать следующие значения: | 2106 | ||
0 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен | |||||
1 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен | |||||
3 - [М] Проверка КП КМ выполнена с положительным результатом, статус товара ОИСМ не проверен | |||||
16 - [М] Проверка КП КМ не выполнена, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
17 - [М-] Проверка КП КМ выполнена в ФН с отрицательным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
19 - [М] Проверка КП КМ выполнена в ФН с положительным результатом, статус товара ОИСМ не проверен (ККТ функционирует в автономном режиме) | |||||
5 - [М-] Проверка КП КМ выполнена с отрицательным результатом, статус товара у ОИСМ некорректен | |||||
7 - [М-] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ некорректен | |||||
15 - [М+] Проверка КП КМ выполнена с положительным результатом, статус товара у ОИСМ корректен | |||||
ProductUnitOfMeasure | Integer | Единицы измерения количества предмета расчета. Параметр может принимать значения описанные в разделе 2.6.2 | 2108 | ||
ProductCode | Object | Код маркировки. Параметр может иметь в составе один из параметров описанных в таблице 10 со значением кода маркировки | |||
Nds00_TotalSumm | Integer | Сумма НДС по предмету расчета со ставкой 0% в копейках | 1104 | ||
NdsNA_TotalSumm | Integer | Сумма, к которой не применяется НДС в копейках | 1105 | ||
TotalSumm | Integer | Общая сумма по чеку в копейках | |||
CashSumm | Integer | Сумма по чеку (БСО) наличными в копейках | |||
ECashSumm | Integer | Сумма по чеку (БСО) электронными в копейках | |||
PrepaidSumm | Integer | Сумма по чеку (БСО) предоплатами (авансами) | |||
CreditSumm | Integer | Сумма по чеку (БСО) постоплатами (кредитами) | |||
ProvisionSumm | Integer | Сумма по чеку (БСО) встречными предоставлениями | |||
TaxTotalSumm | Integer | Общая сумма удерживаемых налогов, начисленная за смену в копейках | |||
Tax10Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10 % в копейках | 1103 | ||
Tax18Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20 % в копейках | 1102 | ||
Tax110Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке 10/110 в копейках | 1107 | ||
Tax118Summ | Integer | Сумма удерживаемого налога на добавленную стоимость (НДС) по ставке в 20/120 в копейках | 1106 | ||
TaxNaSumm | Integer | Сумма по операциям, не облагаемая НДС в копейках | 1105 | ||
Tax0Summ | Integer | Сумма по операциям, облагаемая НДС по ставке 0% в копейках | 1104 | ||
ProductCheckResult | Integer | Результаты проверки маркированных товаров | 2107 | ||
Depth | Integer | Количество товарных позиций в чеке | |||
Buyer_Inn | String | ИНН покупателя (клиента) | 1228 | ||
FnsStatus | String | Статус передачи чека (БСО) в ФНС | |||
Success - Чек (БСО) принят ФНС | |||||
Failed - Чек (БСО) не принят ФНС | |||||
FnsError | String | Ответ ФНС об отказе принять чек | |||
FnsTime | String | Дата и время получения уведомления от ФНС о получении чека (БСО) |
Таблица 10. Возможные значения параметра «ProductCode» (Тег 1163)
Параметр | Вид значения | Описание | Тег |
---|---|---|---|
Code_Undefined | String | Нераспознанный код товара | 1300 |
Code_EAN_8 | String | Код товара в формате EAN-8 | 1301 |
Code_EAN_13 | String | Код товара в формате EAN-13 | 1302 |
Code_ITF_14 | String | Код товара в формате ITF-14 | 1303 |
Code_GS_1 | String | Код товара в формате GS1, нанесенный на товар, не подлежащий маркировке средствами идентификации | 1304 |
Code_GS_1M | String | Код товара в формате GS1, нанесенный на товар, подлежащий маркировке средствами идентификации | 1305 |
Code_KMK | String | Код товара в формате короткого кода маркировки, нанесенный на товар, подлежащий маркировке средствами идентификации | 1306 |
Code_MI | String | Контрольно-идентификационный знак мехового изделия | 1307 |
Code_EGAIS_2 | String | Код маркировки в формате ЕГАИС-2.0 | 1308 |
Code_EGAIS_3 | String | Код маркировки в формате ЕГАИС-3.0 | 1309 |
Code_F_1 | String | Код товара в формате Ф.1 | 1320 |
Code_F_2 | String | Код товара в формате Ф.2 | 1321 |
Code_F_3 | String | Код товара в формате Ф.3 | 1322 |
Code_F_4 | String | Код товара в формате Ф.4 | 1323 |
Code_F_5 | String | Код товара в формате Ф.5 | 1324 |
Code_F_6 | String | Код товара в формате Ф.6 | 1325 |
В API разработаны запросы на получение информации структуры папок с ККТ, а также запросы по кассам с сообщениями об ошибках.
Запрос на получение списка папок с ККТ можно выполнить по следующим параметрам:
Запрос на получения списка папок с ККТ корневого каталога имеет вид:
GET https://ofd.ru/api/integration/v2/kktgroup/list?AuthToken={Code}
Запрос на получения списка папок с ККТ родительского каталога имеет вид:
GET https://ofd.ru/api/integration/v2/kktgroup/list?groupId={Id}&AuthToken={Code}
Необходимые параметры для запросов:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ на запрос имеет следующий вид:
{
"Status": "Success",
"Data": [
{
"AgreementId": "1afff828-7ac1-41aa-8282-210c9ffb3df7",
"Groups": [
{
"Id": "26beff999-d454-44aa-8ada-cdc1rf8942fd",
"Name": "Все кассы",
"Path": "/Все кассы/",
"Level": 1
}
]
}
]
}
Описание параметров ответа на запрос получение списка ККТ представлено в таблице 11.
Таблица 11. Описание параметров ответа на запрос получение списка ККТ
Параметр | Вид значения | Описание |
---|---|---|
AgreementId | String | Идентификатор личного кабинета, для которого генерируется список каталогов |
Groups | Array | Массив записей с информацией о папках, в которых содержатся кассы |
Id | String | Идентификатор папки в ИС «ОФД» |
Name | String | Имя папки |
Path | String | Путь к папке |
Level | Integer | Уровень вложенности папки (1 — для корневого каталога, 2 — для содержимого папки в корневом каталоге, 3 — для содержимого папки в папке корневого каталога и т. п.) |
В ответ на запрос выдается список дочерних папок в следующих условиях:
Запрос на получение списка касс выполняется методом GET.
Запрос на получение списка касс имеет следующий вид:
GET https://ofd.ru/api/integration/v2/kkts?AuthToken={Code}
Code – действующий код авторизации.
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Успешный ответ на запрос имеет следующий вид:
{
"Status": "Success",
"Data": [
{
"Id": "01af8c89-b680-41a8-886d-60e90f784a4b",
"KktRegId": "0001646625010123",
"KktName": "касса наша",
"SerialNumber": "00107203143008",
"FnNumber": "9286000100023892",
"INN": "7841465198",
"GroupId": "c67d87b0-0166-4966-adcc-3be825cf05e6",
"CreateDate": "2018-02-02T14:04:43",
"CheckDate": "2018-02-02T14:09:46",
"ActivationDate": "2018-02-02T14:09:46",
"FirstDocumentDate": "2018-02-07T20:02:00",
"ContractStartDate": "2018-02-02T00:00:00",
"ContractEndDate": "2019-02-15T13:24:00",
"LastDocOnKktDateTime": "2018-02-22T18:06:00",
"LastDocOnOfdDateTimeUtc": "2018-02-22T15:07:15",
"FiscalAddress": "115280 Москва Москва Ленинская Слобода 26А ",
"FiscalPlace": "Москва, Ленинская Слобода, дом 26",
"Path": "/Мои кассы/",
"KktModel": "АТОЛ 90Ф",
"FnEndDate": "2019-05-18T14:31:24"
},
...
{
"Id": "6a417709-e1fa-4133-b45a-1ea8b96820d8",
"KktRegId": "0001846260032153",
"KktName": "",
"SerialNumber": "00107701210362",
"FnNumber": "9286000100009011",
"INN": "7841465198",
"GroupId": "7a2e9b3c-3ef6-43d9-8169-538f97e78f31",
"CreateDate": "2018-05-16T07:58:26",
"CheckDate": "2018-07-06T13:00:34",
"ActivationDate": "2018-07-06T10:15:23",
"FirstDocumentDate": "2018-05-16T10:58:00",
"ContractStartDate": "2018-07-06T00:00:00",
"ContractEndDate": "2019-02-15T13:24:00",
"LastDocOnKktDateTime": "2019-01-31T16:24:00",
"LastDocOnOfdDateTimeUtc": "2019-01-31T13:25:49",
"FiscalAddress": "115280 Москва Москва Ленинская Слобода 19 1 ",
"Path": "/Мои кассы/123/",
"KktModel": "АТОЛ 42ФС",
"FnEndDate": "2019-09-29T10:15:49"
},
...
{
"Id": "b090f949-c46a-4527-9e55-71b6a08dfd3a",
"KktRegId": "0000000010032176",
"SerialNumber": "9968982437",
"FnNumber": "9960440301863751",
"INN": "7841465198",
"GroupId": "b4449693-d81f-487a-a9f2-f62cdafaa6ff",
"CreateDate": "2022-02-25T11:10:09",
"CheckDate": "2022-02-25T11:10:10",
"ActivationDate": "2022-02-25T11:10:10",
"FirstDocumentDate": "2022-02-25T14:10:00",
"ContractStartDate": "2022-02-25T00:00:00",
"ContractEndDate": "2019-02-15T13:24:00",
"LastDocOnKktDateTime": "2022-05-28T03:09:00",
"LastDocOnOfdDateTimeUtc": "2022-05-28T00:09:15",
"FiscalAddress": "Москва, Ленинская Слобода, 19",
"FiscalPlace": "ofd.ru",
"Path": "/Мои кассы/Новые кассы/",
"KktModel": "Не определена",
"FnEndDate": "2023-05-21T11:10:12"
}
],
"Elapsed": "00:00:00.1424993"
}
Описание параметров ответа представлено в таблице 12.
Таблица 12. Описание параметров ответа на запрос списка касс
Параметр | Вложенный параметр | Вид значения | Описание |
---|---|---|---|
Status | String | Статус выполнения запроса. Параметр может принимать следующие значения: | |
Success - Успешно; | |||
Failed - Неуспешно. | |||
Data | Array | Массив данных ответа на запрос | |
Object | Структура с параметрами ответа на запрос | ||
Id | String | Идентификатор кассы | |
KktRegId | String | Регистрационный номер ККТ (кассы) | |
SerialNumber | String | Заводской (серийный) номер ККТ (кассы) | |
FnNumber | String | Номер фискального накопителя | |
INN | String | Идентификационный налоговый номер | |
GroupId | String | Идентификатор группы папок | |
CreateDate | String | Дата регистрации кассы в личном кабинете клиента | |
CheckDate | String | Дата подписания КЭП (квалификационной электронной подписью) | |
ActivationDate | String | Дата успешной проверки регистрационного номера в ФНС | |
FirstDocumentDate | String | Дата и время генерации кассой первого документа | |
ContractStartDate | String | Дата начала действия контракта на получение услуг оператора “OFD.ru” | |
ContractEndDate | String | Дата окончания действия контракта на получение услуг оператора “OFD.ru” | |
LastDocOnKktDateTime | String | Дата и время последнего документа, сгенерированного кассой (по локальному времени кассы) | |
LastDocOnOfdDateTimeUtc | String | Дата и время получения последнего документа кассы в ОФД (по времени оператора “OFD.ru” в UTC) | |
FiscalAddress | String | Адрес установки кассы | |
FiscalPlace | String | Место расчетов | |
Path | String | Иерархия расположения кассы в личном кабинете клиента | |
KktModel | String | Модель кассы (ККТ) | |
FnEndDate | String | Дата и время окончания работы фискального накопителя | |
Elapsed | String | Время выполнения запроса |
В разделе представлены описания методов для управления учетными записями пользователей ЛКК.
Запрос на получение списка учетных записей пользователей ЛКК выполняется методом GET.
Запрос представлен в следующем виде:
GET https://ofd.ru/api/integration/v2/users?Inn={INN}&Kpp={KPP}&AuthToken={Code}
Параметры, необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Пример запроса на получение списка:
GET https://ofd.ru/api/integration/v2/users?Inn=7841465198&Kpp=772501001&AuthToken=cd0e2064a23b423c8c9790f75e6e3254
Пример успешного ответа на запрос:
{
"Data": [
{
"FullName": "111",
"Email": "son.kentavious@thtt.us",
"Phone": "1111111111"
},
{
"FullName": "Греф Герман Оскарович",
"Email": "dfsdfsds@mail.ru"
},
...
{
"FullName": "Jhon Dow",
"Email": "yascher@ofd.ru",
"Phone": "1112223457"
}
],
"Success": true
}
Параметры ответа на запрос представлены в таблице 13.
Таблица 13. Описание параметров ответа на запрос
Параметр | Вложенный параметр | Формат значения | Описание |
---|---|---|---|
Data | Array | Список учетных записей ЛКК | |
Object | |||
FullName | String | Имя пользователя учетной записи | |
String | Электронная почта пользователя учётной записи | ||
Phone | String | Телефон пользователя учётной записи | |
Success | Boolean | Статус выполнения запроса |
Запрос на удаление учетной записи пользователя ЛКК выполняется методом DELETE.
Запрос:
DELETE https://ofd.ru/api/integration/v2/user/delete?Inn={INN}&Kpp={KPP}&Email={email}&AuthToken={Code}
Параметры, необходимые для запроса:
Частота отправки запроса не должна превышать более 1 запроса в секунду.
Пример запроса на удаление учетной записи пользователя ЛКК:
DELETE https://ofd.ru/api/integration/v2/user/delete?Inn=7841465198&Kpp=772501001&Email=efwfw@we.fr&AuthToken=cd0e2064a23b423c8c9790f75e6e3254
Пример успешного ответа на запрос:
{
"Data": true,
"Success": true
}
Описание параметров ответа на запрос:
В разделе представлены описания методов для отображения касс и чеков с ошибками за период.
Запрос на отображение касс с ошибками за период выполняется методом GET.
Важно! Период определяется по дате возникновения ошибки.
Запрос представлен в следующем виде:
GET https://ofd.ru/api/integration/v2/kkts/errors?DateFrom={DateFrom}&DateTo={DateTo}&AuthToken={Code}
Параметры, необходимые для запроса:
Пример запроса:
GET https://ofd.ru/api/integration/v2/kkts/errors?DateFrom=2023-03-20T00:00:00&DateTo=2023-03-20T00:00:00&AuthToken=cd0e2064a23b423c8c9790f75e6e3254
Пример успешного ответа на запрос:
{
"Status":"Success",
"Data":[
{
"RegNumber":"0004727371036889",
"ZnNumber":"9936516799",
"Address":"603127 гор. Нижний Новгород ул. Федосеенко д. 51 каб. 1",
"Service": "Ofd",
"Services": [
"Ofd",
"NoFerma"
],
"RegDate":"2020-09-07T14:58:00",
"LastReceiptDate":"2023-09-06T22:29:00",
"LastShiftOpenDate":"2023-09-06T20:20:00",
"LastShiftCloseDate":"2023-09-06T04:00:00",
"IsEncrypted":true,
"RegState":"Reg",
"Errors":[{
"Code":"420",
"Count":143}],
"LastError":{
"Code":"420",
"Description":"Нарушен формат обязательного реквизита (тега)"}}],
"Elapsed":"00:00:00.1768264"
}
Параметры ответа на запрос представлены в таблице 14.
Таблица 14. Описание параметров ответа на запрос
Параметр | Вложенный параметр | Формат значения | Описание | |
---|---|---|---|---|
Status | String | Статус выполнения запроса. Параметр может принимать следующие значения: Success - Успешно; Failed - Неуспешно. |
||
Data | Object | Структура с параметрами ответа на запрос | ||
RegNumber | String | Регистрационный номер кассы | ||
ZnNumber | String | Заводской номер кассы | ||
Address | String | Адрес установки ККТ | ||
Services | Array [String] | Наличие услуги на кассе. Доступными значениями могут быть: - NoOfd - Не подключено OFD - NoFerma - Не подключена Ferma и другие данные в формате списка строк. - Ofd - Подключено OFD - Ferma - Подключена Ferma и другие данные в формате списка строк. |
||
Service | String | Подключенные услуги на кассе. Параметр имеет определенные условия отображения в ответе на запрос и может принимать следующие значения: - Ofd - имеется показатель количества дней обслуживания (по выбранному тарифному плану) - Ferma - касса является облачной и имеет показатель остатка дней обслуживания и количества чеков Если одно из этих условий не выполняется, то в ответе на запрос параметр Services будет иметь значение NoOfd или NoFerma соответственно |
||
RegDate | DateTime | Дата пробития отчета о регистрации | ||
LastReceiptDate | DateTime | Дата и время последнего чека | ||
LastShiftOpenDate | DateTime | Дата и время открытия последней смены | ||
LastShiftCloseDate | DateTime | Дата и время закрытия последней смены | ||
IsEncrypted | Boolean | Признак шифрования на кассе | ||
RegState | String | Статус регистрации ККТ | ||
Errors | Array | Количество чеков с кодом ошибки | ||
Code | Integer | Код ошибки | ||
Count | Integer | Количество чеков с указанным выше кодом ошибки | ||
LastError | Array | Последняя ошибка на ккт | ||
Code | Integer | Код ошибки | ||
Description | String | Текстовое описание ошибки | ||
Elapsed | String | Время, затраченное системой на обработку запроса |
Запрос на отображение чеков с ошибками по РНМ за период выполняется методом GET.
Важно! Период определяется по дате пробития чека.
Запрос представлен в следующем виде:
GET https://ofd.ru/api/integration/v2/kkt/{rnm}/receipts/errors?DateFrom={DateFrom}&DateTo={DateTo}&AuthToken={Code}
Параметры, необходимые для запроса:
Пример запроса:
GET https://ofd.ru/api/integration/v2/kkt/0004727371036889/receipts/errors?DateFrom=2023-03-20T00:00:00&DateTo=2023-03-20T00:00:00&AuthToken=cd0e2064a23b423c8c9790f75e6e3254
Пример успешного ответа на запрос:
{
"Status":"Success",
"Data":[
{
"FnNumber":"9287440300720244",
"DocNumber":"124300",
"RecType":"1",
"DocDate":"2023-03-20T20:01:00",
"OfdDate":"2023-03-20T20:43:32",
"Errors":[
{
"Code":"420",
"Name":"Нарушен формат обязательного реквизита (тега) nds18",
"Description":"Отсутствует обязательный реквизит НДС "сумма НДС чека по расч. ставке 20/\120": 1106, возможно:\n1. Ошибка приёма на стороне ФНС.\n2. Ошибка возникает в ККТ с текущей версией прошивки.",
"Solution":"1. На данный фискальный документ нужно отправить чек коррекции. "}],
"Elapsed":"00:00:00.1768264"
}
Параметры ответа на запрос представлены в таблице 15.
Таблица 15. Описание параметров ответа на запрос
Параметр | Вложенный параметр | Формат значения | Описание | |
---|---|---|---|---|
Status | String | Статус выполнения запроса. Параметр может принимать следующие значения: Success - Успешно; Failed - Неуспешно. |
||
Data | Object | Структура с параметрами ответа на запрос |
||
FnNumber | String | Номер фискального накопителя |
||
DocNumber | String | Номер чека |
||
RecType | String | Тип чека |
||
DocDate | DateTime | Дата и время пробития чека |
||
OfdDate | DateTime | Дата и время получения чека (ФД ОФД) |
||
Errors | Object | Указание обнаруженных ошибок |
||
Code | Integer | Код ошибки |
||
Name | String | Название ошибки |
||
Description | String | Описание ошибки |
||
Solution | String | Решение ошибки |
||
Elapsed | String | Время, затраченное системой на обработку запроса |
В разделе представлено описание тестового контура ИС «ОФД». В тестировании используется демонстрационный личный кабинет клиента (ЛКК) и кассовый аппарат с установленным тестовым фискальным накопителем ФН МГМ.
Для настройки своих сервисов и проверки работы с контурами OFD.ru вам необходимо создать демо кабинет.
Подключение к демо стенду OFD.ru осуществляется для касс с тестовым фискальным накопителем, который не зарегистрирован в ФНС.
Чтобы подключить тестовую кассу к демо стенду OFD.ru, в настройках драйвера кассы необходимо ввести следующие параметры:
Тестовые URL-адреса для работы с API ИС «ОФД»:
https://lk-demo.ofd.ru/api/
https://demo.ofd.ru/api/integration
Запрос на генерацию пользовательского отчета (на заказ отчета) имеет вид:
POST https://ofd.ru/api/customer/reports?AuthToken=Code1
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Параметры запроса передаются списком в формате запросов команды POST. Параметры запроса приведены в таблице 16.
Таблица 16. Параметры запроса на генерацию пользовательского отчета
Параметр | Тип данных | Описание |
---|---|---|
DateFrom | Дата и время в формате ISO | Начальная дата периода генерации отчета |
DateTo | Дата и время в формате ISO | Конечная дата периода генерации отчета |
KktList | Массив | Список касс, по которым генерируется отчет |
GroupsList | Массив | Список папок с записями ККТ, по которым генерируется отчет (учитывается содержимое всех вложенных папок) |
SelectAllKkts | Логическая переменная | Признак выбора для генерации отчета всех ККТ текущего ЛКК |
CustomReportId | Строка в формате UUID | Идентификатор пользовательского шаблона (задается, если запрошен отчет на основе пользовательского шаблона) |
UseXlsxFile | Логическая переменная | Признак «Использовать для отчета файл типа XSLX» |
ReportType | Строка | Тип отчета, (если не задан CustomReportId), см. п. 8.1.1. |
KktStatus | Строка | Состояние касс, по которым генерируется отчет (в данной версии не используется) |
SearchString | Строка | Строка фильтрации списка касс (в данной версии не используется) |
EmailsToNotify | Строка | Признак «Оповестить об окончании генерации отчета по почте». В параметре вы можете перечислить адреса электронной почты для уведомления о генерации отчета. Адреса электронной почты указываются через символ «;» |
Успешным ответом на запрос является ответ с кодом 200, содержащий структуру данных.
Ошибки, обрабатываемые запросом, приведены в п. 7.1.2.
Пример запроса на генерацию пользовательского отчета:
POST https://ofd.ru/api/customer/reports?AuthToken=061000bd5c234ee4b8f9fe4e143922d1
{
"CustomReportId": null,
"Name": "Сверка",
"DateFrom": "2021-11-01T00:00:00.000+03:00",
"DateTo": "2021-11-02T23:59:59.000+03:00",
"EmailsToNotify": "",
"FfdType": 0,
"GroupsList": [],
"KktList": [
"7961d10e-f36a-4cce-a8db-add93309bb9e"
],
"ReportType": "ReceiptReport",
"SelectAllKkts": false,
"UseXlsxFile": true
}
Пример успешного ответа на запрос генерации пользовательского отчета:
{
"Status": "Success",
"Data": {
"Id": "bddf7767-f72b-49a9-90f1-df1b74090d92",
"CDateUtc": "2021-11-15T10:14:44",
"ReportTypeName": "Сверка",
"ReportType": "ReceiptReport",
"DateFrom": "2021-11-01T00:00:00",
"DateTo": "2021-11-02T23:59:59",
"ExpiredDate": "2021-11-22T10:14:44",
"KktCount": 1,
"Status": "Todo",
"AccountEmail": "123@gamil.ru",
"AccountName": "Иван",
"Name": "Сверка",
"EmailsToNotify": [
""
],
"FileFormat": "Xlsx",
"IsAutoReport": false,
"AssumptiveCompleteTime": "2021-11-15T10:15:44",
"DownloadUrl": "/api/customer/reports/bddf7767-f72b-49a9-90f1-df1b74090d92",
"DeleteUrl": "/api/customer/reports/bddf7767-f72b-49a9-90f1-df1b74090d92",
"CancelUrl": "/api/customer/reports/bddf7767-f72b-49a9-90f1-df1b74090d92/cancel"
},
"Elapsed": "00:00:00.4870790"
}
Таблица 17. Описание параметров ответа на запрос генерации пользовательского отчета
Параметр | Вложенный параметр | Формат значения | Описание |
---|---|---|---|
Status | Сообщения о статусе запроса | ||
Data | Структура | Данные о запросах на отчеты | |
Массив [Структура] | Массив структур данных по сгенерированным отчетам | ||
Id | Строка | Идентификатор отчета | |
CDateUtc | Дата и время в формате ISO | Дата генерации отчета (UTC +3) | |
ReportTypeName | Строка | Тип отчета, см. п. 7.1.1. | |
ReportType | Строка | Тип отчета, (если не задан CustomReportId), см. п. 7.1.1. | |
DateFrom | Дата и время в формате ISO | Начальная дата отчета | |
DateTo | Дата и время в формате ISO | Конечная дата отчета | |
ExpiredDate | Дата и время в формате ISO | Дата и время автоматического удаления отчета системой из списка | |
KktCount | Целое число | Количество касс | |
Status | Строка | Статус отчета, см. п. 7.2.1 | |
AccountEmail | Строка | Адрес электронной почты пользователя ЛКК | |
AccountName | Строка | Имя пользователя ЛКК | |
Name | Строка | Название отчета | |
EmailsToNotify | Массив | В параметре перечислены адреса электронной почты для уведомления о генерации отчета | |
FileFormat | Строка | Формат файла сгенерированного отчета | |
IsAutoReport | Логическая переменная | Признак автоматически генерируемого отчета. Возможные значения: - true; - false. |
|
AssumptiveCompleteTime | Дата и время в формате ISO | Предположительное время формирования отчета (если отчет ещё не сгенерирован) | |
DownloadUrl | Строка | URL-адрес доступа к сгенерированному отчету для метода GET | |
DeleteUrl | Строка | URL-адрес удаления сгенерированного отчета для метода DELETE | |
CancelUrl | Строка | URL-адрес отмены сгенерированного отчета. Если отчет ещё не сгенерирован, то его возможно отменить методом GET | |
Elapsed | Дата и время в формате ISO | Время, затраченное системой на обработку запроса |
Запрос на получение списка отчетов (сгенерированных и генерирующихся) для текущего пользователя имеет вид:
GET https://ofd.ru/api/customer/reports?AuthToken=Code1
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Пользователь, для которого должен загружаться список сгенерированных отчетов, определяется обязательным параметром AuthToken.
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON следующего вида (приведены примеры значений):
{
"OfdAgreementLimit": 500000,
"ConsumedLimit": 0,
"List": [
{
"Id": "1577b8bc-a384-4f1d-ad00-b0c2440601ef",
"CDateUtc": "2018-07-12T12:28:06",
"ReportType": "CloseShiftReport",
"DateFrom": "2018-07-12T00:00:00",
"DateTo": "2018-08-12T23:59:59",
"ExpiredDate": "2018-07-19T12:28:06",
"KktCount": 8,
"ReportSize": 8,
"Status": "Done",
"AccountEmail": ofdtester1@ofd.ru
},
...
],
" TotalCount ": 9
}
Список полей этой структуры c их описаниями представлен в таблице 18.
Ошибки, обрабатываемые запросом, приведены в п. 7.2.2.
Таблица 18. Параметры запроса списка отчетов
Параметр | Тип данных | Описание |
---|---|---|
OfdAgreementLimit | Целое число | Максимальное количество отчетов, которое пользователь может запросить |
ConsumedLimit | Целое число | Израсходованное количество отчетов |
List | Массив структур | Массив структур данных по сгенерированным и генерируемым отчетам |
Id | Строка в формате UUID | Идентификатор отчета |
CDateUtc | Дата и время в формате ISO | Дата генерации отчета (UTC +3) |
ReportType | Строка | Тип отчета, см. п. 8.1.1. |
DateFrom | Дата и время в формате ISO | Начальная дата отчета |
DateTo | Дата и время в формате ISO | Конечная дата отчета |
ExpiredDate | Дата и время в формате ISO | Дата и время, когда отчет будет автоматически удален системой из списка |
KktCount | Целое число | Количество касс |
ReportSize | Целое число | Размер отчета (в килобайтах) |
Status | Строка | Статус отчета, см. п. 8.2.1 |
AccountEmail | Строка | Адрес электронной почты, использующийся в учетной записи |
TotalCount | Целое число | Общее количество отчетов |
Запрос на удаление файла сгенерированного пользовательского отчета имеет вид:
DELETE https://ofd.ru/api/customer/reports/id?AuthToken=Code1
Здесь:
id – идентификатор отчета, генерируемый ИС «ОФД», который имеет вид UUID;
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Параметры запроса передаются списком в формате запросов команды DELETE.
Параметры запроса приведены в таблице 19.
Таблица 19. Параметры запроса на удаление файла отчета
Параметр | Тип данных | Описание |
---|---|---|
Id | Строка в формате UUID | Идентификатор отчета (то же значение, что и в запросе) |
command.id | Строка в формате UUID | Идентификатор отчета (то же значение, что и в запросе) |
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON следующего вида (приведены примеры значений):
{
"Id": "3ec32d28-d851-4ada-9ae3-d4ef5d05d9a1",
"CDateUtc": "2018-07-16T14:35:24",
"ReportType": "CloseShiftReport",
"DateFrom": "2018-07-16T00:00:00",
"DateTo": "2018-07-16T23:59:59",
"ExpiredDate": "2018-07-23T14:35:24",
"KktCount": 61,
"ReportSize": 8,
"Status": "Deleted",
"AccountEmail": "ofdtest1@ofd.ru"
}
Запрос на загрузку файла сгенерированного пользовательского отчета имеет вид:
GET https://ofd.ru/api/customer/reports/id?AuthToken=Code1
Здесь:
id – Идентификатор отчета, генерируемый ИС «ОФД» (имеет вид UUID);
Параметры запроса передаются списком в команде GET следом за строкой; строка от параметров отделена символом “?”, между группами «параметр — значение» используется разделитель “&”, между параметром и значением используется разделитель “=”;
Code1 – Действующий код авторизации, полученный в результате запроса авторизации.
Параметры запроса приведены в таблице 20.
Таблица 20. Параметры запроса файла отчета
Параметр | Тип данных | Описание |
---|---|---|
id | Строка в формате UUID | Идентификатор отчета (то же значение, что и в запросе) |
Успешным ответом на запрос (с кодом HTTP равным 200) является ответ, содержащий файл запрошенного отчета.
Ошибки, обрабатываемые запросом, приведены в п. 9.1.1.
Запрос списка шаблонов базовых отчетов с указанием их структуры имеет вид:
GET https://ofd.ru/api/customer/reports/templates?AuthToken=Code1
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Пользователь, для которого должен загружаться список сгенерированных отчетов, определяется обязательным параметром AuthToken.
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON следующего вида (приведены примеры значений):
[
{
"ReportType": "CloseShiftReport",
"DisplayName": "string",
"Description": "string",
"Fields": [
{
"Name": "string",
"DisplayField": "string",
"Optional": true
},
...
]
},
...
]
Список полей этой структуры c их описаниями представлен в таблице 21.
Таблица 21. Поля данных записи с описанием типов базовых отчетов и их структуры
Идентификатор | Формат поля | Назначение |
---|---|---|
ReportType | Строка | Тип отчета, см. п. 8.1.1. |
DisplayName | Строка | Имя отчета, выводимое в документ или в окно интерфейса |
Description | Строка | Краткое описание отчета |
Fields | Структура | Структура с описанием полей |
Name | Строка | Имя (идентификатор) поля |
DisplayField | Строка | Имя поля, выводимое в документ или в окно интерфейса |
Optional | Логическая переменная | Признак «дополнительное поле» |
Запрос на получение списка сгенерированных отчетов для текущего пользователя имеет вид:
GET https://ofd.ru/api/customer/reports/custom?AuthToken=Code1
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Пользователь, для которого должен загружаться список сгенерированных отчетов, определяется обязательным параметром AuthToken.
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON следующего вида (приведены примеры значений):
[
{
"Name": "string",
"BaseReportType": "All",
"CustomFields": [
"string",..
],
"Id": "00000000-0000-0000-0000-000000000000",
"CDateUtc": "2001-09-11T08:46:26.0000000",
"UDateUtc": "2001-09-11T08:46:26.0000000"
},
...
]
Список полей этой структуры c их описаниями представлен в таблице 22.
Таблица 22. Поля данных списка шаблонов отчетов, созданных пользователем
Идентификатор | Формат поля | Назначение |
---|---|---|
Name | Строка | Название шаблона пользовательского отчета |
BaseReportType | Строка | Тип отчета, на основе которого построен шаблон |
CustomFields | Массив строк | Идентификаторы полей, выбранных пользователем |
Id | Строка в формате UUID | Идентификатор шаблона |
CDateUtc | Дата и время в формате ISO | Дата и время создания шаблона (UTC +3) |
UDateUtc | Дата и время в формате ISO | Дата и время последнего изменения шаблона |
Запрос на сохранение модифицированного шаблона отчета для текущего пользователя имеет вид:
POST https://ofd.ru/api/customer/reports/custom?AuthToken=Code1
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Пользователь, для которого должен загружаться список сгенерированных отчетов, определяется обязательным параметром AuthToken;
Параметры запроса передаются списком в формате запросов команды POST.
Параметры запроса приведены в таблице 23.
Таблица 23. Параметры запроса на сохранение шаблона с внесенными изменениями
Параметр | Тип данных | Описание |
---|---|---|
Name | Строка | Название шаблона пользовательского отчета |
Fields | Массив строк | Сохраняемые измененные идентификаторы полей |
BaseReportType | Строка | Тип отчета, на основе которого построен шаблон |
Description | Строка | Описание шаблона пользовательского отчета |
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON содержащая только поле «Status» с указанием значения «Elapsed».
Запрос для текущего пользователя шаблона отчета по заданному идентификатору шаблона имеет вид:
GET https://ofd.ru/api/customer/reports/custom/id?AuthToken=Code1
Здесь:
id – Идентификатор отчета, генерируемый ИС «ОФД» (имеет вид UUID);
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON следующего вида (приведены примеры значений):
{
"Name": "string",
"BaseReportType": "All",
"CustomFields": [
"string",..
],
"Id": "00000000-0000-0000-0000-000000000000",
"CDateUtc": "2001-09-11T08:46:26.0000000",
"UDateUtc": "2001-09-11T08:46:26.0000000"
}
Список полей этой структуры c их описаниями представлен в таблице 24.
Таблица 24. Поля данных шаблона пользовательского отчета
Идентификатор | Формат поля | Назначение |
---|---|---|
Name | Строка | Название шаблона пользовательского отчета |
BaseReportType | Строка | Тип отчета, на основе которого построен шаблон |
CustomFields | Массив строк | Идентификаторы полей, выбранных пользователем |
Id | Строка в формате UUID | Идентификатор шаблона |
CDateUtc | Дата и время в формате ISO | Дата и время создания шаблона (UTC +3) |
UDateUtc | Дата и время в формате ISO | Дата и время последнего изменения шаблона |
Запрос на сохранение шаблона отчета по заданному идентификатору шаблона для текущего пользователя имеет вид:
PUT https://ofd.ru/api/customer/reports/custom/id?AuthToken=Code1
Здесь:
id – идентификатор отчета, генерируемый ИС «ОФД» (имеет вид UUID).
Code1 – действующий код авторизации, полученный в результате запроса авторизации.
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON, содержащая только «Status», имеющее значение «Success», и «Elapsed».
Запрос на удаление шаблона отчета для текущего пользователя по заданному идентификатору шаблона имеет вид:
DELETE https://ofd.ru/api/customer/reports/custom/id?AuthToken=Code1
Здесь id – идентификатор отчета, генерируемый ИС «ОФД» (имеет вид UUID).
Успешным ответом на запрос (с кодом HTTP равным 200) является структура данных JSON, содержащая только поле «Status», имеющее значение «Success», и «Elapsed».
Версия 1.0
Выпущена 10.10.2024 г.
Первая версия документа. Объединены документы «Чеки и ККТ» и «Отчеты».