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.
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.
/** * 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.
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.