Extraire et exécuter des requêtes prédéfinies

Microsoft Dataverse permet aux administrateurs de créer des vues système qui sont accessibles à tous les utilisateurs. Les utilisateurs individuels peuvent enregistrer les requêtes de recherche avancée pour une réutilisation dans l’application. Elles représentent toutes deux des requêtes prédéfinies que vous pouvez récupérer et exécuter à l’aide de l’API Web.

Notes

Contrairement aux requêtes utilisant la syntaxe OData, les données renvoyées par des requêtes prédéfinies ou fetchXml ne renvoient pas de propriétés avec des valeurs null. Lorsque la valeur est null, la propriété ne sera pas incluse dans les résultats.

Lorsqu’une requête est renvoyée à l’aide de la syntaxe OData, un enregistrement inclura une propriété avec une valeur null comme ceci :

{
    "@odata.etag": "W/\"46849433\"",
    "name": "Contoso, Ltd. (sample)",
    "accountnumber": null,
    "accountid": "7a4814f9-b0b8-ea11-a812-000d3a122b89"
}

Lorsqu’il est récupéré à l’aide d’une requête prédéfinie ou avec FetchXml, le même enregistrement n’inclura pas la propriété accountnumber parce qu’elle est null, comme ceci :

{
    "@odata.etag": "W/\"46849433\"",
    "name": "Contoso, Ltd. (sample)",
    "accountid": "7a4814f9-b0b8-ea11-a812-000d3a122b89"
}

Requêtes prédéfinies

Dataverse vous permet de définir, d’enregistrer, puis d’exécuter deux types de requêtes comme répertoriées ici.

Type de requête Description
Requête enregistrée Vues définies par le système pour une table (entité). Ces vues sont stockées dans savedquery EntityType. Pour plus d’informations, voir Personnaliser les vues de table
Requête utilisateur Recherche avancée des recherches enregistrées par les utilisateurs pour une table (entité). Ces vues sont stockées dans userquery EntityType. Plus d’informations : Table UserQuery (vue enregistrée)

Les enregistrements des deux types d’entités contiennent la définition FetchXML pour les données à retourner. Vous pouvez interroger le type d’entité respectif pour récupérer la valeur de clé primaire. Avec la valeur de clé primaire, vous pouvez exécuter la requête en passant la valeur de clé primaire. Par exemple, pour exécuter la requête Comptes actifs enregistrée, vous devez d’abord obtenir la clé primaire à l’aide d’une requête de ce type.

GET [Organization URI]/api/data/v9.0/savedqueries?$select=name,savedqueryid&$filter=name eq 'Active Accounts'

Vous pouvez ensuite utiliser la valeur savedqueryid et la transférer en tant que valeur au paramètre savedQuery à l’ensemble d’entités de comptes.

GET [Organization URI]/api/data/v9.0/accounts?savedQuery=00000000-0000-0000-00aa-000010001002

Utilisez la même approche pour obtenir le userqueryid et transmettez-le comme valeur du paramètre userQuery à l’ensemble d’entités qui correspond au returnedtypecode de la requête enregistrée.

GET [Organization URI]/api/data/v9.0/accounts?userQuery=121c6fd8-1975-e511-80d4-00155d2a68d1

Appliquer une requête à une collection de type approprié

En plus d’appliquer simplement la requête enregistrée à la collection d’entités principales, vous pouvez aussi utiliser une requête enregistrée ou requête utilisateur pour appliquer le même filtre sur une collection du type d’entités approprié. Par exemple, si vous souhaitez appliquer une requête uniquement aux entités associées à une entité spécifique, vous pouvez appliquer le même modèle. Par exemple, l’URL suivante appliquera la requête Opportunités ouvertes aux opportunités associées à un compte spécifique via la propriété de navigation avec une valeur de collection opportunity_parent_account.

GET [Organization URI]/api/data/v9.0/accounts(8f390c24-9c72-e511-80d4-00155d2a68d1)/opportunity_parent_account/?savedQuery=00000000-0000-0000-00aa-000010003001

Voir aussi

Exemples de données de requête d’API Web (C#)
Exemple de données de requête de l’API web (Javascript côté client)
Effectuer des opérations à l’aide de l’API Web
Composer des demandes Http et gérer les erreurs
Interroger les données à l’aide de l’API Web
Créer une ligne de table à l’aide de l’API web
Récupérer une ligne de table à l’aide de l’API web
Mettre à jour et supprimer des lignes de table à l’aide de l’API web
Associer et dissocier des lignes de tables à l’aide de l’API web
Utiliser des fonctions API Web
Utiliser des actions API web
Exécuter des opérations par lots à l’aide de l’API Web
Emprunter l’identité d’un autre utilisateur à l’aide de l’API Web
Effectuer les opérations conditionnelles à l’aide de l’API Web

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).