Приложение позволяет фискализировать продажи через терминал путем обмена данными с облачными сервисами, CRM и ERP системами по HTTP и HTTPS протоколам в режиме реально времени. Печатать и отправлять чеки на Email, автоматически закрывать и открывать смену по заданному времени.
Данная программа проста в настройке.
Для того чтобы настроить приложение, достаточно лишь указать URL запроса и URL ответа, откуда терминал будет принимать данные для чека и вывод его на печать, и отправлять ответ в случае успешной печать чека.
Также в программе предусмотрено автоматическое закрытие смены.
Возможности
Этапы обмена данными
Как это работает
ККМ опрашивает ваш сервер, запрашивая данные с вашего приложения по URL указанному в поле "URL запроса", обрабатывает их, и в случае успешной обработки, печатает чек и отправляет данные со списком ID чеков, указанными в ответе предыдущей операции по URL, введенному в поле "URL ответа".
Все запросы осуществляются GET методом.
Все отдаваемые сервером данные должны соответствовать JSON формату, в заголовке (header) необходимо передавать формат сообщения как ниже
Content-type: application/json
Пример пустого ответа в JSON:
{ "result": { "receipts": [], "state": "OK" } }
Пример ответа с чеками в JSON:
{ "result": { "receipts": [ { "operation_type": 0, //Вид операции, 0 - Продажа, 1 - Возврат "settlement_type": 0, //Тип чека, 0 - Полная оплата чека, 1 - Предоплата "receipt_id": 1, //ID чека, обязательный параметр, должен быть уникальным "discount": 0, // Скидка или наценка (обязательный, или 0) "not_should_print_check": 0, // Печать чека на бумажном носителе, 0 - печатать, 1 - не печатать "goods": [ { "good_name": "Зажигалка", "good_unit": "Шт.", "good_count": 1, "good_price": 10, "good_sum": 10 }, { "good_name": "Хлеб",//Наименование позиции "good_unit": "Шт.", //Единица измерения "good_count": 1, //Количество наименований "good_price": 25, //Цена за единицу, "good_sum": 25 //Сумма } ], "payments": [ { "payment_method": 1, // Способ оплаты, 1 - Наличный, 2 - Безналичный "payment_sum": "35" //Сумма платежа "payment_type": "main" //Тип платежа, main - Основной платеж, advance - Аванс, credit - Кредит } ], "email": "login@example.com",// электронная почта для отправки чека "phone": "+79091234567" // телефон клиента } ], "state": "OK" } }
После успешной печать чека, терминал инициирует отправку данных на URL ответа запросом POST с массивом receiptsId, после чего ваш сервер должен ответить данными, как представлено ниже:
{ "result": { "state": "OK" //обязательный параметр } }
Зачем указывать адрес ответа (URL ответа)?
Это нужно для того чтобы гарантировать успешную печать каждого чека, и исключить дублирование на стороне вашего приложения, путем установки флагов на каждый чек, и сокрытия его от повторной выдачи.
Как настроить приложение на ККМ
Автозакрытие смены