Eseguire una richiesta di ricerca

Per eseguire una richiesta di ricerca, utilizzare un metodo POST HTTP con endpoint API _find specificando il nome del database, il formato e informazioni aggiuntive per specificare campi e criteri della query, criterio di ordinamento, record iniziale e numero di record. È anche possibile specificare informazioni sui portali per limitare il numero di record correlati restituiti.

Metodo HTTP

POST

URL

/fmi/data/versione/databases/nome-database/layouts/nome-formato/_find

versione – la versione di FileMaker Data API richiesta può utilizzare la v1, v2 o vLatest

  • versione 1 (v1) - la struttura dei dati del portale restituiti è basata sull'impostazione della visualizzazione (Visualizza come modulo o Visualizza come tabella) del formato specificato.

    • Visualizza come modulo - restituisce tutti i record correlati

    • Visualizza come tabella - restituisce il primo record correlato

      Nota  La modifica dell'impostazione della visualizzazione cambia la struttura dei dati del portale per il valore restituito.

  • versione 2 (v2) - la struttura dei dati del portale restituiti è basata su Visualizza come modulo.

  • ultima versione (vLatest) - il comportamento si basa sull'ultima versione dell'API.

nome-database – nome del database ospitato

nome-formato – formato da utilizzare come contesto per la richiesta di ricerca

Intestazione HTTP

Content-Type: application/json

Authorization: token-sessione di connessione, dove token-sessione è il valore X-FM-Data-Access-Token univoco per la sessione del database

Parametri

Una query in formato JSON che specifica campi e criteri di ricerca. È possibile utilizzare parametri facoltativi per specificare richieste di omissione, criterio di ordinamento, record iniziale (offset), numero di record (limit) e portali per limitare il numero di record correlati restituiti. I parametri offset, limit e di ordinamento agiscono sui record trovati nella tabella del formato e non sui record del portale correlati. Per limitare il numero di record e righe da visualizzare in un gruppo correlato, specificare i parametri offset.nome-portale e limit.nome-portale.

Per i dati di risposta nel contesto di un formato diverso, utilizzare il parametro layout.response.

Ad esempio:

Copia
{
  "query":[
    {"Group": "=Chirurgo"},
    {"Città lavoro" : "Roma", "omit" : "true"}],
  "sort":[
    {"fieldName": "Città lavoro","sortOrder": "ascend"},
    {"fieldName": "Nome", "sortOrder": "ascend"} ]
}

Esempio con parametri offset, limit e portal:

Copia
{
  "query":[
    {"Group": "=Chirurgo"},
    {"Città lavoro" : "Roma", "omit" : "true"}],
  "portal": ["Portale1","Portale2"],
  "limit": "10",
  "offset": "1",
  "offset.Portale1": "1",
  "limit.Portale1": "5",
  "layout.response": "Medici"
}

È possibile eseguire script FileMaker come parte di questa richiesta includendo i parametri script.prerequest, script.presort e script nel corpo della richiesta. Vedere Esecuzione di script FileMaker.

Risposta

I dati del record in formato JSON e una matrice di messaggi con un codice di errore 0.

Ad esempio:

Copia
{
  "response": {
    "data": [ 
    ...  
    ]
  },
  "messages": [{"code":"0","message":"OK"}]
}

Vedere Risposte di errore.

Note 

  • L'ordinamento e la restituzione dei record potrebbe richiedere molto tempo. Ridurre il tempo per il download dei record limitando il numero di campi sul formato richiesto e omettendo i campi che contengono commenti.

  • Non è possibile specificare campi globali come criteri di ricerca. Se si specifica un campo globale con una richiesta di ricerca, viene visualizzato un messaggio di errore. Impostare invece il valore del campo globale prima della richiesta di ricerca. Vedere Impostare valori di campi globali.