Pratiche operativeVetrina

parlaConIO, uno strumento semplice per l’interazione con le API di app IO

Nell’ambito delle usuali funzioni svolte alle dipendenze del Comune di RIvoli, ho realizzato una suite di script Python per interfacciarsi con i server di app IO e inviare messaggi ai cittadini tramite app IO, in modo efficace, a partire da dati contenuti in file .csv, che sono prodotti tipicamente dai gestionali verticali a supporto delle attività comunali o frutto di elaborazioni manuali con i comuni software di foglio di calcolo.

La spinta alla realizzazione di parlaConIO si è concretizzata durante il raggiungimento degli obiettivi individuati dall’avviso del Fondo Innovazione. Avviati già da tempo servizi con autenticazione con SPID/CIE e i pagamenti elettronici tramite pagoPA, restava da stabilire un dialogo funzionante con app IO per implementare i servizi individuati come utili. Tuttavia, le soluzioni di mercato – tanto le estensioni dei software in uso quanto ulteriori soluzioni autonome – non apparivano del tutto soddisfacenti: al di là di un costo eccessivo (senz’altro determinato dalla disponibilità finanziaria portata dal Fondo Innovazione), sembravano soluzioni non del tutto mature e con alcune scelte progettuali che lasciavano qualche dubbio.

Così, prima di investire in un prodotto di mercato sulle cui qualità e riuscita non si poteva essere certi, abbiamo preferito sviluppare in casa una soluzione esteticamente meno elegante, sicuramente meno integrata nel sistema informativo ma allo stesso tempo versatile, adattabile e, soprattutto, funzionale e funzionante.

E’ nata allora parlaConIO , un’applicazione che funziona da riga di comando (così da soddisfare anche i nostalgici del DOS e gli appassionati di vintage) e non necessita di sforzi eccessivi per essere messa in funzione.

Alcuni limiti di parlaConIO traspaiono già in quanto fin qui descritto, di altri non c’è motivo di fare mistero:

  • funziona da riga di comando;
  • l’interazione è di tipo testuale ed occorre quindi digitare sulla tastiera per completare un invio;
  • è un’applicazione stand-alone che va installata in locale;
  • non essendo del tutto immediata, è preferibile che la usi personale con dimestichezza nell’uso della riga di comando;
  • non consente invii automatizzati o non presidiati.

Nonostante questo, parlaConIO presenta anche dei vantaggi:

  • rende possibile inviare messaggi su IO senza necessità di complicati connettori con i software esistenti, basta estrarre un file .csv e definire alcune regole;
  • rende possibile inviare messaggi anche a partire da dati gestiti con i comuni software di office automation;
  • consente pieno controllo sullo stato degli invii, con possibilità di debugging a partire dai file di log;
  • consente di sperimentare a costo zero nuovi tipi di messaggio così da valutare la loro efficacia prima di implementarne l’invio tramite integrazioni stabili fra software;
  • a ogni invio mostra statistiche su utenti dotati di app IO e iscritti al servizio;
  • e, infine, funziona! Ed è pure veloce nell’esecuzione del suo lavoro.
Screenshot di parlaConIO in funzione

Inoltre, lo sviluppo del software ha consentito:

  • di toccare con mano il funzionamento delle API di IO;
  • trovarsi di fronte alle scelte implementative che si pongono a chi sviluppa soluzioni software (così, una volta tanto, ci siamo messi nei panni del fornitore);
  • affacciarsi al mondo del riuso nella p.a. italiana.

Infine, parlaConIO ha anche un valore educativo. Infatti, l’utente un po’ avanzato che provasse a installare e provare parlaConIO, magari a scorrerne il codice, potrebbe avvicinarsi all’esperienza compiuta da chi lo ha sviluppato, avere un esempio concreto di come funziona l’interazione fra sistemi attraverso le API REST e familiarizzare con il mondo dell’interoperablità, calato in una dimensione del tutto reale.

La soluzione parlaConIO è in riuso sul catalogo ufficale di Developers Italia ed è disponibile per il download e la consultazione della documentazione sul repository GitHub.

Condividi