Vai al contenuto
123 Consulenza123Consulenza
API Reference · v1

Documentazione API — 123 Consulenza Open Data

Tutto quello che serve per integrare nei tuoi prodotti i dati su enti competenti, scadenze formazione e stato del servizio. Senza autenticazione, JSON puro, CORS aperto.

4Endpoint v1JSONFormatoCORSAperto107Province
Risposta rapida

L’API REST pubblica di 123 Consulenza ti permette di leggere dati su enti competenti, calcolare la scadenza degli attestati di formazione e monitorare lo stato del servizio. Endpoint sotto /api/v1/, risposte JSON con envelope { data, meta }, errori con envelope { error: { code, message } }. Nessuna chiave necessaria.

Quick start

Cinque chiamate per iniziare. Copia, incolla, sostituisci la provincia o il ruolo che ti interessa.

1. Health check

curl https://www.123consulenza.com/api/v1/health

2. Tutti gli enti

curl https://www.123consulenza.com/api/v1/enti?limit=10

3. Enti di una regione

curl "https://www.123consulenza.com/api/v1/enti?regione=lazio"

4. Ente competente per provincia

curl https://www.123consulenza.com/api/v1/enti/milano

5. Calcolo scadenza formazione

curl -X POST https://www.123consulenza.com/api/v1/scadenza-formazione \
  -H "Content-Type: application/json" \
  -d '{"ruolo":"preposto","tipo":"iniziale","dataRilascio":"2024-04-10"}'

Autenticazione

La versione v1 non richiede autenticazione. Non esistono API key, OAuth o header di firma. Puoi chiamare gli endpoint sia lato server sia direttamente dal browser (CORS aperto).

Per scenari ad alto volume o esigenze SLA, contattaci: valutiamo l’assegnazione di una key dedicata con limiti più alti e supporto prioritario.

Rate limiting

Nessun rate limit strutturale al momento. Applichiamo politiche best-effort a livello di CDN per proteggere il servizio. Linee guida:

Versioning

La versione corrente è v1. Il numero di versione è incluso nel path (/api/v1/...). Cambi non retrocompatibili comporteranno una nuova major (/api/v2/...) con periodo di overlap di almeno 12 mesi. Le aggiunte non-breaking (nuovi campi opzionali, nuovi endpoint) sono pubblicate sotto la stessa major.

La versione viene esposta anche nell’oggetto meta.version di ogni risposta e nell’endpoint /api/v1/health.

Errori

Tutti gli errori restituiscono JSON con la forma:

{ "error": { "code": "invalid_input", "message": "Descrizione leggibile dell'errore" } }
codeHTTP statusDescrizione
invalid_json400Body JSON malformato o non parseabile.
invalid_input400Parametri non validi: il messaggio contiene il dettaglio dei campi.
unknown_role400Ruolo non riconosciuto dal motore scadenze.
not_found404Risorsa non trovata (provincia o regione inesistente).
method_not_allowed405Metodo HTTP non supportato dall’endpoint.
internal_error500Errore interno del server. Riprovare.

Endpoints

Espandi ogni endpoint per parametri, schema di risposta ed esempi nei tre linguaggi più comuni.

GET/api/v1/enti

Elenco enti competenti

Restituisce l’elenco completo degli enti competenti per provincia (ASL/ATS/AUSL/ULSS/ASP + INL + VVF). Paginabile, filtrabile per regione.

Parametri

NomeInTipoObbl.Descrizione
regionequerystringnoSlug regione (es. lazio, lombardia).
limitquerynumbernoNumero massimo risultati (1–200, default 100).
offsetquerynumbernoOffset di paginazione (default 0).

Schema di risposta

{
  "data": [ { "provincia": "Milano", "regione": "Lombardia", "asl": { ... }, "inl": { ... }, "vvf": { ... } }, ... ],
  "meta": { "version": "1.0", "total": 107, "limit": 100, "offset": 0, "license": "CC BY 4.0", "source": "www.123consulenza.com" }
}

Esempi

cURL

curl "https://www.123consulenza.com/api/v1/enti?regione=lazio&limit=20"

JavaScript (fetch)

const res = await fetch('https://www.123consulenza.com/api/v1/enti?regione=lazio');
const { data, meta } = await res.json();
console.log(data.length, meta.total);

Python (requests)

import requests
r = requests.get('https://www.123consulenza.com/api/v1/enti', params={'regione': 'lazio'})
payload = r.json()
print(len(payload['data']))
GET/api/v1/enti/{provincia}

Dettaglio ente per provincia

Restituisce ASL/INL/VVF competenti per la provincia indicata (slug, es. milano, roma, napoli).

Parametri

NomeInTipoObbl.Descrizione
provinciapathstringSlug provincia (es. milano).

Schema di risposta

{
  "data": { "provincia": "Milano", "regione": "Lombardia", "asl": { "nome": "...", "telefono": "...", "indirizzo": "...", "url": "..." }, "inl": { ... }, "vvf": { ... } },
  "meta": { "version": "1.0", "license": "CC BY 4.0", "source": "www.123consulenza.com" }
}

Esempi

cURL

curl https://www.123consulenza.com/api/v1/enti/milano

JavaScript (fetch)

const res = await fetch('https://www.123consulenza.com/api/v1/enti/milano');
const { data } = await res.json();

Python (requests)

import requests
r = requests.get('https://www.123consulenza.com/api/v1/enti/milano')
print(r.json()['data']['asl'])
POST/api/v1/scadenza-formazione

Calcolo scadenza formazione

Calcola la scadenza dell’attestato dato il ruolo, il tipo (iniziale/aggiornamento) e la data di rilascio. Risultato indicativo: la durata effettiva dipende dal caso specifico.

Parametri

NomeInTipoObbl.Descrizione
ruolobodystringIdentificativo ruolo (es. lavoratore-basso, preposto, rls).
tipobodystringno"iniziale" (default) o "aggiornamento".
dataRilasciobodystring (YYYY-MM-DD)Data del rilascio dell’attestato.

Schema di risposta

{
  "data": { "ruolo": "preposto", "tipo": "iniziale", "dataRilascio": "2024-04-10", "scadenza": "2026-04-10", "giorniMancanti": 480, "stato": "valido" },
  "meta": { "version": "1.0" }
}

Esempi

cURL

curl -X POST https://www.123consulenza.com/api/v1/scadenza-formazione \
  -H "Content-Type: application/json" \
  -d '{"ruolo":"preposto","tipo":"iniziale","dataRilascio":"2024-04-10"}'

JavaScript (fetch)

const res = await fetch('https://www.123consulenza.com/api/v1/scadenza-formazione', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ ruolo: 'preposto', tipo: 'iniziale', dataRilascio: '2024-04-10' }),
});
const { data } = await res.json();

Python (requests)

import requests
r = requests.post(
  'https://www.123consulenza.com/api/v1/scadenza-formazione',
  json={'ruolo': 'preposto', 'tipo': 'iniziale', 'dataRilascio': '2024-04-10'},
)
print(r.json()['data'])
GET/api/v1/health

Health check

Restituisce lo stato del servizio e la versione corrente. Utile per monitoring lato integratore.

Schema di risposta

{
  "data": { "status": "ok", "version": "1.0", "timestamp": "2026-06-20T10:00:00.000Z" },
  "meta": { "version": "1.0" }
}

Esempi

cURL

curl https://www.123consulenza.com/api/v1/health

JavaScript (fetch)

const ok = (await (await fetch('https://www.123consulenza.com/api/v1/health')).json()).data.status === 'ok';

Python (requests)

import requests
print(requests.get('https://www.123consulenza.com/api/v1/health').json())

OpenAPI Spec

Specifica completa in formato OpenAPI 3.1 (JSON). Importabile in Postman, Insomnia, Swagger UI, Stoplight, Redocly e qualsiasi generator di SDK.

Use cases

Software HR & payroll

Notifica automatica delle scadenze attestati per ogni lavoratore: chiami /api/v1/scadenza-formazione al variare di ruolo o data corso.

Gestionali consulenza del lavoro

Associazione automatica dell’attività cliente al corretto ente competente via lookup provincia (/api/v1/enti/{provincia}).

ERP food & HoReCa

Pannello multi-sede con riferimento ASL competente per ciascun punto vendita; integrazione nei flussi controlli sanitari.

Dashboard compliance

Monitor multi-aziendale per gruppi e holding: stato attestati e contatti ente competente in un solo posto.

Termini d’uso

I dati sono rilasciati in licenza Creative Commons Attribution 4.0 International (CC BY 4.0): puoi usarli, ridistribuirli e modificarli anche per scopi commerciali, a condizione di citare la fonte.

Citazione richiesta

«Dati: 123 Consulenza — licenza CC BY 4.0.»

I contenuti restituiti dall’API hanno finalità informativa e non sostituiscono la valutazione tecnica o legale del caso specifico. Per scelte operative consulta un professionista abilitato.

Contact sviluppatori

Ti serve un endpoint che ancora non esiste, un dataset aggiuntivo o una chiave dedicata per alto volume? Scrivici descrivendo il caso d’uso: rispondiamo entro 2 giorni lavorativi.

Vuoi integrare i nostri dati nel tuo prodotto?

Aiutiamo software gestionali, ERP e portali HR a integrare l’API e i widget 123 Consulenza in modo nativo.