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.farra.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":"1718238290","format ":"json","list":[{"name":"Halley Veneto SRL","activeAccounts":1,"activated":1579167699,"countBots":0},{"name":"FARRA","activeAccounts":7,"activated":1648017065,"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>1718238290</currentDate><format >xml</format ><list><item0><name>Halley Veneto SRL</name><activeAccounts>1</activeAccounts><activated>1579167699</activated><countBots>0</countBots></item0><item1><name>FARRA</name><activeAccounts>7</activeAccounts><activated>1648017065</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":"1718238290","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":"1718238290","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":"1718238290","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":"1718238291","format ":"json","words":[{"text":"\/start","request":"48"},{"text":"\/meteo","request":"21"},{"text":"\/dataupload","request":"18"},{"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":"16"},{"text":"sindaco","request":"6"},{"text":"\ud83d\udcc3 Menu principale","request":"5"},{"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":"4"},{"text":"\/socialloginout","request":"4"},{"text":"\/notizie","request":"4"},{"text":"\ud83d\udc65 Assessori","request":"3"},{"text":"Andreola Michele","request":"3"},{"text":"\ud83d\udc64 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: 102953571778382","request":"3"},{"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":"3"},{"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":"3"},{"text":"\/weather","request":"2"},{"text":"\u2709\ufe0f\u260e\ufe0f Contatti","request":"2"},{"text":"Men\u00f9 principale","request":"2"},{"text":"\/timepassword","request":"2"},{"text":"contatti","request":"2"},{"text":"\/NewsCategories","request":"2"},{"text":"uffici","request":"2"},{"text":"Meteo","request":"2"},{"text":"\ud83c\udfe2 Uffici","request":"1"},{"text":"Affari Generali \/ Amministrativa","request":"1"},{"text":"Protocollo - Messi","request":"1"},{"text":"caricamento dati","request":"1"},{"text":"\ud83c\uddee\ud83c\uddf9 Amministrazione","request":"1"},{"text":"\ud83d\udcdd Modulistica","request":"1"},{"text":"\/checkssl","request":"1"},{"text":"\/newswithcategory","request":"1"},{"text":"newscategory","request":"1"},{"text":"\/newscategory","request":"1"},{"text":"NewsCategories","request":"1"},{"text":"Affari Generali \/ Sociale","request":"1"},{"text":"Biblioteca - Mediateca","request":"1"},{"text":"\/rifiuti","request":"1"},{"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":"1"},{"text":"manuale","request":"1"},{"text":"\/manuale","request":"1"},{"text":"ordinanze scuola","request":"1"},{"text":"\/avviso","request":"1"},{"text":"Stai gestendo l'avviso di emergenza che potrai inviare a tutti gli iscritti. Scegli:\n [Crea avviso] per inserire un nuovo avviso\n [Annulla] per interrompere la gestione degli avvisi. \n\nCreato un nuovo avviso lo potrai successivamente inviare.","request":"1"},{"text":"Benvenuto nella procedura di connessione ai social.\nRiepilogo la situazione corrente.\n\nServizio abilitato per i seguenti social:\n FACEBOOK Non autenticato","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":"1718238291","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":"1718238291","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":"1718238291","token":"tokenhalleyveneto","format ":"json","years":{"error":"Client token error"}}