API
Questo documento introduce le API Web per eLegere.
Le API Web di eLegere permettono ai client web di richiedere dati dalle applicazioni eLegere. I dati restituiti dipendono dal livello di accesso autorizzato dalla sessione dell'utente: se l'utente non ha l'autorizzazione specifica, l'API non restituirà alcuni dati.
Note
L'API restituisce tutte le risposte come oggetti JSON oppure come stream contenuto (content stream).
Ogni volta che la tua integrazione di terze parti richiede dati tramite l'API, gli oggetti JSON restituiti codificano i differenti tipi di dati secondo formati specifici. Consulta la reference Tipi di dato eLegere per maggiorni informazioni sui formati dei tipi di dato eLegere.
Tip
Se un metodo richiede l'Id di un'applicazione, controlla la sezione Recupero ID Applicazione per imparare come recuperare l'Id di un'applicazione.
Puoi recupereare l'Id del Dominio accedendo ai Domain Settings e cliccando sul pulsante Url per copiarlo.
Tip
Alcuni metodo elencati sotto richiedono una Relation Key di Dettaglio come parametro per eseguire azioni sulle tabelle di Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per scoprire come fare.
Note
Ci sono delle limitazioni sia per le richieste URL che per i Body delle richieste POST:
- Le stringhe URL per le richieste hanno la lunghezza massima di *2048 caratteri.
- L'API accetta Body per le richieste fino a un massimo di 60 Mb.
Queste limitazioni sono indipendenti da eLegere.
Info
Consulta Convenzioni e Codici Stato HTTP per imparare i termini delle convenzioni e i codici stato HTTP delle risposte.
Warning
Nella descrizione degli Header, il SessionToken sta per l'access_token nel corpo della richiesta.
Authentication¶
Autenticazione
Il metodo permette agli utenti di autenticarsi nell'ambiente di eLegere. Il servizio restitutisce un Session token con tutto ciò che è richiesto per l'autenticazione.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/identityprovider/connect/token |
| Protocolli | HTTPS |
| ContentType | application/x-www-form-urlencoded |
| Headers | Non sono richiesti headers |
| Return | Oggetto JSON |
Corpo:¶
1 | |
Esempi¶
Crea una richiesta WEB per autorizzare l'accesso dell'utente e ottenere un Session Token per eseguire il login. Il JSON contiene il Session Token, il tempo di scadenza in millisecondi, il tipo e lo scopo.
Corpo della richiesta:
1 2 3 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 | |
Get Items¶
Dati
Il metodo interroga un'applicazione tramite WorkspaceId, ApplicationId e Session Token per ottenere i dati di un'applicazione. Consultare Composizione dei filtri per le Query per maggiori informazioni sugli operatori e le opzioni che eLegere supporta per le query degli elementi.
Il metodo richiede la Detail Relation Key (&relationKey=445a7899...) solo se è necessario recuperare righe di Dettaglio. Altrimenti, rimuovere il parametro &relationKey dalla richiesta.
Info
Recuperare righe di Dettaglio richiede la Relation Key del Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come recuperarla.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/items |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Array di oggetti JSON |
Corpo:¶
1 | |
Esempi¶
In questo caso, la richiesta recupera solo le righe Master di un'applicazione. La richiesta fornisce il Session Token per l'accesso, il formato del file di risposta, il Workspace Id (i.e. il Dominio) e l'Id dell'applicazione per permettere all'API di recuperare i dati. Il corpo contiene la stringa con la query. La query fornisce i parametri per il massimo di elementi (top) da riportare, le eccezioni e l'ordine e i campi per l'ordinamento. L'oggetto restituito contiene le righe Master recuperate.
Corpo della richiesta:
1 2 3 4 5 6 7 8 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Corpo della richiesta:
1 2 3 4 5 6 7 8 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Get Items Count¶
Dati
Il metodo interroga un'applicazione tramite WorkspaceId, ApplicationId e Session Token per contare il numero esatto di elementi nell'applicazione che soddisfano i criteri.
Il metodo richiede la Detail Relation Key (&relationKey=445a7899...) solo se è necessario contare righe di Dettaglio. Altrimenti, rimuovere il parametro &relationKey dalla richiesta.
Info
Contare righe di Dettaglio richiede la Relation Key del Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come recuperarla.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/items |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Oggetto JSON |
Corpo:¶
1 | |
Esempi¶
La richiesta fornisce il Session Token per l'accesso, il formato del file di risposta, il Workspace Id (i.e. il Dominio) e l'Id dell'applicazione per permettere all'API di ottenere le informazioni. La risposta riporta il numero di elementi che soddisfa i criteri specificati nel corpo.
Corpo della richiesta:
1 2 3 4 5 6 7 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 | |
Save¶
Dati
Il metodo interroga un'applicazione tramite il WorkspaceId, ApplicationId e il Session Token per creare o aggiornare una riga sulla tabella dell'applicazione.
Se vuoi creare una nuova riga, inserisci un numero progressivo negativo come Id della riga e i campi dello Storage come chiavi con i loro valori. Assegna il valore null alla chiave corrispondente al campo Identity dello Storage e alla chiave TIMESTAMP; il servizio gestirà questi valori automaticamente.
E.g. Se salvi tre nuove righe, inserisci -1 come Id della prima riga, -2 per la seconda e così via. Il servizio assegnerà un Id appropriato sul database dopo il salvataggio. Lascia la chiave TIMESTAMP e il campo Identity dello Storage con valori null.
Se vuoi aggiornare un elemento:
1) Chiama il metodo API Get Items per recuperare le informazioni delle righe da aggiornare.
2) Recupera il valore della chiave TIMESTAMP dagli oggetti restituiti per le righe da aggiornare.
3) Chiama il metodo Save; inserisci nelle chiavi TIMESTAMP i valori dal passo (2) negli oggetti per salvare le righe.
Aggiungi un oggetto per ciascun Dettaglio su cui vuoi salvare delle righe all'array della chiave "Details". Ogni oggetto relativo a un Dettaglio deve avere le seguenti caratteristiche:
1) La chiave "RelationKey" con il valore della chiave della relazione di Dettaglio.
2) La chiave "Rows": un array che contiene gli oggetti di ogni riga da salvare su quello specifico Dettaglio.
Se non ci sono righe di Dettaglio da salvare, lascia la chiave "Details" vuota.
Info
Aggiungere righe di Dettaglio sia a una riga di Master esistente sia a una nuova riga di Master richiede la Relation Key del Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come recuperarla.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/items/save |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Array di oggetti JSON |
Corpo:¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Esempi¶
In questo caso, la richiesta salva una singola riga Master. La richiesta contiene le informazioni della riga come oggetto: ciascun campo della riga e il relativo valore corrispondono a una chiave dell'oggetto.
La risposta fornisce un oggetto che descrive se il processo di salvataggio è andato a buon fine (i.e. la chiave "IsSaveSuccessfully"), cosa è stato salvato, creato, modificato o cancellato e un link alla riga di Master (i.e. la chiave "MasterRowLink" nell'oggetto). Da notare che ci sono due campi univoci che identificano la riga: uno è l'Identity del database (Id) e l'altro è il campo Identity creato in eLegere (IdRow nell'esempio). Se la richiesta deve aggiornare una riga esistente, devi fornire il valore esatto solo dell'Id del database (Id).
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
TIMESTAMP della riga ottenuto tramite la risposta.
Aggiungi un oggetto riga nell'array della chiave "Details" per ogni riga di Dettaglio da aggiungere. La riga di Dettaglio deve avere -1 per l'Id del database e null per il campo Identity di eLegere, dato che sono nuove righe da aggiungere. Come per ogni nuova riga, assegna il valore null alla chiave TIMESTAMP, il servizio gestirà anche questo.
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Delete¶
Dati
Il metodo interroga un'applicazione tramite WorkspaceId, ApplicationId e Session Token per cancellare una riga dalla tabella dell'applicazione.
Cancella una riga inserendo l'Id nella chiave Id dell'oggetto e il suo Timestamp nella chiave TIMESTAMP. Il metodo cancella la riga con quel particolare Id e Timestamp.
Aggiungi la Detail Relation Key alla chiave "RelationKey" per cancellare una riga di Dettaglio. Altrimenti, lascia il valore null assegnato a "RelationKey".
Info
Rimuovere righe di Dettaglio richiede la Relation Key della tabella di Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come recuperarla.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/items/delete |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Array di oggetti JSON |
Corpo:¶
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
Esempi¶
Il caso seguente riguarda la cancellazione di alcune righe Master. La richiesta contiene l'Id della riga e il suo Timestamp. Questi due valori sono essenziali per identificare quale riga è da cancellare. Nessuna Relation Key di Dettaglio è richiesta dato che la richiesta cancella delle righe di Master.
Dopo la cancellazione, l'oggetto di risposta riporta se l'operazione ha avuto successo tramite il valore della chiave IsSaveSuccessfully.
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Dopo la cancellazione, l'oggetto di risposta riporta se l'operazione ha avuto successo tramite il valore della chiave IsSaveSuccessfully.
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Get Attachments List¶
Dati
Il metodo recupera la lista degli allegati di una riga in un'applicazione iniziando dall'Id della riga e l'Id della cartella allegati. Aggiungere il parametro &relationKey= con la Relation key del Dettaglio nel caso la richiesta recuperi allegati da righe di Dettaglio. Nel caso la richiesta riguardi solo righe Master, rimuovere il parametro &relationKey=.
Note
Puoi ottenere l'Id della riga tramite il metodo Ottenere Elementi (Get Items). Sostituiscilo nell'URL per identificare la lista degli allegati della riga.
Info
L'ultima parte dell'URL and FolderId eq FOLDERID è opzionale. Hai bisogno del FOLDERID solo per recuperare la lista di allegati se annidati nell'albero cartelle allegati della riga. Consultare Composizione dei filtri per le Query per maggiori informazioni sugli operatori e le opzioni che eLegere supporta per le query degli elementi.
Info
Aggiungere righe di Dettaglio sia a una riga di Master esistente sia a una nuova riga di Master richiede la Relation Key del Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come recuperarla.
Richiesta¶
| Metodo | GET |
| URL | {base_url}/SmartExplorerApi/api/attachments?$filter=ParentId eq ROWID and FolderId eq FOLDERID&relationKey=... |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Array di oggetti JSON |
Esempi¶
Il metodo recupera la lista degli allegati di una riga partendo dall'Id della riga. L'array dell'oggetto contiene un oggetto per ciascun allegato. Ciascun oggetto specifica le informazioni di ciascun allegato.
Corpo della richiesta:
1 2 3 4 5 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Download Attachment¶
Dati
Il metodo accede tramite Session Token e recupera l'allegato desiderato tramite il suo Id sul database.
Note
Puoi scaricare sia allegati singoli sia cartelle. Se la richiesta punta a una cartella, l'API restituisce un archivio .zip con tutti gli allegati della cartella.
Note
Nella richiesta, rk è la Relation Key della relazione Master-Dettaglio. Consultare il tutorial Recuperare la Relation Key di un Dettaglio per imparare come fare. Da notare che rk è opzionale nella richiesta. Bisogna specificare rk nella richiesta se e solo se si scarica un allegato da un riga di Dettaglio. Altrimenti, la richiesta si riferisce solo alla riga della tabella di Master.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/attachments/download |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Stream File |
Corpo:¶
1 | |
Esempi¶
Il metodo recupera un allegato partendo dall'Id della riga. Nell'esempio sotto, il metodo recupera dei file XML allegati a delle righe di Master.
Corpo della richiesta:
1 2 3 4 5 6 7 | |
Corpo della risposta:
1 2 3 4 5 | |
Run Action¶
Dati
Il metodo lancia una delle Custom Action realizzate per l'applicazione scelta. Il metodo identifica l'azione da lanciare tramite l'actionId dell'azione.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/SmartExplorerApi/api/action/run |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | ApplicationId, SessionToken, WorkspaceId |
| Return | Oggetto JSON |
Corpo:¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
Esempi¶
Il metodo esegue la Custom Action specificata e restituisce un oggetto che riporta il risultato dell'azione. Se la chiave IsSuccessful ha valore true, la Custom Action ha funzionato correttamente.
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Corpo della risposta:
1 2 3 4 5 6 7 8 9 | |
Send Email¶
Utilità
Il metodo interroga il servizio per inviare una mail contenente il destinatario, l'oggetto, il corpo testo e providerId (opzionale) nella richiesta.
Il providerId è un GUID che specifica quale provider email usare dalle impostazioni provider email dell'installazione di eLegere. Se la richiesta non contiene nessun providerId, la API Inviare Email usa il providerId predefinito di eLegere configurato durante l'installazione.
Richiesta¶
| Metodo | POST |
| URL | {base_url}/ewebaggregator/api/v1/email/queue |
| Protocolli | HTTPS |
| ContentType | application/json |
| Headers | Authorization, WorkspaceId |
| Return | Nessun oggetto restituito |
Corpo:¶
1 2 3 4 5 6 7 8 9 10 11 12 | |
Esempi¶
Il servizio riceve la richiesta con le informazioni sui destinatari, l'oggetto e il corpo del testo. Nell'esempio, la richiesta non contiene il providerId: userà il provider predefinito dell'installazione di eLegere.
Corpo della richiesta:
1 2 3 4 5 6 7 8 9 10 11 | |
Corpo della risposta:
1 | |
