Sincronización
Sincronización
Prefijo: /api/sync
Requiere Auth: Sí
Permiso requerido: configuracion, *
Módulo de sincronización del motor offline-first. NeoPOS opera con PostgreSQL en la nube como primaria y SQLite como fallback local. El SyncManager se encarga de sincronizar automáticamente en segundo plano cuando se reconecta.
GET /api/sync/status
Descripción: Estado actual del motor de sincronización y salud
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Response:
{ "cloud_enabled": true, "cloud_healthy": true, "health_monitor_running": true, "sync": { "total_synced": 150, "failed": 2, "last_sync": "2025-01-15T10:00:00", "is_running": false }}cURL:
curl http://localhost/api/sync/status -H "Authorization: Bearer <token>"Python:
import httpxresp = httpx.get("http://localhost/api/sync/status", headers={"Authorization": f"Bearer {token}"})status = resp.json()JavaScript:
const resp = await fetch('http://localhost/api/sync/status', { headers: {'Authorization': `Bearer ${token}`}});const status = await resp.json();POST /api/sync/trigger
Descripción: Fuerza un ciclo de sincronización inmediato
Requiere Auth: Sí
Permiso requerido: configuracion, crear
Respuesta exitosa: 200 OK
cURL:
curl -X POST http://localhost/api/sync/trigger -H "Authorization: Bearer <token>"GET /api/sync/pending
Descripción: Número de mutaciones pendientes por sincronizar
Requiere Auth: Sí
Permiso requerido: configuracion, leer
Respuesta exitosa: 200 OK
Response:
{ "pending_count": 5}cURL:
curl http://localhost/api/sync/pending -H "Authorization: Bearer <token>"