Общее

ККМ общается с внешним миром через HTTP-запросы. Как правило, при использовании локально подключенной ККМ, адресом будет что-то  вроде http://localhost:номер порта. Однако ничто не мешает общаться с кассой и из внешнего мира. Компания Армакс предоставляет такой доступ для разработчиков:

  • Тестовый доступ открыт на office.armax.ru:58088.
  • В качестве транспорта используется http протокол (без шифрования).
  • Авторизация — Basic Authentication. Логин — номер кассира. Пароль — пароль кассира. По умолчанию и то, и другое — числа от 1 до 99 (логин и пароль одинаковые).
  • При ошибках обмена возвращаются ошибочные состояния HTTP.
  • При ошибках внутри кассы —  коды ошибок совместимые с ККМ Атол (см. Протокол ККТ 3.1.pdf).
  • При возникновении ошибки (в документе поле result не нулевое) поле <result> содержит код  ошибки. Поля <data> нет. Может быть не пустое поле <message>.
  • Описание форматов фискальных данных

Запросы

В качестве контейнера используем XML или JSON. Если не хватает данных — используются умолчания (реализовано для экономии трафика; обсуждаемо).

ВНИМАНИЕ! office.armax.ru:58088 — это тестовая касса, доступ к которой разрешен всем. Это НЕ удаленный сервер, перенаправляющий запросы на Вашу копию онлайн кассы.

1. Получение состояния кассы

  • GET http://office.armax.ru:58088/cashboxstatus.xml

  • GET http://office.armax.ru:58088/cashboxstatus.json

  •  

  • ПРИМЕЧАНИЕ 1. ФЛАГИ СОСТОЯНИЯ ККМ

  • ПРИМЕЧАНИЕ 2: ФАЗЫ ЖИЗНИ ФН

  • ПРИМЕЧАНИЕ 3: СОСТОЯНИЕ ОБМЕНА С ОФД

  • ПРИМЕЧАНИЕ 4: РЕЖИМЫ РАБОТЫ КАССЫ

  • ПРИМЕЧАНИЕ 5: КОРОТКОЕ СОСТОЯНИЕ ККМ

2. Получение документа из фискального накопителя.

  • GET http://office.armax.ru:58088/fiscaldoc.xml?number=12&print=1

  • GET http://office.armax.ru:58088/fiscaldoc.json?number=12&print=1

3. Открытие смены

(см. форматы фискальных данных)

  • GET http://office.armax.ru:58088/cycleopen.xml?print=1

  • GET http://office.armax.ru:58088/cycleopen.json?print=1

4. Закрытие смены

(см. форматы фискальных данных)

  • GET http://office.armax.ru:58088/cycleclose.xml?print=1

  • GET http://office.armax.ru:58088/cycleclose.json?print=1

5. Получение отчета о состояние расчетов

(см. форматы фискальных данных).
В зависимости от версии ФН,  отчет необходимо получать при закрытой смене, иначе ошибка 212 (Неверное состояние ФН).

  • GET http://office.armax.ru:58088/calcreport.xml?print=1

  • GET http://office.armax.ru:58088/calcreport.json?print=1

6. Получение X-отчет

(см. форматы фискальных данных)

  • GET http://office.armax.ru:58088/xreport.xml?print=1

  • GET http://office.armax.ru:58088/xreport.json?print=1

7. Печать чека

Выходной документ такой же, как и в пункте 2.

  • POST http://office.armax.ru:58088/fiscalcheck.xml

  • POST http://office.armax.ru:58088/fiscalcheck.json

Чеки коррекции отправляются тем же способом. Отличается только набор передаваемых реквизитов.

  • Пример чека коррекции

Кроме реквизитов, описанных в форматах фискальных данных доступны следующие реквизиты чека и предмета расчета:

1. Скидка (3000) и наценка (3001) передаются в копейках. В расчетах не участвуют. Просто печатаются на чеке.

2. Текст 3005 — произвольные текст. Печатается на чеке.

  • Штрих коды и QR код

8. Печать произвольного текста и штрих-кодов

  • POST http://office.armax.ru:58088/printtext.xml

  • POST http://office.armax.ru:58088/printtext.json