Appeler des actions Power Automate à partir de l’API web
Dataverse comporte une fonctionnalité qui permet aux utilisateurs expérimentés de créer leurs propres ensembles personnalisés de logiques métier appelées actions. Du point de vue du développeur, considérez une action comme une « opération réutilisable, qui peut avoir des effets secondaires observables ». Ces effets secondaires comprennent la création ou la mise à jour de lignes.
Dataverse dispose de plusieurs actions prédéfinies et les développeurs peuvent créer des actions personnalisées à l’aide de la fonctionnalité API personnalisée de Dataverse.
L’un des principaux avantages des actions est votre capacité à les appeler au moyen de l’API web Dataverse. Par conséquent, vous pouvez encapsuler vos automatisations low-code de manière à pouvoir les utiliser dans la quasi-totalité des scénarios en interagissant avec elles au moyen de la requête et la réponse de l’API web associées.
Bien que cette leçon n’aborde pas en détail la création des actions, nous supposons que vous en avez déjà une compréhension de base. Pour en savoir plus sur la création d’actions, consultez la documentation les concernant. Pour en savoir plus sur la création d’actions Dataverse, consultez la section Créer des API personnalisées.
Exécuter des actions avec l’API web
Lorsqu’une action est créée dans votre environnement Dataverse, l’infrastructure crée également un message de requête d’API web correspondant. Vous pouvez exécuter ces demandes à l’aide d’une opération POST similaire à l’exemple suivant :
POST [Organization URI]/api/data/v9.2/WinOpportunity HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"Status": 3,
"OpportunityClose": {
"subject": "Won Opportunity",
"opportunityid@odata.bind": "[Organization URI]/api/data/v9.2/opportunities(b3828ac8-917a-e511-80d2-00155d2a68d2)"
}
}
L’exemple ci-dessus est un appel de requête HTTP à l’action WinOpportunity pour une opportunité avec une valeur opportunityid de b3828ac8-917a-e511-80d2-00155d2a68d2.
Appeler des actions Dataverse prédéfinies
Dataverse est fourni avec un ensemble d’actions existantes vous permettant d’effectuer des opérations courantes. Certaines de ces actions peuvent s’appliquer uniquement aux applications pilotées par modèle ou Dynamics 365. Par exemple, l’action CalculatePrice calcule le prix dans une opportunité/un devis/une commande/une facture, donc elle ne s’appliquerait qu’à une application Dynamics 365 Sales où cette fonctionnalité existe.
Pour en savoir plus sur les actions prédéfinies utilisables au moyen de l’API web, consultez la Référence aux actions de l’API web.
Actions non liées ou liées
Une action peut être créée comme non liée. Autrement dit, elle n’est pas corrélée à une table Dataverse. Elle peut aussi être créée comme liée. Autrement dit, la logique est associée à une ligne de table spécifique. Les développeurs SQL peuvent considérer ces actions comme similaires aux procédures stockées (actions non liées) par rapport aux déclencheurs (actions liées). Cependant, contrairement aux déclencheurs SQL, vous pouvez également exécuter des actions liées à la demande en fournissant un ID de ligne de table correspondant comme paramètre.
Les actions non liées sont bénéfiques pour la logique générique qui s’exécute en dehors du contexte d’une ligne de table spécifique, comme l’action WinOpportunity référencée précédemment. Pour exécuter une action liée sur une ligne spécifique, vous devez fournir l’ID de cette ligne dans l’URI de votre requête :
POST [Organization URI]/api/data/v9.2/contacts(94d8c461-a27a-e511-80d2-00155d2a68d2)/Microsoft.Dynamics.CRM.contoso_AddNoteToContact HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"NoteTitle": "New Note Title",
"NoteText": "This is the text of the note"
}
L’exemple précédent appelle une action personnalisée précédemment créée dans la solution nommée contoso_AddNoteToContact pour un contact avec l’ID 94d8c461-a27a-e511-80d2-00155d2a68d2, puis transmet les paramètres NoteTitle et NoteText à l’action. Le comportement prévu pour cette procédure est qu’une nouvelle note doit être ajoutée au contact correspondant avec le titre et le texte fournis.
Plus de détails
Pour en savoir plus sur l’appel d’actions dans le code, consultez Utiliser des actions de l’API web.