Приложение позволяет фискализировать продажи через терминал путем обмена данными с облачными сервисами, 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 ответа)?
Это нужно для того чтобы гарантировать успешную печать каждого чека, и исключить дублирование на стороне вашего приложения, путем установки флагов на каждый чек, и сокрытия его от повторной выдачи.
Как настроить приложение на ККМ
Автозакрытие смены