Aggiornamento: Nuova documentazione API swagger

RESTful APIs consentono di leggere le metriche dell'utilizzo della piattaforma.


Le myNotice REST API seguono gli standard JavaScript Object Notation ( JSON ) per la formattazione dei dati. Un vantaggio principale di JSON è che aiuta a rendere API le query facili da scrivere, leggere e analizzare da sviluppatori e computer.
E' sempre possibile richiedere i dati nei formati:
  • XML
  • CSV (separatore ,)
  • CSV2 (separatore ;)
  • PSV (separatore |)
  • SSV (separatore spazio)
  • TSV (separatore TAB)
Informazioni su requisiti generali, autenticazione, parametri di query facoltativi, URL di richiesta e altri riferimenti.

Requisiti API e raccomandazioni

Alcune raccomandazioni da renete presenti quando si vuole lavorate con le API di myNotice:
  • Parametri di richiesta: Tutti i parametri di richiesta sono obbligatori, se non diversamente specificato.
  • JSON tipo di contenuto: Specificate content-type: application/json e inserite accept: application/json nel codice quando è necessario inviare dati.
  • Richieste e risposte: Invia le richieste come un JSON oggetto formattato correttamente. myNotice risponde con dati JSON formattati. Le risposte del server possono contenere i dati richiesti, un codice di stato o entrambi.
  • Accesso: all'interno del portale myNotice potete trovare nella bacheca i tokens che vi consentiranno di effettuare richieste API.
  • Documentazione ed esempi di codice: Il testo in corsivo rappresenta una variabile fornita o passata durante la creazione o la ricezione di API dati. Sostituite il testo in corsivo con codice, parametri o altre informazioni personali.

Autenticazione

Essendo esposte delle metriche di utilizzo al momento non è necessaria l'autenticazione. Sono sufficienti i token forniti nella bacheca dell'area riservata.

Parametry query API opzionali

il parametro formato JSON/XML è opzionale. Il formato predefinito è JSON, mentre per avere i dati in formato XML va specificato.

Richieste

Per effettuare unarichiesta è sufficiente usare il metodo GET.
Esempio per ottenere la lista dei Comuni iscritti alla piattaforma:
https://mynotice.comune.borgoricco.pd.it/api/v1/metrics/listclient
Di seguito i metodi che si possono utilizzare:

listclient[/xml]

Il metodo restituisce la lista dei comuni attivi in formato json/xml.
Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • list: lista di Comuni con bot attivi
    • name: nome Comune
    • activeAccounts: numero di operatori attivati
    • activated: data attivazione Comune in formato timestamp
    • countBots: numero di bots attivi per il Comune

listbots/tokenAAAXXX000[/xml]

Il metodo restituisce la lista dei bots attivi in formato json/xml. E' necessario passare il token del Comune
Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • countBots: numero di bots attivati
  • listbots: lista di Comuni con bot attivi
    • bot_name: nome del bot
    • enabled: se attivo, data di attivazione in formato timestamp, altrimenti false
    • users: numero di utenti iscritti
    • messagges: numero di messaggi scambiati

botdetails/tokenAAAXXX000/botNOME_BOT[/xml]

Il metodo restituisce dettagli e statistiche del bot indicato in formato json/xml. E' necessario passare il token del Comune e lo username del bot
Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • bot: username del bot richiesto
  • bot_name: nome del bot
  • bot_auto_authorization: se il bot accetta automaticamente nuovi utenti [1] o se il bot attende l'autorizzazione degli utenti da parte di un operatore [0]
  • enabled: se attivo, data di attivazione in formato timestamp, altrimenti false
  • bot_description: descrizione del bot che appare appena un utente lo trova su telegram
  • bot_about: informazioni che appaiono entrando nei dettagli del bot su Telegram
  • bot_pic: url immagine associata al bot
  • bot_commands: elenco dei comandi associati al bot
  • channel_news: canale associato al bot
  • last_news: ultima notizia pubblicata dal bot
  • warning_email: indirizzo email a cui vengono inviate le segnalazioni fatte tramite il bot

warning[/tokenAAAXXX000][/xml]

Il metodo restituisce le statistiche delle segnalazioni su tutti i bot di tutti i Comuni. Se è specificato il token del comune fornirà solo le segnalazioni in tutti i bots del Comune.Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • warning: lista dei tipi di segnalazioni
    • text: tipo segnalazione
    • request: numero di ricorrenze
  • totalWarning: totale segnalazioni

words[/tokenAAAXXX000[/botNOME_BOT]][/xml]

Il metodo restituisce le statistiche dell 50 parole/frasi più utilizzate su tutti i bot di tutti i Comuni. Se è specificato il token del comune fornirà solo le 50 parole più utilizzate in tutti i bots del Comune.Se è specificato anche il nome del bot, oltre al token del Comune, fornirà solo le 50 parole più utilizzate su quello specifico bot.
Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • bot: nome del bot; solo se richiesto uno specifico bot
  • words: lista di Comuni con bot attivi
    • text: parola richiesta
    • request: numero di ricorrenze

year[/tokenAAAXXX000][/xml]

Il metodo restituisce le statistiche delle iscrizioni annuali su tutti i bot di tutti i Comuni. Se è specificato il token del comune fornirà solo le iscrizioni annuali in tutti i bots del Comune.Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • years: lista degli anni
    • year: l'anno
    • subscription: numero di iscrizioni al/ai bot/s
  • totalSubscription: totale iscrizioni

response[/tokenAAAXXX000][/xml]

Il metodo restituisce le statistiche delle possibili risposte univoche e delle combinazioni che permettono di accedere ai contenuti.Restituisce:
  • platform: nome piattaforma
  • version: versione API
  • currentDate: data corrente esportazione dei dati in formato timestamp
  • responseCombination: lista dei valori
    • response: numero di risposte salvate
    • combination: numero di combinazioni che permettono di accedere alle risposte salvate

Esempi usi API:
  • /api/v1/metrics = Rimanda alla presente guida
  • /api/v1/metrics/listclient = Lista comuni attivi in formato json
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","format ":"json","list":[{"name":"Halley Veneto SRL","activeAccounts":1,"activated":1579167699,"countBots":0},{"name":"UNE B ORICCO PD","activeAccounts":4,"activated":1649663346,"countBots":1}]}
  • /api/v1/metrics/listclient/xml = Lista comuni attivi in formato xml
    <?xml version="1.0"?> <data><platform>myNotice</platform><version>1.0</version><currentDate>1713991791</currentDate><format >xml</format ><list><item0><name>Halley Veneto SRL</name><activeAccounts>1</activeAccounts><activated>1579167699</activated><countBots>0</countBots></item0><item1><name>UNE B ORICCO PD</name><activeAccounts>4</activeAccounts><activated>1649663346</activated><countBots>1</countBots></item1></list></data>
  • /api/v1/metrics/listbots/tokenhalleyveneto = Lista dei bots attivi nel Comune in formato json.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"tokenhalleyveneto","format ":"json","error":"Client token error"}
  • /api/v1/metrics/botdetails/tokenhalleyveneto/botHalleyVenetoBot = Statistiche in dettaglio del bot in formato json.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"halleyveneto","bot":"botHalleyVenetoBot","format ":"json","error":"Bot error"}
  • /api/v1/metrics/warning/tokenhalleyveneto = Statistiche delle segnalazioni ricevute dallo specifico Comune.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"tokenhalleyveneto","format ":"json","warnings":{"error":"Client token error"}}
  • /api/v1/metrics/words = Statistiche dell 50 parole/frasi più utilizzate su tutti i bot di tutti i Comuni.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","format ":"json","words":[{"text":"\/start","request":"92"},{"text":"\/notizie","request":"60"},{"text":"Scegli le categorie su cui vuoi rimanere informato.\nPremi Conferma per completare le tue scelte.\nIn qualunque momento digita \/notizie per cambiare le tue sottoscrizioni.","request":"51"},{"text":"\/socialloginout","request":"45"},{"text":"\ud83d\udcc3 Men\u00f9 principale","request":"42"},{"text":"\/dataupload","request":"29"},{"text":"\/meteo","request":"27"},{"text":"Benvenuto nella procedura per il caricamento di dati tramite l'invio dei file. Inviami un file CSV o XLS con l'elenco dei dati da caricare, premi Lista per vedere cosa ho gi\u00e0 caricato oppure annulla l'operazione.","request":"24"},{"text":"\ud83c\udfe2 Uffici","request":"21"},{"text":"\/avviso","request":"21"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK - Nessuna pagina selezionata","request":"20"},{"text":"\/rifiuti","request":"19"},{"text":"\/manuale","request":"19"},{"text":"Benvenuto nella funzione di notifica del tempo. Puoi attivare o disattivare questo servizio per ricevere ogni mattina la notifica meteo del tuo Comune. Puoi inoltre chiedermi il tempo attuale o annullare l'attivit\u00e0.","request":"18"},{"text":"sindaco","request":"11"},{"text":"Benvenuto nella notifica meteo.\n\nPuoi attivare o disattivare il servizio di ricezione notizie meteo del Comune. Inoltre puoi chiedere le informazioni in tempo reale o annullare l'attivit\u00e0 richiesta.\n\nfonte: openweathermap.org","request":"10"},{"text":"La partecipazione dei cittadini all'attivit\u00e0 del Comune \u00e8 importante. Sono quindi ben gradite le segnalazioni. Sono sufficienti pochi passaggi. Gentilmente scrivi il tipo di segnalazione.\nAlcuni esempi:\nAffissioni abusive, Arredo urbano, Aree verdi, Rifiuti, Strade e Viabilit\u00e0, Illuminazione pubblica, Altro","request":"9"},{"text":"\/statistiche","request":"9"},{"text":"\ud83c\uddee\ud83c\uddf9 Amministrazione","request":"7"},{"text":"\u2709\ufe0f\u260e\ufe0f Contatti","request":"7"},{"text":"\ud83d\udc64 Sindaco","request":"6"},{"text":"\/segnalazione","request":"6"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK Attesa autorizzazione","request":"6"},{"text":"Men\u00f9 principale","request":"5"},{"text":"di Staff","request":"5"},{"text":"Benvenuto nel servizio automatizzato per ricevere i promemoria dei rifiuti che vengono raccolti.\nTappa (premi sul bottone) o scrivi:\nAbilita promemoria: per attivare le notifiche\nDisabilita promemoria: per disattivare il servizio\nOGGI: per sapere cosa si raccoglie oggi\nDOMANI: per sapere cosa si raccoglie domani\nDOPODOMANI: per sapere cosa si raccoglie dopodomani","request":"5"},{"text":"Conferma l'invio dell'avviso","request":"5"},{"text":"Meteo","request":"5"},{"text":"\/newswithcategory","request":"4"},{"text":"\/timepassword","request":"4"},{"text":"\/echo","request":"4"},{"text":"\/echo social","request":"4"},{"text":"Notizie","request":"4"},{"text":"Stai gestendo l'avviso.\nScrivi ed inviami il testo dell'avviso.","request":"4"},{"text":"Seleziona la o le categorie da associare all'avviso, poi premi [Termina] per concludere l'operazione.","request":"4"},{"text":"Attualmente \u00e8 presente il seguente avviso:\n----------------------------------\n\nAvviso del 12.04.2022 ore 12:31\n#EventiStraordinaricalamitosi \n ------ \nMessaggio meteo di prova","request":"4"},{"text":"AREA 1. AFFARI GENERALI E SERVIZI ALLA PERSONA","request":"3"},{"text":"\/warning","request":"3"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK Non autenticato","request":"3"},{"text":"5. SERVIZI CULTURALI","request":"3"},{"text":"4. LAVORI PUBBLICI E MANUTENZIONI","request":"3"},{"text":"\ud83d\udcd1 Ordinanze","request":"3"},{"text":"\ud83d\udcc4 Delibere o Determine","request":"3"},{"text":"uffici","request":"2"},{"text":"\ud83d\udc65 Assessori","request":"2"},{"text":"\ud83d\udde3 Consiglieri","request":"2"},{"text":"1. AFFARI GENERALI E SERVIZI ALLA PERSONA","request":"2"},{"text":"10: Lavori Pubblici","request":"2"},{"text":"Lavori Pubblici","request":"2"},{"text":"Segretario comunale","request":"2"}]}
  • /api/v1/metrics/words/tokenhalleyveneto = Statistiche delle 50 parole più utilizzate su tutti i bot di uno specifico Comune.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"halleyveneto","format ":"json","words":[{"text":"NoWords","request":0}]}
  • /api/v1/metrics/words/tokenhalleyveneto/botHalleyVenetoBot = Statistiche delle 50 parole più utilizzate su uno specifico bot di uno specifico Comune.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"halleyveneto","bot":"HalleyVenetoBot","format ":"json","words":{"error":"Bot error"}}
  • /api/v1/metrics/year/tokenhalleyveneto = Statistiche delle iscrizioni annuali dallo specifico Comune.
    {"platform":"myNotice","version":"1.0","currentDate":"1713991791","token":"tokenhalleyveneto","format ":"json","years":{"error":"Client token error"}}