Chiamata di azioni Power Automate dall'API Web

Completato

Dataverse include una funzionalità che consente agli utenti esperti di creare set personalizzati di logica aziendale denominati azioni. Dal punto di vista degli sviluppatori, un'azione è "un'operazione riutilizzabile che può avere effetti collaterali osservabili". Questi effetti collaterali includono la creazione o l'aggiornamento di record.

Dataverse offre diverse azioni predefinite, inoltre gli sviluppatori possono creare azioni personalizzate usando la funzionalità API personalizzata di Dataverse.

Una caratteristica delle azioni è la possibilità di richiamarle tramite l'API Web di Dataverse. Di conseguenza, è possibile incapsulare le automazioni con poco codice per poterle usare in quasi tutti gli scenari interagendo con esse mediante la richiesta e la risposta dell'API Web associata.

Sebbene questa lezione non descriva in dettaglio come creare le azioni, si presume che si abbia già una conoscenza di base in merito. Se occorrono ulteriori informazioni sulla creazione di un'azione, è possibile vedere la documentazione relativa. Per informazioni dettagliate su come creare azioni Dataverse, vedere la sezione Creazione di API personalizzate.

Esecuzione di azioni con l'API Web

Quando si crea una nuova azione nell'ambiente Dataverse, il framework crea anche un messaggio di richiesta API Web corrispondente. È possibile eseguire queste richieste usando un'operazione POST simile all'esempio seguente:

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'esempio precedente è una chiamata di richiesta HTTP all'azione WinOpportunity per un'opportunità il cui valore opportunityid è b3828ac8-917a-e511-80d2-00155d2a68d2.

Chiamata di azioni Dataverse predefinite

Dataverse include set di azioni esistenti che è possibile usare per eseguire operazioni comuni. Alcune di queste azioni potrebbero applicarsi solo alle app basate su modello o alle app Dynamics 365. Ad esempio, l'azione CalculatePrice calcola il prezzo in un'opportunità, in un'offerta, in un ordine o in una fattura, quindi è applicabile solo a un'app Dynamics 365 Sales in cui esista tale funzionalità.

Per altre informazioni su quali azioni predefinite sono disponibili per l'uso tramite l'API Web, vedere il riferimento alle azioni dell'API Web.

Azioni associate e non associate

È possibile creare un'azione come non associata, ossia senza una tabella Dataverse correlata. In alternativa, è possibile crearla come associata, per cui la logica è legata a una specifica riga di una tabella. Gli sviluppatori SQL possono considerare queste azioni come simili alle stored procedure (azioni non associate) rispetto ai trigger (azioni associate). Tuttavia, a differenza dei trigger SQL, è anche possibile eseguire azioni associate su richiesta fornendo un ID riga di tabella corrispondente come parametro.

Le azioni non associate sono utili per la logica generica eseguita al di fuori del contesto di una riga di tabella specifica, come l'azione WinOpportunity a cui si è fatto riferimento in precedenza. Per eseguire un'azione associata su una riga specifica, si deve specificare l'ID di tale riga nell'URI della richiesta:

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'esempio precedente chiama un'azione personalizzata creata in precedenza nella soluzione denominata contoso_AddNoteToContact per un contatto con ID 94d8c461-a27a-e511-80d2-00155d2a68d2 e passa i parametri NoteTitle e NoteText all'azione. Il comportamento previsto per questa procedura sarebbe l'aggiunta di una nuova nota al contatto corrispondente con il titolo e il testo forniti.

Ulteriori dettagli

Per altre informazioni su come chiamare le azioni nel codice, vedere Uso di azioni dell'API Web.