Skip to content

Sincronización

Sincronización

Prefijo: /api/sync
Requiere Auth:
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:
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:

Terminal window
curl http://localhost/api/sync/status -H "Authorization: Bearer <token>"

Python:

import httpx
resp = 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:
Permiso requerido: configuracion, crear

Respuesta exitosa: 200 OK

cURL:

Terminal window
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:
Permiso requerido: configuracion, leer

Respuesta exitosa: 200 OK

Response:

{
"pending_count": 5
}

cURL:

Terminal window
curl http://localhost/api/sync/pending -H "Authorization: Bearer <token>"