API: Service SELECT

Il service SELECT serve per l'estrapolazione di dati; è infatti possibile interrogare il sistema cloud, indicando una specifica tabella, per ottenere la lista di tutti i record in essa presente o la lista dei soli record modificati o inseriti da uno specifico date/time.

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. Di seguito un'esempio di 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".

Questo parametro viene preso in considerazione solo se valorizzato anche il parametro from, con un formato date/time valido o con valore "latest". 

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 sottostruttura dati con i parametri:
key: Chiave di filtro (nome del campo sul quale si vuole effettuare la query)
value: Valore di filtro 

Se valorizzato, verranno ignorati i parametri from ed imc

I parametri fields e from non sono obbligatori. Risultano però fondametali nel caso si vogliano eseguire operazoini di sync incrementali. Soprattutto from, che può essere utilizzato oltre che nel formato date/time anche tramite keyworrd "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.

Prova Gratuita
Amministrazione
Area Utenti
Sei già un nostro cliente? Accedi tramite tuo username e password.

Utilizziamo i cookies per garantire la funzionalità del sito e per tenere conto delle vostre scelte di navigazione in modo da offrirvi la migliore esperienza sul nostro sito. Inoltre ci riserviamo di utilizzare cookies di parti terze. Per saperne di più consulta le nostre Privacy Policy e Cookie Policy. Continuando a navigare sul sito, l'utente accetta di utilizzare i cookies.
OK