Для работы с запросами необходимо подключить драйвер Настройка ФР Онлайн.

При работе с 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" 
}

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

НаименованиеТип данныхОписание
checkobjectРезультат запроса, выполненного ранее методом calculatediscount или spendbonus
paymentsobjectОплата
customerAddressstringАдрес (телефон или email) покупателя

Параметры объекта payments:

НаименованиеТип данныхОписание
typeintКод типа оплаты в кассе
amountdecimal

Сумма оплаты

Пример ответа

Если запрос выполнен корректно, то в ответе от сервера будет получен идентификатор:

{
  "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
        }
    }
}
  • No labels