Для работы с запросами необходимо подключить драйвер Настройка ФР Онлайн.
При работе с VPOS на базе Ubuntu 18.04 проверьте наличие пакета artix45-devicemanager
.
Если пакет artix45-devicemanager
отсутствует, то его необходимо установить командой:
aptitude install artix45-devicemanager
Запрос total
За закрытие чека на ФР Онлайн отвечает запрос total
.
Для корректной работы необходимо настроить маппинг оплат.
Поле type
содержит код типа оплаты в кассе. В поле amount
передается сумма оплаты. Поле customerAddress
должно содержать электронный адрес или телефон покупателя.
При использовании маппинга СНО будет закрыто несколько чеков.
Для закрытия чека на ФР Онлайн необходимо выполнить POST-запрос на URL:
http://<host>:<port>/total
Пример запроса через curl
:
curl -i -X POST -d @check.json http://localhost:8090/total --header "Content-Type: application/json"
, где localhost:8090
– это <host>:<port>
виртуальной кассы, а check.json
– это файл с содержимым чека.
Структура запроса
Структура запроса в формате json
:
{ "check": { результат_ответа_из_другого_метода }, "payments": [ { "type": 1, "amount": 54 } ], "customerAddress": "google@mail.yandex" }
Параметры тела запроса:
Наименование | Тип данных | Описание |
---|---|---|
check | object | Результат запроса, выполненного ранее методом calculatediscount или spendbonus |
payments | object | Оплата |
customerAddress | string | Адрес (телефон или email) покупателя |
Параметры объекта payments
:
Наименование | Тип данных | Описание |
---|---|---|
type | int | Код типа оплаты в кассе |
amount | decimal | Сумма оплаты |
Пример ответа
Если запрос выполнен корректно, то в ответе от сервера будет получен идентификатор:
{ "identifiers": [ "fd2628a5-4912-4157-bdd8-b1b9f86bb566", "6333acdb-07ad-49b1-8776-f3555c46d132" ] }
Запрос getdocumentsinfo
Для получения информации о документе используется запрос getdocumentsinfo
, выполнив POST-запрос на URL:
http://<host>:<port>/getdocumentsinfo
Пример запроса через curl
:
curl -i -X POST -d @check.json http://localhost:8090/getdocumentsinfo --header "Content-Type: application/json"
, где localhost:8090
– это <host>:<port>
виртуальной кассы, а check.json
– это файл с содержимым чека.
Структура запроса
В запросе необходимо передать идентификатор чека после выполнения запроса total
.
Структура запроса в формате json
:
{ "identifiers": [ "fd2628a5-4912-4157-bdd8-b1b9f86bb566", "6333acdb-07ad-49b1-8776-f3555c46d132" ] }
Пример ответа
Если чек был закрыт корректно, то в ответе будет получена информация о чеке:
{ "fd2628a5-4912-4157-bdd8-b1b9f86bb566": { "payload": { "callback_url": "", "daemon_code": "agent01", "device_code": "KKT014033", "error": null, "external_id": "c4h1k7vnw56psuv8fz12-10000", "group_code": "v4-online-atol-ru_4179", "payload": { "ecr_registration_number": "0000000002053327", "fiscal_document_attribute": 1274813497, "fiscal_document_number": 43035, "fiscal_receipt_number": 53, "fn_number": "9999078900006171", "fns_site": "www.nalog.ru", "ofd_inn": "9715260691", "ofd_receipt_url": "https://lk.platformaofd.ru/web/noauth/cheque?fn=9999078900006171&fp=1274813497&i=43035", "receipt_datetime": "04.08.2020 06:37:00", "shift_number": 76, "total": 29 }, "status": "done", "timestamp": "04.08.2020 06:37:05", "uuid": "fd2628a5-4912-4157-bdd8-b1b9f86bb566", "warnings": null } } }