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