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.monselice.padova.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":"1715707146","format ":"json","list":[{"name":"Halley Veneto SRL","activeAccounts":1,"activated":1579167699,"countBots":0},{"name":"COMUNE MONSELICE PADOVA -","activeAccounts":4,"activated":1657789539,"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>1715707146</currentDate><format >xml</format ><list><item0><name>Halley Veneto SRL</name><activeAccounts>1</activeAccounts><activated>1579167699</activated><countBots>0</countBots></item0><item1><name>COMUNE MONSELICE PADOVA -</name><activeAccounts>4</activeAccounts><activated>1657789539</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":"1715707147","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":"1715707147","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":"1715707147","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":"1715707147","format ":"json","words":[{"text":"\/start","request":"268"},{"text":"\ud83d\udcc3 Men\u00f9 principale","request":"146"},{"text":"\/meteo","request":"78"},{"text":"\/manuale","request":"77"},{"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":"77"},{"text":"\ud83c\uddee\ud83c\uddf9 Amministrazione","request":"32"},{"text":"\ud83c\udfe2 Uffici","request":"28"},{"text":"\/socialloginout","request":"26"},{"text":"\/wifi","request":"24"},{"text":"\ud83d\udcd1 Ordinanze","request":"19"},{"text":"Men\u00f9 principale","request":"19"},{"text":"\ud83d\udc65 Assessori","request":"19"},{"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":"19"},{"text":"\ud83d\udc64 Sindaco","request":"18"},{"text":"\u2709\ufe0f\u260e\ufe0f Contatti","request":"14"},{"text":"\/dataupload","request":"13"},{"text":"\ud83d\udcc4 Delibere o Determine","request":"12"},{"text":"\ud83d\udcdd Modulistica","request":"11"},{"text":"caricamento dati","request":"11"},{"text":"\ud83d\udd0d Trasparenza","request":"10"},{"text":"\/notizie","request":"10"},{"text":"sindaco","request":"8"},{"text":"Settore di Staff - Segreteria del Sindaco","request":"7"},{"text":"Parolo Andrea","request":"7"},{"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":"7"},{"text":"POLIZIA LOCALE","request":"7"},{"text":"SERVIZI ALLA PERSONA","request":"7"},{"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":"7"},{"text":"SERVIZI TECNICI","request":"6"},{"text":"\/rifiuti","request":"6"},{"text":"Settore Segretario Generale","request":"6"},{"text":"\ud83d\udde3 Consiglieri","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":"Non ho trovato una risposta per quanto hai scritto.\n\nHo avviato la procedura per inviare una segnalazione ad un'operatore. Gentilmente completa i seguenti passaggi. Ora puoi condividere o meno una foto se lo ritieni utile.","request":"5"},{"text":"Ok","request":"5"},{"text":"\/taskstatus","request":"5"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK Non autenticato","request":"5"},{"text":"Meteo","request":"5"},{"text":"\/","request":"5"},{"text":"\/privacy","request":"4"},{"text":"AFFARI GENERALI","request":"4"},{"text":"Peraro Stefano","request":"4"},{"text":"\ud83d\udd16 Regolamenti","request":"4"},{"text":"Piccolo Luca","request":"3"},{"text":"di Staff - Segreteria del Sindaco","request":"3"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK - Pagina: 155693130955138","request":"3"},{"text":"Per poterti elencare i wifi pi\u00f9 vicini a te dovresti gentilmente condividermi la tua posizione.","request":"3"},{"text":"Eventi","request":"3"},{"text":"\/timepassword","request":"2"},{"text":"contatti","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":"1715707147","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":"1715707147","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":"1715707147","token":"tokenhalleyveneto","format ":"json","years":{"error":"Client token error"}}