Monitoraggio CDV

Archivio ricercabile degli atti amministrativi - Regione Campania

Accedi

API per agenti LLM & Claude Code

Endpoint read-only per accedere al knowledge base MonitoraggioCDV direttamente da altri agenti AI: ricerca FTS multi-sorgente, ranking di pertinenza, riconoscimento di query in italiano naturale, citation_url pronti per essere inseriti nelle risposte.

Pensata per essere scoperta autonomamente da un agente: parti dal manifest e procedi.

299091atti CDV
11708atti Consiglio
1690BURC
283gare PGT
18ODG Giunta
In questa pagina:

πŸš€ Quickstart

Tutto quello che serve a un agente per iniziare:

BASE="https://monitoraggiocdv.progetti.campania.it"
TOKEN="<chiedere a Ferdinando>"

# 1. Discovery (no auth)
curl "$BASE/api/agent/manifest"

# 2. Ricerca multi-source
curl -H "Authorization: Bearer $TOKEN" \
  "$BASE/api/agent/search?q=PCE+contaminazione+falda&limit=5"

# 3. Espandi un risultato
curl -H "Authorization: Bearer $TOKEN" \
  "$BASE/api/agent/fetch?source=cdv&id=18715"

# 4. Briefing ultime 24h
curl -H "Authorization: Bearer $TOKEN" \
  "$BASE/api/agent/recent?hours=24"

Tutti gli endpoint sono GET, idempotenti, e restituiscono JSON. Nessuna modifica al backend Γ¨ possibile via questa API.

Sorgenti disponibili

cdvAtti Casa di Vetro (decreti, delibere, determine)
crConsiglio Regionale (interrogazioni, mozioni, leggi)
burcBollettino Ufficiale Regione Campania
gareGare d'appalto Portale Gare Telematiche
odgOrdini del Giorno Sedute di Giunta

πŸ”‘ Autenticazione

Tutti gli endpoint — tranne /api/agent/manifest e /api/agent/tipologie — richiedono un Bearer token.

Authorization: Bearer mcdv-agent-<...>
Token AGENT_TOKEN: richiedere a Ferdinando (Segreteria Odierna, [email protected]). Il token Γ¨ separato dall'admin token e ha solo permessi di lettura.

πŸ“‘ Endpoint disponibili

GET/api/agent/manifest
Pubblico, no auth. Discovery delle capability. Un agente puΓ² partire da qui senza altra documentazione.
curl https://monitoraggiocdv.progetti.campania.it/api/agent/manifest
GET/api/agent/search
Ricerca multi-source con ranking di pertinenza.
ParamTipoDefaultNote
qstringβ€”obbligatorio
limitint101–50
sourcescsvtuttees. cdv,cr
snippetbooltrueframmenti <mark>…</mark>
curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/search?q=DGR%20254%20del%2024/05/2022&limit=3"

Schema risultato: { source, id, title, snippet, tipologia, num_atto_anno, data, struttura, fonte, rank, citation_url, pdf_url, _branch }

GET/api/agent/fetch
Singolo documento con metadati + testo PDF estratto + lista allegati.
ParamTipoNote
sourcestringcdv | cr | burc | gare | odg
idintdall'id di /search
max_textintdefault 50000 (max 400000)
curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/fetch?source=cdv&id=18715&max_text=20000"
GET/api/agent/recent
Ultimi atti pubblicati. Per briefing giornalieri.
ParamDefaultNote
hours481–720
limit301–100
sourcestuttecsv
curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/recent?hours=24&sources=cdv,cr"
GET/api/agent/structure
Mappa delle strutture amministrative regionali con codici (es. 50|14 = DG 50.14 RU). Utile per interpretare il campo struttura dei documenti.
GET/api/agent/tipologie
Pubblico, no auth. Codici tipologia β†’ label (E=Decreto Dirigenziale, G=Delibera di Giunta, …).

πŸ” Sintassi delle query

Il motore prova piΓΉ strategie in cascata (la prima che matcha vince):

EsempioStrategiaNote
DGR 254 del 24/05/2022atto naturaleparser italiano: tipologia+num+anno+data
dd 207/2024atto naturaleshorthand
595/2025code num/annomatch esatto su num+anno_atto
00595/2025code num/annozero-padding accettato
9876543210code CIG10 caratteri alfanumerici
"concorso straordinario"FTSfrase esatta
farmacia -decadenzaFTSesclusione termine
sarn*FTSprefix match
PCE OR TCEFTSalternative
endometriosiFTSstemming italiano

Il campo _branch nella risposta indica quale strategia ha trovato il risultato (utile per debug del ranking).

πŸ’‘ Esempi pratici (Segreteria Odierna)

Sarno + contaminazione PCE/TCE

Trova tutti gli atti correlati al dossier Sarno e allo studio Federico II:

curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/search?q=Sarno+PCE+contaminazione&limit=10"

Regolamento UDCP (BURC 56/2025)

curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/search?q=BURC%2056/2025&sources=burc"

Briefing pre-Giunta della settimana

curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/recent?hours=168&sources=odg,cdv"

Atti firmati da Odierna (XII Legislatura)

curl -H "Authorization: Bearer $T" \
  "$BASE/api/agent/search?q=Odierna+Sebastiano&sources=cr&limit=20"

Concorso farmacie (dossier DD 595/2025)

# Per numero esatto
curl -H "Authorization: Bearer $T" "$BASE/api/agent/search?q=595/2025"
# Espandi
curl -H "Authorization: Bearer $T" "$BASE/api/agent/fetch?source=cdv&id=<...>"

πŸ€– Prompt template per Claude Code

Incolla questo nel system prompt di un'altra sessione Claude Code (o nel CLAUDE.md di un progetto) per dargli accesso all'archivio:

Hai accesso al knowledge base MonitoraggioCDV (Regione Campania, ~104k atti).

Base URL: https://monitoraggiocdv.progetti.campania.it
Auth: Authorization: Bearer ${AGENT_TOKEN}   # da .env / segreto

Workflow consigliato:
1. Per query libere β†’ GET /api/agent/search?q=...
2. Per espandere un risultato β†’ GET /api/agent/fetch?source=<s>&id=<id>
3. Per briefing recenti β†’ GET /api/agent/recent?hours=24
4. Cita SEMPRE il campo `citation_url` restituito.

Sintassi query:
- "frase esatta" / -escludi / prefix* / A OR B
- Numero atto: "595/2025" oppure "DGR 254 del 24/05/2022"
- CIG: 10 caratteri alfanumerici

Sources: cdv (atti regionali) | cr (Consiglio) | burc | gare | odg

Per scoprire tutte le capability senza memorizzarle, l'agente puo' iniziare con:
  curl https://monitoraggiocdv.progetti.campania.it/api/agent/manifest
(no auth richiesta sul manifest).

πŸ“‹ Manifest JSON live

Il manifest Γ¨ generato dinamicamente dal backend. Un agente puΓ² scaricarlo a runtime per scoprire eventuali nuovi endpoint:

GET /api/agent/manifest β†’

Garanzie: tutte le rotte /api/agent/* sono GET read-only. Non c'Γ¨ alcun modo per un agente, anche con il token, di modificare i dati o eseguire codice lato server.