Получение стандартного чека
Веб-сервис получения фискального чека позволяет предприятию получить сгенерированный в АПК Ассист фискальный чек. Такая возможность используется, например, в тех случаях, когда предприятие самостоятельно отправляет электронные копии чеков своим покупателям.
Для обращения к веб сервису необходимо отправить запрос на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalreceipt.cfm.
Параметры передаются методом POST в теле запроса в формате «ключ=значение», SOAP запросом, либо в формате JSON (swagger описание: https://docs.assist.ru/swagger/).
Входные параметры сервиса:
| Параметр | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание | 
| Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | |
| Login | Да | 20 символов | Логин пользователя сервиса от предприятия | |
| Password | Да | 30 символов | Пароль пользователя сервиса от предприятия | |
| BillNumber | Да* | 15 или 16 цифр Расширенный формат | Номер операции, в системе АПК Ассист, по которой запрашивается чек | |
| Payment_ID | Нет | 255 символов | Идентификатор операции в системе предприятия | |
| Fiscalreceipt_ID | Да* | Число | Идентификатор чека | |
| Full_receipt | Нет | Число | Возвращать полный набор данных чека: 
 | |
| Receipttype | Нет | normal - фискализация приход/расход; correct - коррекция; usage - полный расчет. | Тип чека для выдачи сервисом Если параметр отсутствует, то по запросу будут выданы все имеющиеся чеки независимо от их типа. | |
| Format | Нет | 1 – CSV | 1 | Формат возвращаемого ответа. | 
*должен быть передан либо параметр Billnumber (тогда в ответе будет возвращен чек реальной операции), либо параметр Payment_ID (тогда в ответе будет возвращен чек внешней операции, созданный через веб-сервис фискализации внешних операций fiscalize), либо Fiscalreceipt_ID (если он известен), несколько параметров одновременно передавать нельзя.
Если фискальный чек для указанной в запросе операции существует, то в ответе передаются параметры этого фискального чека (см. табл. «Перечень возвращаемых параметров»).
Перечень возвращаемых параметров:
| Название | Значение | 
| billnumber | Идентификатор операции в системе | 
| или | |
| Payment_ID | Идентификатор внешней операции | 
| fiscalreceipt_ID | Идентификатор чека | 
| receipttype | Тип чека | 
| status | Статус чека: 
 | 
| chequeItems | Строка с позициями чека в JSON формате согласно документу «Работа с чеком». | 
| fiscal_receipt_number | Номер чека в смене | 
| shift_number | Номер смены | 
| receipt_datetime | Дата и время документа из ФН | 
| total | Итоговая сумма документа | 
| fn_number | Номер ФН | 
| ecr_registration_number | Регистрационный номер ККМ | 
| fiscal_document_number | Фискальный номер документа | 
| fiscal_document_attribute | Фискальный признак документа | 
| errortext | Текст ошибки | 
| taxationsystem | Код системы налогообложения | 
| merchant_name* | Название торгового предприятия | 
| merchant_INN* | ИНН торгового предприятия | 
| calc_type* | Признак расчета | 
| payment_types* | Форма расчета | 
| tax_items* | Суммы налога по ставкам | 
| cashier* | Кассир | 
| calc_adr* | Адрес места расчетов | 
| calc_dsc* | Место расчета | 
| fris_site* | Адрес сайта ФНС | 
| sale_email* | Email отправителя чека | 
| url | Адрес чека во внешнем хранилище. | 
*дополнительные параметры для полного набора данных чека.
Если запрос на получение фискального чека не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
Полученный в ответе на запрос статус CreateError означает, что чек не может быть сформирован и отправлен на фискализацию. В этом случае следует проверить текст ошибки, полученный в поле errortext, а также убедиться в корректности отправляемых данных (состав позиций чека, наличие обязательных атрибутов фискализации, непротиворечивость параметров и т.д.), затем повторно направить скорректированный запрос на фискализацию с помощью используемого сервиса.
Внимание!
Если в ответе на запрос данных фискального чека в течение длительного времени (несколько часов) по-прежнему приходит статус New (особенно в том случае, когда поле errortext ответа не пустое), следует обратиться в службу технической поддержки support@assist.ru.
Примеры ошибок, которые могут быть получены в поле errortext:
| ID ошибки | Содержимое поля errortext | 
|---|---|
| 19602 | Ошибка в заполнении предмета расчета. | 
- Ошибка в сумме позиции или сумме чека.
- Ошибка в заполнении способа расчета.
- Ошибка при работе с чеком.
- Ошибка в описании позиций чека.
- Идентификатор (id) позиции чека не является уникальным.
- Неправильные значения сумм по способам оплаты.
- Ошибка в параметре системы налогообложения.
- Некорректное значение ставки налога.
- Не получен статус фискального чека.
- Неверный тип данных.
- Ошибка формата ввода данных или незаполненное поле.
- Неверный терминал.
- Ошибка при работе со сменами.
- Аппаратная ошибка ККТ или ФН.
Получение нескольких чеков при пакетной фискализации
Веб-сервис получения нескольких фискальных чеков позволяет предприятию получить сгенерированные в АПК Ассист фискальные чеки в случае пакетной фискализации.
Для обращения к веб сервису необходимо отправить запрос методом JSON (swagger описание: https://docs.assist.ru/swagger/) на сервер ASSIST по адресу: https://<SERVER_NAME>/fiscal/fiscalreceipts.cfm.
Входные параметры сервиса:
| Параметр | Обязательный | Принимаемые значения | Описание | 
| Merchant_ID | Да | Число | Идентификатор предприятия в системе АПК Ассист | 
| Login* | Да/Нет | 20 символов | Логин пользователя сервиса от предприятия | 
| Password* | Да/Нет | 30 символов | Пароль пользователя сервиса от предприятия | 
| Token* | Да/Нет | 255 символов | Токен доступа | 
| BillNumber** | Да/Нет | 15 или 16 цифр | Номер операции, в системе АПК Ассист, по которой запрашиваются чеки | 
| Startdate** | Да/Нет | YYYY-MM-DDThh:mm:ss, также допустим формат YYYY-MM-DDThh:mm | Начальная дата и время создания чека | 
| Enddate** | Да/Нет | YYYY-MM-DDThh:mm:ss, также допустим формат YYYY-MM-DDThh:mm | Конечная дата и время создания чека | 
| Receipttype | Нет | normal - фискализация приход/расход; | Тип чека для выдачи сервисом Если параметр отсутствует, то по запросу будут выданы все имеющиеся чеки независимо от их типа. | 
* необходимо передать либо login и password, любо token.
** необходимо передать либо параметр billnumber, либо оба параметра, определяющих период - startdate и enddate.
Период, определяемый параметрами startdate и enddate, не может быть более 24 часов.
Если фискальные чеки для указанной в запросе операции существуют, то в ответе передаются параметры этих фискальных чеков (см. табл. «Перечень возвращаемых параметров»).
Перечень возвращаемых параметров:
| Название | Значение | 
| fiscalreceipt_ID | Идентификатор чека | 
| fiscal_document_attribute | Фискальный признак документа | 
| fiscal_document_number | Фискальный номер документа | 
| created | Дата и время создания чека | 
| chequeItems | Строка с позициями чека в JSON формате согласно документу «Работа с чеком». | 
| Fn_number | Номер ФН | 
| receipttype | Тип чека | 
| status | Статус чека: 
 | 
| url | Адрес чека во внешнем хранилище | 
| shift_number | Номер смены | 
| errortext* | Текст ошибки или ID ошибки | 
| payment_id | Идентификатор внешней операции | 
| ecr_registration_number | Регистрационный номер ККМ | 
| total | Итоговая сумма документа | 
| receipt_datetime | Дата и время документа из ФН | 
| fiscal_receipt_number | Номер чека в смене | 
| billnumber | Идентификатор операции в системе | 
| taxationsystem | Код системы налогообложения | 
| operation | Название операции (sell – оплата, refund – отмена) | 
| taxsystemname | Название системы налогообложения | 
*Текст ошибки возвращается в том в случае, если в запросе был передан параметр Billnumber, в противном случае возвращается ID ошибки.
| ID ошибки | Текст ошибки | 
|---|---|
| 0 | Успешно завершено | 
| 8248 | Неизвестная ошибка | 
| 19501 | Аппаратная ошибка ККТ или ФН | 
| 19502 | Ошибки при работе со сменами | 
| 19503 | Ошибки регистрации | 
| 19504 | Ошибка при работе с чеком | 
| 19521 | Не получен статус фискального чека | 
Полученный в ответе на запрос статус CreateError означает, что чек не может быть сформирован и отправлен на фискализацию. В этом случае следует проверить текст ошибки, полученный в поле errortext, или ID полученной ошибки, а также убедиться в корректности отправляемых данных (состав позиций чека, наличие обязательных атрибутов фискализации, непротиворечивость параметров и т.д.), затем повторно направить скорректированный запрос на фискализацию с помощью используемого сервиса.
Если запрос на получение фискального чека не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
Пример запроса по параметрам login и password:
{ 
    "merchant":{
        "merchant_ID":12345677,
        "login":"user",
        "password":"password"
    }, 
    "billnumber":"123445678899012.1",
    },
Пример запроса по параметру token:
{ 
    "merchant":{
        "merchant_ID":12345677,
        "token":"144FB671-62A0-48E9-1048-0DDA319E8B6D"
    }, 
    "billnumber":"123445678899012.1",
    },
Пример запроса по периоду:
{
    "merchant":{
         "merchant_ID":960400,
         "login":"user", 
         "password":"password"     
    },
    "startdate":"2021-02-16T10:55",
    "enddate":"2021-02-16T11:00"
}
Пример ответа:
{"cheques":[
        [{"fiscalreceipt_id": 630362,
           "fiscal_document_attribute": "1555826222",
           "fiscal_document_number": "445",
           "created":"2021-02-16T10:55:24",
           "chequeitems": [  {"id": 0,"name": "Товар","price": 11,"quantity": 1,"amount": 11,"tax": "vat20","fpmode": 1},  {"id": 1,"name": "Товар","price": 22,"quantity": 1,"amount": 22,"tax": "vat20","fpmode": 1}],
           "fn_number": "9999078900011438",
           "status": "Success",
           "url": "http://s.t.assist.ru/e/YDT-8Mf4c",
           "shift_number": "110",
           "errortext": " ",
           "payment_id": " ",
           "ecr_registration_number": "0000000001046274",
           "total": 33,
           "receipt_datetime": "2021-02-16T14:01:00",
           "fiscal_receipt_number": 1,
           "billnumber": "5635459249850000.1",
           "taxationsystem": 0,
           "operation": "sell",
           "taxsystemname": "ОСН"},
         {"fiscalreceipt_id": 630363,
           "fiscal_document_attribute": "1437895935",
           "fiscal_document_number": "446",
           "created":"2021-02-16T10:55:24",
           "chequeitems": [  {"id": 2,"name": "Товар","price": 33,"quantity": 1,"amount": 33,"tax": "vat20","fpmode": 1}],
           "fn_number": "9999078900011438",
           "status": "Success",
           "url": "http://s.t.assist.ru/e/LMh8qKKVd",
           "shift_number": "110",
           "errortext": " ",
           "payment_id": " "l,
           "ecr_registration_number": "0000000001046274",
           "total": 33,
           "receipt_datetime": "2021-02-16T14:01:00",
           "fiscal_receipt_number": 2,
           "billnumber": "5635459249850000.1",
           "taxationsystem": 0,
           "operation": "sell",
           "taxsystemname": "ОСН"}],
}
