Il service in questione può essere richiamato tramite il seguente url: https://api.gooseapp.com/select/
La struttura dati JSON dovrà essere inviata tramite POST, qui di seguito un esempio JSON di chiamata:
{ code: "DEV001", key: "09mpada9nx4mxl3346055518sf89hcyga74mwmhucgf9j7cg78", table: "CON_TRO" }
Questa chiamata restituisce un JSON contenente tutti i record presenti su tabella CON_TRO.
I parametri disponibili per la chiamate SELECT sono i seguenti.
Nome |
Tipo |
Obbligatorio |
Descrizione
|
---|---|---|---|
code
|
varchar(6) |
Yes |
Codice azienda |
key
|
varchar(200) |
Yes |
Chiave API di sicurezza |
table
|
varchar(7) |
Yes |
Nome tabella |
fields
|
varchar(255) |
No |
Lista dei campi che si desidera ricevere, di default vengono restituiti tutti i campi tabella. Nel caso si desideri ricevere solo una lista specifica di campi è sufficiente indicarli con una virgola come separatore. Es: "RECORD_ID,CORAS,CORA2,COCON,COCLI,COFOR" |
from
|
varchar(50) |
No |
Formato date/time "yyyy-mm-dd hh:mm:ss" che permette di richiedere solo i record modificati o inseriti da un determinato periodo in avanti. In alternativa è possibile utilizzare la keyword "latest" per avere solo la lista dei record modificati o inseriti su una data tabella dall'ultima chiamata andata a buon fine. |
imc
|
true/false |
No |
Il parametro imc sta per "Include My Call". Nel caso sia impostato a true restituisce tutti i record modificati o inseriti, compresi quelli modificati o inseriti dal proprio service altrimenti esclusi. |
filter
|
array |
No |
Il parametro filter permette di applicare un filtro sulla tabella indicata. Questo parametro richiede una sotto struttura dati con i seguenti parametri: Se valorizzato verranno ignorati i parametri from ed imc.
|
I parametri fields e from non sono obbligatori, risultano però fondamentali nel caso si vogliano eseguire operazioni di sync incrementali, soprattutto from che può essere utilizzato oltre che nel formato date/time anche tramite keyword "latest".
Una chiamata come la seguente permette infatti di ottenere la lista di tutti i record, comprensivi di tutte le colonne dati, modificati dall'ultima chiamata del proprio service.
{ code: "DEV001", key: "09mpada9nx4mxl3346055518sf89hcyga74mwmhucgf9j7cg78", table: "CON_TRO", from: "latest" }
Nel caso invece si volesse ottenere solo una lista di campi specifici:
{ code: "DEV001", key: "09mpada9nx4mxl3346055518sf89hcyga74mwmhucgf9j7cg78", table: "CON_TRO", from: "latest", fields: "RECORD_ID,CORAS" }
Quest'ultima chiamata restituirebbe solo i record modificati dall'ultima chiamata andata a buon fine con i campi RECORD_ID e CORAS della tabella CON_TRO.
Nel caso invece si volesse ottenere uno specifico record:
{ code: "DEV001", key: "09mpada9nx4mxl3346055518sf89hcyga74mwmhucgf9j7cg78", table: "CON_TRO", fields: "RECORD_ID,CORAS", filter: { key: "RECORD_ID", value: "0-1" } }
Quest'ultima chiamata restituirebbe i campi RECORD_ID e CORAS solo per record con valore "0-1" sul campo RECORD_ID su tabella CON_TRO.
Nel caso l'operazione eseguita vada a buon fine si ottiene il seguente JSON:
{ status: "OK", result: { total: 3, data: [ { RECORD_ID: "0-1", CORAS: "Test 1", COTEL: "0113486474" }, { RECORD_ID: "0-2", CORAS: "Test 2", COTEL: "0113486474" }, { RECORD_ID: "0-3", CORAS: "Test 3", COTEL: "0113486474" } ] } }
Lo status "OK" indica che l'operazione di SELECT è andata a buon fine, nella struttura result sono poi presenti i campi total (totale righe selezionate) e data (struttura dati di ritorno).
Nel caso l'operazione eseguita non vada a buon fine si ottiene il seguente JSON:
{ status: "error", error: { code: 120, description: "Table 'client_goose_DEM001.CON_TRO' doesn't exist'" } }
In caso di errore lo status viene restituito con valore "error" e nella struttura error vengono indicati il codice di errore e una descrizione dell'errore.
Vuoi chiederci qualcosa?
Scrivici a: support@gooseapp.com