Sincronizzazione eventi con il CMS
OpenAgenda e il sito CMS (OpenCity) sono due applicativi separati che si sincronizzano tramite webhook: quando un evento viene pubblicato o eliminato su OpenAgenda, viene inviata automaticamente una notifica al CMS, che crea, aggiorna o rimuove il corrispondente contenuto di tipo event_link (Evento OpenAgenda).
Come funziona
Sul lato OpenAgenda sono configurati due webhook:
uno per la pubblicazione degli eventi: crea o aggiorna un
event_linknel CMS tramite API REST;uno per l'eliminazione degli eventi: rimuove il nodo corrispondente nel CMS.
Le chiamate vengono autenticate tramite un token JWT intestato all'utente tecnico openagendabot. Il token è firmato con chiave RSA privata (jwt/private.key.pem) e ha durata di 1 anno.
L'utente openagendabot viene creato automaticamente nel CMS dall'installer del modulo event_link.
La consegna dei webhook è gestita da un worker supervisor in esecuzione sul server cron, che garantisce la coda e il retry in caso di errori transitori.
Rinnovo del token JWT
Alla scadenza annuale del token sono disponibili due opzioni:
rieseguire lo script di setup
set_event_link_webhooks.php, che rigenera il token JWT;generare una nuova password per l'utente
openagendabotnel CMS, ottenere un bearer token e inserirlo nella configurazione del webhook. Anche questo token ha validità 1 anno.
Configurazione iniziale
Per collegare una nuova coppia agenda/CMS:
Per i dettagli operativi di installazione, fai riferimento alle istruzioni tecniche di setup del modulo.
La sincronizzazione smette di funzionare
Se gli eventi pubblicati su OpenAgenda non appaiono (o non vengono rimossi) dal sito, la causa più comune è la scadenza del token dell'utente openagendabot. Il token ha durata 365 giorni dalla sua generazione.
Segna in calendario un rinnovo circa 350 giorni dopo ogni rigenerazione del token, per non farti cogliere di sorpresa alla scadenza.
Conferma la diagnosi
I webhook si trovano al path /webhook/list del tenant OpenAgenda, ad esempio https://agenda.comune.DOMINIO/webhook/list. Trovi due webhook attivi:
Publish event link — pubblica gli eventi sul sito (metodo POST);
Delete event link — rimuove gli eventi dal sito (metodo DELETE).
Clicca Logs accanto al webhook Publish event link. Se vedi righe rosse con codice 401, il token è scaduto: procedi con la risoluzione qui sotto. Se il codice è diverso da 401, apri l'ultimo log fallito e leggi il campo Response in fondo per capire la causa specifica.
Risoluzione
Recupera le credenziali dell'utente openagendabot
Vai su Amministra → Gestione accessi redazione e cerca l'utente openagendabot. Verifica la mail di recupero associata. Se non hai accesso alla mailbox, modifica temporaneamente la mail con la tua, esegui il recupero password, poi rimetti la mail originale.
Rigenera il token
Il metodo dipende dal tipo di autenticazione usata nel webhook.
Accedi con l'account openagendabot e rigenera il token Bearer dal profilo utente. Copialo subito: ti serve nel passo successivo.
Apri il terminale e lancia il comando:
La stringa restituita va inserita dopo Authorization: Basic nella configurazione del webhook. Esempio di header completo:
Last updated
Was this helpful?