CRU Configurazioni remote
Last updated
Last updated
Questa API consente alla tua Organizzazione di registrarsi presso IO come provider di contenuti remoti e di gestire nel tempo la registrazione.
La registrazione ha come oggetto le configurazioni, ossia l'insieme delle informazioni utili a creare la comunicazione tra IO e le infrastrutture della tua Organizzazione, secondo il protocollo definito nel paragrafo messaggi a contenuto remoto.
Per maggiori informazioni puoi consultare la pagina dedicata nella sezione Setup iniziale
Tutte le API descritte in questa pagina si riferiscono alle attività dell'Ente tramite e si basano sull'ottenimento e l'utilizzo della chiave "manage" che puoi recuperare nell'area di gestione dei Servizi di IO.
Le operazioni a disposizione comprendono:
La creazione di una nuova configurazione remota
La modifica di una configurazione remota esistente
Il recupero delle configurazioni remote definite
Il recupero di una particolare configurazione definita
La cancellazione di una configurazione remota non è al momento supportata
Fai riferimento al paragrafo Esempi per maggiori informazioni sull'utilizzo dei campi e sugli scenari d'uso censiti.
Con questa API puoi creare una nuova configurazione per ottenere il configuration_id
da utilizzare in tutte le chiamate successive, anche per la creazione dei messaggi a contenuto remoto.
Questa API ti consente di aggiornare una configurazione esistente, identificata dal configuration_id
.
Allo scopo di garantire nel tempo la consistenza e il corretto funzionamento in app dei messaggi a contenuto remoto, è onere del mittente adeguare tempestivamente le configurazioni ogni qualvolta si riveli necessario, utilizzando l'API di gestione qui descritta.
Con questa API puoi recuperare le configurazioni definite nell'ambito della sottoscrizione indicata negli header. Ciascun elemento ritornato nell'array rcConfigList
riporta il nome, la descrizione, la presenza di precondizioni e i dati tecnici propri della configurazione (URL di base e informazioni di autenticazione).
Con questa API, utilizzando come chiave il configuration_id
, puoi recuperare i dati specifici della corrispondente configurazione.
Nell'esempio riportato, si richiede la creazione di una nuova configurazione relativa al solo ambiente di produzione, per il quale sono indicati:
la URL di base nel campo base_url
("https://theremotecontentdomain.tld/basepath")
la relativa API key con cui si autenticherà su IO ("ac66427c-584b-4c81-9443-e761a226d33d"
, nel campokey
, valore che i tuoi sistemi si attenderanno nell'header con nome "X-API-KEY"
indicato nel campo header_key_name
)
Ricorda di impostare sempre il valore del campo details_authentication.type
con la costante "API-KEY"
In risposta otterrai, nel campo "configuration_id"
, l'identificativo della configurazione che dovrai usare in tutte le chiamate seguenti, comprese quelle di creazione dei messaggi a contenuto remoto che dovranno essere serviti da essa.
In questo secondo esempio, puoi vedere come creare una configurazione relativa agli ambienti di test e produzione.
I due blocchi "prod_environment"
e "test_environment"
sono utilizzati da IO per contattare la tua infrastruttura secondo il seguente schema:
Nel selezionare i destinatari da indicare in "test_users"
ricorda che non è consentito l'invio di messaggi di test all'utenza generale: assicurati di avere il consenso degli interessati e che questi siano a conoscenza del test in corso.
In risposta otterrai, nel campo "configuration_id"
, l'identificativo della configurazione che dovrai usare in tutte le chiamate seguenti, comprese quelle di creazione dei messaggi a contenuto remoto che dovranno essere serviti da essa.
In questo esempio ti mostriamo come recuperare l'elenco completo delle configurazioni che hai definito nell'ambito della tua sottoscrizione:
In questo esempio puoi vedere come, essendo in possesso di un configuration_id
, puoi recuperare tutte le informazioni relative a una configurazione definita in precedenza:
In questo esempio ti mostriamo come puoi aggiornare i dati di una configurazione definita in precedenza, nello specifico qui si modifica la sua descrizione:
Allo scopo di garantire nel tempo la consistenza e il corretto funzionamento in app dei messaggi a contenuto remoto, è responsabilità del mittente adeguare tempestivamente le configurazioni ogni qualvolta si riveli necessario, utilizzando l'API di gestione qui descritta.
https://developer.io.italia.it/openapi.html#tag/remote-content
Il campo has_precondition
regola l'interpretazione, da parte di IO, del corrispondente campo che indicherai in fase di creazione di un messaggio a contenuto remoto, secondo il seguente schema:
[non specificato]
Le precondizioni all'apertura del messaggio saranno mostrate coerentemente con l'impostazione di has_precondition
a livello di singolo messaggio
has_precondition: NONE
Se il campo has_precondition
non è specifciato a livello di singolo messaggio, questo non avrà precondizioni all'apertura; altrimenti, queste saranno mostrate coerentemente con quel valore
has_precondition: ONCE
Se il campo has_precondition
non è specifciato a livello di singolo messaggio, questo avrà precondizioni all'apertura mostrate solo finché il messaggio stesso non sarà stato letto dal destinatario; altrimenti, le precondizioni saranno mostrate coerentemente con il valore indicato per quello specifico messaggio
has_precondition: ALWAYS
Se il campo has_precondition
non è specifciato a livello di singolo messaggio, le precondizioni all'apertura saranno mostrate sempre, ad ogni apertura; altrimenti, saranno mostrate coerentemente con il valore indicato per quello specifico messaggio
indichi solo "prod_environment"
IO ti contatterà usando sempre quella configurazione
indichi solo "test_environment"
IO ti contatterà usando sempre quella configurazione
indichi sia "prod_environment"
che "test_environment"
IO ti contatterà usando la configurazione indicata in "test_environment"
solo se il codice fiscale del destinatario del messaggio è incluso nell'array "test_users"
, altrimenti lo farà usando la configurazione indicata in "prod_environment"
Create a new remote-content configuration using the provided payload
Configuration name.
Configuration description.
Flag to check if lollipop is enabled
Configuration created
Configuration name.
Configuration description.
Flag to check if lollipop is enabled
Ulid string.
"01ARZ3NDEKTSV4RRFFQ69G5FAV"
Update an existing remote-content configuration using the provided payload
Ulid string.
Configuration name.
Configuration description.
Flag to check if lollipop is enabled
Configuration updated
Get all the owned remote-content configurations
Return the configurations
Get the remote-content configuration using the provided configurationId passed as path param
Ulid string.
Return the configuration
Configuration name.
Configuration description.
Flag to check if lollipop is enabled
Ulid string.
"01ARZ3NDEKTSV4RRFFQ69G5FAV"