Effectuer une requête de recherche

Pour exécuter une requête, utilisez une méthode HTTP POST avec le point de terminaison API _find en indiquant le nom de la base de données, le modèle et des informations supplémentaires (rubriques de requête et critères, ordre de tri, enregistrement de départ et nombre d'enregistrements). Vous pouvez également indiquer des informations de table externe pour limiter le nombre d'enregistrements liés renvoyés.

Méthode HTTP

POST

URL

/fmi/data/version/databases/nom-base/layouts/nom-modèle/_find

version : la version FileMaker Data API demandée peut utiliser v1, v2 ou vLatest

  • version 1 (v1) : la structure des données de table externe renvoyées dépend du paramètre d'affichage (Affichage sous forme de formulaire ou Affichage sous forme de tableau) du modèle spécifiquement utilisé.

    • Affichage sous forme de formulaire : renvoie tous les enregistrements liés

    • Affichage sous forme de tableau : renvoie le premier enregistrement lié

      Remarque  Le fait de modifier le paramètre d'affichage modifie également la structure des données de la table externe pour la valeur renvoyée.

  • version 2 (v2) : la structure des données de la table externe renvoyées est basée sur un Affichage sous forme de formulaire.

  • dernière version (vLatest) : le comportement est basé sur la dernière version de l'API.

nom-base : nom de la base de données hébergée

nom-modèle : modèle servant de contexte à la requête

En-tête HTTP

Content-Type: application/json

Authorization : Bearer jeton-session, où jeton-session est la valeur X-FM-Data-Access-Token unique de la session de base de données

Paramètres

Une requête au format JSON spécifiant les rubriques et critères de recherche. Vous pouvez utiliser les paramètres facultatifs pour indiquer les requêtes à ignorer (omit), l'ordre de tri (sort), l'enregistrement de départ (offset), le nombre d'enregistrements (limit) et les tables externes (portal) pour limiter le nombre d'enregistrements liés renvoyés. Les paramètres offset, limit et sort couvrent les enregistrements trouvés dans la table du modèle et les enregistrements de tables externes non liés. Pour limiter le nombre d'enregistrements et de rangées à afficher dans un ensemble lié, précisez les paramètres offset.nom-table et limit.nom-table.

Par exemple :

Copier
{
  "query":[
    {"Group": "=Chirurgien"},
    {"Région de travail" : "Ile de France", "omit" : "true"}
  ],
  "sort":[
    {"fieldName": "Région de travail", "sortOrder": "ascend"},
    {"fieldName": "Prénom", "sortOrder": "ascend"}
  ]
}

Exemple avec décalage, limite et tables externes :

Copier
{
  "query":[
    {"Group": "=Chirurgien"},
    {"Région de travail" : "Ile de France", "omit" : "true"}
  ],
  "portal": ["Table1","Table2"],
  "limit": "10",
  "offset": "1",
  "offset.Table1": "1",
  "limit.Table1": "5",
  "layout.response": "Docteurs"
}

Autres paramètres du corps de la requête facultatifs :

  • layout.response - Renvoie les données de réponse dans un modèle différent. Le modèle spécifié doit se rapporter à la même table de base que le modèle actuel. L'indication d'un modèle pour une autre table de base peut produire des résultats inattendus.

  • dateformats - Spécifie le format des rubriques de date et d'horodatage. La valeur est 0 pour les formats américains, 1 pour les formats des paramètres régionaux du fichier ou 2 pour les formats ISO 8601. Si elle n'est pas définie, la valeur par défaut est 0.

  • script.prerequest, script.presort, script - Exécute des scripts FileMaker dans le cadre de la requête. Consultez la section Exécuter un script avec une autre requête.

Réponse

Les données de l'enregistrement au format JSON et un tableau de messages indiquant un code d'erreur de 0.

Par exemple :

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

Consultez la section Codes d'erreur.

Remarques