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://informazioni.comune.alonte.vi.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":"1714377603","format ":"json","list":[{"name":"Halley Veneto SRL","activeAccounts":1,"activated":1579167699,"countBots":0},{"name":"INFORMAZIONI COMUNE ALONTE VI -","activeAccounts":2,"activated":1666021038,"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>1714377603</currentDate><format >xml</format ><list><item0><name>Halley Veneto SRL</name><activeAccounts>1</activeAccounts><activated>1579167699</activated><countBots>0</countBots></item0><item1><name>INFORMAZIONI COMUNE ALONTE VI -</name><activeAccounts>2</activeAccounts><activated>1666021038</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":"1714377608","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":"1714377608","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":"1714377608","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":"1714377608","format ":"json","words":[{"text":"\/notizie","request":"6"},{"text":"\/start","request":"5"},{"text":"\/meteo","request":"5"},{"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":"5"},{"text":"\/dataupload","request":"5"},{"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":"4"},{"text":"\/timepassword","request":"4"},{"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":"3"},{"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":"3"},{"text":"Sindaco","request":"2"},{"text":"come faccio la carta di identit\u00e0 elettronica?","request":"2"},{"text":"potrei parlare con l'ufficio tecnico?","request":"1"},{"text":"potrei parlare con il responsabile dell'area tecnica?","request":"1"},{"text":"\/statistiche","request":"1"},{"text":"caricamento dati","request":"1"}]}
  • /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":"1714377608","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":"1714377608","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":"1714377608","token":"tokenhalleyveneto","format ":"json","years":{"error":"Client token error"}}