ОФД - получение данных о покупке запросом curl

Получаем пароль

-- Тестировалось на CentOS 6.10

Доустановить если нет:

yum -y install jq

 

Почту, имя, номер телефона пропишите свои, выполняется один раз.

#!/usr/bin/env bash

EMAIL=alexandr@xyz.com
NAME=Alexandr
PHONE=+7906*******

curl -X POST -H "Content-Type: application/json; charset=UTF-8" \
https://proverkacheka.nalog.ru:9999/v1/mobile/users/signup -d \
"{\"email\":\"$EMAIL\", \"name\": \"$NAME\", \"phone\": \"$PHONE\"}" -i

на ваш номер телефона прийдет смс с паролем (цифровым)

Получение данных

#!/usr/bin/env bash

# -- Запрос на детали
# -- номер фискального накопителя - ФН       - 9282000100044265  - fiscalDriveNumber
# -- фискальный признак документа - ФП/ФПД   - 626244725         - fiscalSign
# -- ФИСКАЛЬНЫЙ ДОКУМЕНТ          - ФД       - 17386             - fiscalDocumentNumber

PHONE=+7906*******
PASS=977***
# --
FN=9282000100044265
FPD=626244725
FD=17386
# --
DERVICEID=curl
DEVICEOS=linux

curl -H "Device-Id: $DERVICEID" -H "Device-OS: $DEVICEOS" \
"https://$PHONE:$PASS@proverkacheka.nalog.ru:9999/v1/inns/*/kkts/*/\
fss/$FN/tickets/$FD?fiscalSign=$FPD&sendToEmail=no" -i | tail -n 1 | jq '.'

tail -n 1 - выводит нам последнюю строку в формате json cо списком покупок. Иначе в начале еще бы вывелся заголовок:
 

HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: application/json; charset=utf-8
Content-Length: 1895
ETag: W/"767-yql7Eu86VNW2LRdaDAikLQ"
Date: Mon, 24 Sep 2018 14:44:07 GMT
Connection: keep-alive

далее jq красиво выводит нам в консоль наш json.

 

Выхлоп в консоль:

  "document": {
    "receipt": {
      "operationType": 1,
      "shiftNumber": 80,
      "kktRegId": "0000246532062233    ",
      "requestNumber": 88,
      "fiscalDriveNumber": "9282000100044265",
      "userInn": "7703270067",
      "totalSum": 95300,
      "fiscalDocumentNumber": 17386,
      "cashTotalSum": 95300,
      "taxationType": 1,
      "dateTime": "2018-09-24T20:20:00",
      "postpaymentSum": 0,
      "ecashTotalSum": 0,
      "nds18": 3922,
      "items": [
        {
          "ndsRate": 2,
          "name": "ЛУК РЕПЧАТЫЙ ПЦ ВЕС",
          "sum": 1406,
          "ndsSum": 128,
          "quantity": 1.012,
          "price": 1389
        },
        {
          "ndsRate": 1,
          "name": "СОЧНИКНЕЖНОСТЬ ВЕС",
          "sum": 12702,
          "ndsSum": 1938,
          "quantity": 0.638,
          "price": 19909
        },
        {
          "ndsRate": 2,
          "name": "КАРТОФЕЛЬ КРАСН ВЕC",
          "sum": 1659,
          "ndsSum": 151,
          "quantity": 2.074,
          "price": 800
        },
        {
          "ndsRate": 2,
          "name": "ХЛЕБ 1С ИНСКОЙ 0,45",
          "sum": 2298,
          "ndsSum": 209,
          "quantity": 1,
          "price": 2298
        },
        {
          "ndsRate": 2,
          "name": "КАРТОФЕЛЬ ВЕС",
          "sum": 4688,
          "ndsSum": 426,
          "quantity": 2.774,
          "price": 1690
        },
        {
          "ndsRate": 2,
          "name": "ХЛЕБ/ПШЕН.МУКИ 400ГР",
          "sum": 2552,
          "ndsSum": 232,
          "quantity": 1,
          "price": 2552
        },
        {
          "ndsRate": 2,
          "name": "КАРТОФЕЛЬ КРАСН ВЕC",
          "sum": 1789,
          "ndsSum": 163,
          "quantity": 2.236,
          "price": 800
        },
        {
          "ndsRate": 2,
          "name": "МОРСКОЙ МИКС В 430Г",
          "sum": 19398,
          "ndsSum": 1763,
          "quantity": 1,
          "price": 19398
        },
        {
          "ndsRate": 1,
          "name": "ВАФЛИ С ХАЛВОЙ 300 Я",
          "sum": 8148,
          "ndsSum": 1243,
          "quantity": 2,
          "price": 4074
        },
        {
          "ndsRate": 1,
          "name": "GM ВАФ ШОК ЯШ 300Г",
          "sum": 4858,
          "ndsSum": 741,
          "quantity": 1,
          "price": 4858
        },
        {
          "ndsRate": 2,
          "name": "КРАБ.ПАЛОЧКИ,КД 200Г",
          "sum": 8800,
          "ndsSum": 800,
          "quantity": 2,
          "price": 4400
        },
        {
          "ndsRate": 2,
          "name": "МАСЛО ПОД РАФ 850МЛ",
          "sum": 5190,
          "ndsSum": 472,
          "quantity": 1,
          "price": 5190
        },
        {
          "ndsRate": 2,
          "name": "ПЕЛЬМ.ТОМ.МОЛОК.800Г",
          "sum": 21833,
          "ndsSum": 1985,
          "quantity": 1,
          "price": 21833
        }
      ],
      "fiscalSign": 626244725,
      "operator": "Каpпова  Веpа",
      "counterSubmissionSum": 0,
      "prepaymentSum": 0,
      "receiptCode": 3,
      "nds10": 6328

 

Пример, заменим:

jq '.'

на

jq '.document[].items[] | "\(.name)  -- \(.sum)"'

получим

"ЛУК РЕПЧАТЫЙ ПЦ ВЕС  -- 1406"
"СОЧНИКНЕЖНОСТЬ ВЕС  -- 12702"
"КАРТОФЕЛЬ КРАСН ВЕC  -- 1659"
"ХЛЕБ 1С ИНСКОЙ 0,45  -- 2298"
"КАРТОФЕЛЬ ВЕС  -- 4688"
"ХЛЕБ/ПШЕН.МУКИ 400ГР  -- 2552"
"КАРТОФЕЛЬ КРАСН ВЕC  -- 1789"
"МОРСКОЙ МИКС В 430Г  -- 19398"
"ВАФЛИ С ХАЛВОЙ 300 Я  -- 8148"
"GM ВАФ ШОК ЯШ 300Г  -- 4858"
"КРАБ.ПАЛОЧКИ,КД 200Г  -- 8800"
"МАСЛО ПОД РАФ 850МЛ  -- 5190"
"ПЕЛЬМ.ТОМ.МОЛОК.800Г  -- 21833"

Автор: Александр