Originally created by: zornade
Visura API oggi copre due endpoint del portale SISTER (visura immobili e visura intestati). Il portale ne offre molti altri che hanno richiesto, dalla community e dall'uso reale, una copertura nativa via API. Questa issue traccia la roadmap della v0.2.
visura-api.visura-api operabile anche in modalità read-only, senza credenziali SPID, per consumer che leggono solo da cache.Chi ha bisogno di queste cose le costruisce nel proprio fork commerciale, o acquista una licenza commerciale a hello@zornade.com.
Endpoint del portale SISTER da esporre via API REST. Ogni endpoint ha un issue dedicato dove discutere selettori, modello Pydantic di risposta e casi edge.
POST /visura/pnf. Input: partita_iva. Output: lista immobili intestati.POST /mappa. Input: provincia, comune, foglio, eventuale particella. Output: immagine + metadata.POST /mappa/export. Input: come sopra + formato. Output: link al file o stream.POST /planimetrico. Input: provincia, comune, foglio, particella, subalterno. Output: PDF + metadata.POST /ipotecaria. Input: cf/piva del soggetto oppure riferimento immobile. Output: nota / formalità trovate.GET /riepilogo. Output: lista paginata richieste degli ultimi N giorni.GET /richieste/{id}.⚠️ Per ogni nuovo endpoint serve verifica diretta sul portale SISTER da account
CONSULTAZIONI - PROFILO B. Apri una issue figlia prima di scrivere codice.
GET /visura/{id}/stream come Server-Sent Events. Il polling attuale GET /visura/{id} resta supportato.visura CLI in Python (Typer) come modulo del package. Comandi minimi:visura immobili <provincia> <comune> <foglio> <particella>visura intestati <request_id> <subalterno>visura pnf <partita_iva>visura status <request_id>visura healthvisura-api con entry point visura.READ_ONLY=true — il servizio parte senza credenziali SPID, espone solo GET su risultati già in cache. Utile per UI separate e per test.(provincia, comune, foglio, particella, sub?), TTL 24h di default. Disabilitabile via CACHE_TTL=0.PERSIST_RESPONSES=true. Schema minimale, niente Alembic. Default off per evitare scope creep e responsabilità GDPR su chi non le vuole.README.md: dichiarazione esplicita che i dati estratti sono dati personali, raccomandazioni per retention, anonymization dei log HTML in logs/pages/.MASK_PII=true): sostituisce nominativi, codici fiscali, indirizzi con placeholder.BrowserManager da main.py in visura_api/browser.py per ridurre la dimensione del modulo principale.PR benvenute, a queste condizioni:
git commit --signoff).CONTRIBUTING.md (modello dual-license, identico a MongoDB / Elastic / Grafana).Se non puoi/non vuoi rispettare uno di questi punti, scrivici a hello@zornade.com: troviamo un'alternativa (es. plugin esterno, licenza commerciale).
| Milestone | Target |
|---|---|
| M1 — endpoint SISTER (PNF, Mappa, Planimetrico, Ipotecaria) | giugno 2026 |
| M2 — SSE + CAPTCHA + document download | luglio 2026 |
| M3 — CLI + PyPI release | agosto 2026 |
| M4 — read-only mode + cache | autunno 2026 |
| M5 — GDPR + masking + selector regression tests | rolling |
Non sono impegni contrattuali. Roadmap revisionata mensilmente in base a priorità e contribuzioni.
Tickets: #16
Tickets: #17
Tickets: #18
Tickets: #19
Tickets: #20
Tickets: #21
Tickets: #22
Tickets: #23
Tickets: #24
Tickets: #25
Tickets: #26
Tickets: #40