Розробка мобільного додатку для вендингових автоматів
Ми створюємо мобільні додатки для вендингових мереж, які перетворюють звичайний автомат на цифрову точку продажів. З нашим рішенням оператор отримує телеметрію в реальному часі, покупець оплачує товар за QR-кодом без монет, а автомат сам повідомляє про несправності. Оцініть проєкт під вашу мережу — пишіть, ми розповімо деталі.
Вендинговий автомат без мобільного додатку — це купюроприймач і монетоприймач. З додатком: QR-оплата, безготівковий розрахунок, програма лояльності, push-повідомлення про новинки, історія покупок. Для оператора мережі — телеметрія: рівень заповнення, помилки механіки, виручка по точках у реальному часі. Наш досвід: 5+ років розробки вендингового ПЗ, 20+ впроваджених проєктів. Гарантуємо стабільну роботу навіть при перебоях зв'язку.
Як працює QR-оплата у вендингових автоматах?
Для безготівкової оплати з телефона використовується платіжний модуль, вбудований в MDB-шину автомата. Користувач оплачує в додатку — сервер надсилає сигнал модулю, той емулює опускання монети, і автомат видає товар. Сесія QR-оплати генерує унікальний токен з TTL 120 секунд. Якщо користувач не встиг оплатити, QR застаріває, і автомат скидає очікування.
// iOS: генерація QR з session token для автомата class VendingSessionManager { func createPaymentSession(machineId: String, amount: Decimal) async throws -> PaymentSession { let session = try await api.createSession(VendingSessionRequest( machineId: machineId, amount: amount, expiresIn: 120 // 2 хвилини )) // QR містить session.deepLink — відкриває додаток при скануванні return session } func pollSessionStatus(sessionId: String) -> AsyncStream<SessionStatus> { AsyncStream { continuation in Task { for await _ in Timer.publish(every: 2, on: .main, in: .common).autoconnect().values { let status = try? await api.getSessionStatus(sessionId) continuation.yield(status ?? .unknown) if status == .completed || status == .expired { break } } continuation.finish() } } } } Polling статусу сесії кожні 2 секунди — простіше WebSocket у даному випадку. Сесія має TTL 120 секунд: якщо користувач не оплатив, QR застарів, автомат скидає очікування. Час відгуку системи становить менше 1 секунди, що критично для high-traffic точок (більше 200 транзакцій на день).
Телеметрія: протокол DEX/UCS та сучасний IoT
Стандарт для вендингових автоматів — протокол DEX/UCS (Data Exchange / Universal Communications Standard). Більшість комерційних автоматів (Crane, Sanden, Azkoyen) мають DEX-порт — RS-232, 9600 бод. Через DEX можна читати лічильники продажів, помилки, залишки товару. Проблема: DEX розроблявся для зчитування даних при обслуговуванні, не для онлайн-моніторингу.
Сучасне рішення: IoT-контролер (Telemetry Gateway) підключається до DEX-порту і до мережі (4G/Wi-Fi). Виробники: Parlance, CPI, Nayax, Coinco. Вони надають REST API для мобільних додатків та дашбордів. Час автономної роботи контролера в режимі очікування досягає 72 годин завдяки енергоефективним компонентам.
Немає стандартного IoT-модуля? Саморобний на Raspberry Pi Zero + RS-232 адаптер + Python-парсер DEX + MQTT публікація:
Приклад коду парсера DEX на Python
import serial, paho.mqtt.client as mqtt def read_dex_data(port='/dev/ttyUSB0'): ser = serial.Serial(port, 9600, timeout=5) # Ініціалізація DEX-сесії ser.write(b'\x04') # EOT — початок сесії response = ser.read_until(b'\x04') # читаємо до EOT return parse_dex_block(response) def parse_dex_block(data: bytes) -> dict: # Парсимо блоки VA (Vending Machine Audit) # VA1 — ідентифікація, VA2 — дані продажів, VA3 — залишки blocks = data.split(b'\x1c') # FS роздільник return {block[:3].decode(): block[3:].decode() for block in blocks} MDB: управління оплатою
MDB (Multi-Drop Bus) — протокол для пристроїв оплати всередині автомата (купюроприймач, монетоприймач, картковий рідер). Більшість сучасних касет працює через MDB Master — головний контролер автомата керує периферією. Детальніше про Multi-Drop Bus (MDB).
Порівняння традиційного автомата та з мобільним додатком
| Параметр | Традиційний автомат | Автомат з додатком |
|---|---|---|
| Спосіб оплати | Монети, купюри | QR-код, банківська картка, мобільний гаманець |
| Управління асортиментом | Вручну при обході | Дистанційне через дашборд |
| Телеметрія | Немає | Залишки, помилки, виручка в реальному часі |
| Програма лояльності | Неможлива | Історія покупок, знижки, push-повідомлення |
| Зниження витрат на інкасацію | База | До 50% |
Що входить в розробку мобільного додатку для вендингу
Ми надаємо:
- Клієнтський додаток (iOS/Android) з QR-оплатою, історією, лояльністю.
- Операторський дашборд з телеметрією, управлінням автоматами, аналітикою.
- Інтеграцію з платіжними модулями (Nayax, PayLink) через MDB.
- Підключення IoT-контролерів для читання DEX/UCS.
- Документацію та навчання персоналу.
- Підтримку після запуску.
Чому телеметрія важлива для оператора?
Оператор у додатку (або у веб-панелі) бачить по кожному автомату: залишки по комірках, виручку за день/тиждень/місяць, помилки (застряглий товар, відмова купюроприймача, проблема з рефрижерацією). Маршрут об'їзду — оптимізований список автоматів, які потрібно поповнити сьогодні, з урахуванням залишків та прогнозу продажів. Це скорочує час інкасації на 30% і збільшує середній чек на 25% за рахунок своєчасного поповнення. Для мережі з 50 автоматів економія часу інкасації становить до 15 годин на тиждень.
Інтеграція з системами обліку оператора: 1С, SAP, власні ERP — через REST або файловий обмін (CSV/XLS). Нормалізація даних з різних моделей автоматів — ключове завдання бекенду.
Як інтегрувати платіжний модуль з вендинговим автоматом?
Кроки інтеграції:
- Підключіть MDB-сумісний платіжний модуль до роз'єму на контролері автомата.
- Налаштуйте API-ключі та ендпоінти для обробки платежів (зазвичай через JSON-RPC).
- Перевірте емуляцію монети — сервер повинен надсилати команду на видачу товару.
- Протестуйте сценарії помилок: таймаут сесії, нестача решти, скасування платежу.
Більшість сучасних модулів (Nayax VPOS, PayLink) підтримують REST API, що спрощує розробку.
Порівняння платіжних модулів
| Модуль | Спосіб зв'язку | Підтримка MDB | Додаткові функції |
|---|---|---|---|
| Nayax VPOS Touch | Wi-Fi/4G | Так | Вбудований NFC, GPS |
| PayLink | Bluetooth/Wi-Fi | Так | Інтеграція з Loyverse |
| CPI EMV | RS-232 | Так | Емуляція купюр |
Терміни та вартість
Розробка клієнтського додатку та операторської панелі для мережі вендингових автоматів займає від 3 до 5 місяців. Вартість розраховується індивідуально після аналізу моделей автоматів та платіжної інфраструктури. Оцінимо проєкт безкоштовно — зв'яжіться з нами, щоб обговорити деталі.
Отримайте консультацію: наші інженери допоможуть підібрати оптимальне рішення під вашу мережу. Гарантія на розроблене ПЗ — 12 місяців.







