La cerere, integrăm și cu:
Pentru orice model nou (necertificat încă în sistemul nostru), integrarea durează 2-5 zile lucrătoare.
La onboarding, inginerul nostru:
Configurare standard: 30-60 minute.
Casa de marcat (sau imprimanta de bonuri non-fiscală) trimite semnal cash drawer-ului:
Setup gratuit pentru modelele recomandate de noi. Dacă alegi cash drawer-ul din catalogul nostru de parteneri (modele testate, conector standard cu casa de marcat), integrarea o facem gratuit, ca parte din onboarding. Pentru cash drawer adus de tine din afara catalogului nostru — integrare 500 MDL setup unic.
Pentru:
Compatibilitate: EPSON, Star, Citizen — costuri hardware 1.000-3.000 MDL la furnizor.
Setup gratuit pentru modelele recomandate de noi. Dacă alegi imprimanta din catalogul nostru de parteneri, integrarea o facem gratuit. Pentru modele aduse din afara catalogului nostru — setup integrare 1.500-3.000 MDL (depinde de complexitatea driverului).
USB sau Bluetooth standard:
Pentru magazine alimentare cu vânzare la kg:
Dacă casa de marcat se strică:
Aplicația Devices Manager e locul unde inginerul (sau operatorul avansat) configurează dispozitivele fizice conectate la POS: imprimante ESC/POS (TCP/USB/Bluetooth), case fiscale certificate, hub-uri de sincronizare cu MEV. Detectează AndroidBridge pe device Android, altfel cade elegant pe modul browser cu limitări CORS.
Captură din state fresh (0 dispozitive înregistrate). UI-ul e conceput să ghideze operatorul de la zero — trece prin Discover devices → configurare → Test print. Când există dispozitive înregistrate, secțiunea "Imprimante & case fiscale descoperite" afișează carduri per device cu status (online/offline), butoane test și config avansat.








Multe butoane din Devices Manager sunt legate de configurări persistente în SharedRefs (colecția devices-manager). Aceasta înseamnă că același UI se comportă diferit pe alt POS sau alt device în funcție de ce e setat în SharedRefs.
| Buton / secțiune | Ce face imediat | SharedRefs dependente |
|---|---|---|
| Discover devices | Scanează concurent LAN + USB + Bluetooth prin AndroidBridge (când există) sau via HTTP hub (browser). Rezultatele populează lista "Imprimante & case fiscale descoperite". | scan.hostnames, scan.subnets, scan.port, scan.timeout-ms, scan.probe-endpoint, scan.last-working-hostname |
| Test print | Trimite un bon de test (ESC/POS raw) către dispozitivul selectat. Confirmă că vendor driver + transport răspund. | default-printer-per-pos (dictează care e printer-ul target când POS-ul are unul preferat) |
| Scan LAN | Sub-scan doar pentru companion hub-uri (alt device Android care rulează HTTP server-ul devices-manager). Găsit-un-hub se poate folosi ca proxy pentru comenzi print. | scan.hostnames, scan.subnets, scan.port — aceleași ca la Discover |
| Reset cache | Curăță cache-ul local de discovery (nu SharedRefs). Următorul Discover pornește "curat". | (nimic — cache local) |
| Reset stuck | Deblochează request-uri HTTP în stare "in-flight" indefinit (útil dacă un printer a picat mid-request). | (nimic — runtime state) |
| Clear (log) | Șterge conținutul afișat în Sync trace (doar UI — buffer-ul se re-populează). | sync-trace.buffer-size (dictează câte events reține buffer-ul) |
| Copy (Origine) | Copiază URL-ul curent (https://dev.lut.md) în clipboard — util pentru share cu suport. | (nimic) |
| Salvează config | Persistă tot obiectul config (auto-start, hosts, ports) în SharedRefs colecția devices-manager, context global. Overwrite. | Toate ref-urile REF_KEYS (vezi mai jos) |
| Reload | Re-citește config din SharedRefs (dacă alt device a modificat). | (citește toate) |
| Cum permit accesul? | Deschide ghid pași detaliați pentru dezactivarea blocajului mixed-content în Chromium/Chrome (per-tab flag). | (documentație — nu configurare) |
devices-managerColecția devices-manager (vizibilă în SharedRefs Manager) conține ref-urile care controlează comportamentul aplicației. Toate au fallback-uri sensibile — nu trebuie configurate manual pentru a folosi aplicația.
auto-start-enabled (bool, default false) — dacă true, la boot-ul webapp-ului se aplică automat config-ul salvat (fără click pe Discover).device-hosts (array de string) — lista IP-uri / hostname-uri care găzduiesc dispozitive.printer-hosts (array) — sub-listă doar cu printer-uri (subset al device-hosts).sync-enabled (bool) — activează sync-ul cu MEV/SFS în background.sync-token (string) — token de autentificare pentru sync (setat automat la login inițial).http-server-enabled (bool) — activează HTTP server-ul on-device (doar Android).http-server-port (int) — portul pe care ascultă HTTP server-ul on-device.default-printer-per-pos (object {<pos-id>: <printer-id>}) — mapare care spune "pentru POS X folosește printer Y".fiscal-sync-server (string) — URL server sync fiscal (default: dev.lut.md).discover-auto-enabled (bool, default false) — dacă true, aplicația rulează Discover automat la interval.discover-interval-ms (int, clamped 15000-3600000) — intervalul între rulări automate.sync-trace.enabled (bool) — activează captura de evenimente de sync.sync-trace.min-level (string) — level minim capturat (skip+, info+, warn+, error).sync-trace.buffer-size (int) — nr. maxim de events în buffer-ul ring.sync-audit.enabled (bool) — activează audit periodic al datelor sincronizate.sync-audit.recheck-cooldown-h (int) — ore între re-check audit.scan.hostnames (array) — hostname-uri / IP-uri specifice de încercat în scan (default: sgapps-pos-print.local, 127.0.0.1, 192.168.1.1, 192.168.0.2). Fiecare intrare acceptă și shape-ul host:port (ex: "192.168.0.2:8069", "sgapps-print.local:443") — portul din intrare override-uiește scan.port default doar pentru acea intrare. Util când companion-urile pe LAN rulează pe porturi diferite.scan.subnets (array) — subnete de scanat exhaustiv (când hostname-urile nu răspund).scan.port (int, default 8080) — portul pe care ascultă hub-urile companion.scan.timeout-ms (int) — timeout per host în scan.scan.probe-endpoint (string) — endpoint HTTP folosit ca "sondă" să identifice un hub.scan.last-working-hostname (string, auto-updated) — cache-ul hostname-ului găsit ultim, folosit ca shortcut la următorul scan.global sau pos:<pos-id>).sync-enabled = false. Click pe card face upsert la sync-enabled = true.→ Notificări sau Autentificare & RBAC.