InfoTarga

Scopri come integrare InfoTarga

Qui puoi trovare la documentazione per integrare questo servizio nella tua applicazione, sito web o sistema.

Determinare se una targa è coperta da assicurazione

Vediamo ora un esempio di codice in TypeScript che mostra come effettuare una richiesta all'API per determinare se una targa è coperta da assicurazione o meno. Questo esempio include la gestione degli errori e l'uso di variabili d'ambiente per la chiave API.


Prima di utilizzare la chiave API, ti consigliamo di memorizzarla in un file .env, per evitare di esporla nel codice sorgente.

.env
INFOTARGA_SECRET_KEY=sk_demo_00000000000000000000000000000000

Puoi utilizzare qualsiasi libreria per le richieste HTTP. In questo esempio utilizziamo fetch, che è disponibile sia in Node.js che nei browser moderni.

api.ts
/**
* Funzione per ottenere lo stato assicurativo di una targa
* @param plate La targa da controllare
* @return true se la targa è coperta da assicurazione, false se non lo è, null in caso di errore
*/
export async function getPlateInsuranceStatus(plate: string) {
try {
const endpoint = `https://infotarga.com/api/query/${plate}`
const query = await fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.INFOTARGA_SECRET_KEY!,
},
body: JSON.stringify({
includeInsurance: true,
}),
})
if (!query.ok) {
// Se incontriamo un errore in questa fase,
// significa che c'è un problema di connessione con l'API
throw new Error('Network response was not ok')
}
const response = await query.json()
if (response.error) {
// Se l'API restituisce un errore, gestiamolo qui
// Ad esempio, potremmo voler controllare il codice di errore
// e fornire un messaggio più dettagliato
throw new Error(data.message)
}
if (!response.data.insurance) {
// Quando non è possibile recuperare i dati assicurativi,
// nonostante la richiesta sia andata a buon fine:
// response.data.insurance === null
throw new Error('Insurance data not available')
}
// Se tutto va bene, possiamo restituire lo stato assicurativo
return response.data.insurance.compliant
} catch (error) {
console.error('Error fetching plate data:', error)
return null
}
}

Possiamo ora utilizzare questa funzione nel nostro codice principale per verificare lo stato assicurativo di una targa in modo dinamico, mostrando un messaggio diverso a seconda dello stato.

index.ts
import { getPlate } from './api'
export async function main() {
const plate = 'VE160LO'
const insuranceStatus = await getPlateInsuranceStatus(plate)
if (isInsured) {
console.log(`La targa "${plate}" è coperta da assicurazione.`)
} else if (insuranceStatus === false) {
console.log(`La targa "${plate}" non è attualmente coperta da assicurazione.`)
} else if (insuranceStatus === null) {
console.log(`Non è stato possibile recuperare lo stato assicurativo per la targa "${plate}".`)
}
}
main()

Per scoprire altre funzionalità dell'API consulta la documentazione completa, o visita il playground per testare le chiamate API in modo interattivo.