Chamar ações do Power Automate por meio da API Web

Concluído

O Dataverse contém um recurso que permite capacitar usuários para que criem seus próprios conjuntos personalizados de lógica comercial denominados ações. Do ponto de vista do desenvolvedor, considere uma ação como uma “operação reutilizável, que pode ter efeitos colaterais observáveis”. Esses efeitos colaterais incluem a criação ou atualização de linhas.

O Dataverse tem várias ações predefinidas e os desenvolvedores podem criar ações personalizadas usando o recurso API Personalizada do Dataverse.

Um recurso das ações é a capacidade de invocá-las por meio da API Web do Dataverse. Como resultado, você pode encapsular suas automações low-code para poder usá-las em praticamente qualquer cenário, interagindo com elas por meio de solicitação e resposta de API Web associadas.

Embora esta lição não aborde detalhadamente como criar ações, presumimos que você já tenha um conhecimento básico de como criá-las. Você pode examinar a documentação se precisar de mais informações sobre como criar uma ação. Consulte a seção Criar APIs personalizadas para obter informações detalhadas sobre como criar ações do Dataverse.

Executar ações com a API Web

Quando uma nova ação é criada no ambiente do Dataverse, a estrutura também cria uma mensagem de solicitação de API Web correspondente. Você pode executar essas solicitações usando uma PÓS-operação semelhante ao seguinte exemplo:

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)"
 }
}

O exemplo acima é uma chamada de solicitação HTTP para a ação WinOpportunity para uma oportunidade com um valor opportunityid de b3828ac8-917a-e511-80d2-00155d2a68d2.

Chamar ações predefinidas do Dataverse

O Dataverse inclui um conjunto de ações existentes que podem ser usadas para executar operações comuns. Algumas dessas ações só podem ser aplicadas a aplicativos baseados em modelo ou do Dynamics 365. Por exemplo, a ação CalculatePrice calcula o preço em uma oportunidade/cotação/ordem/fatura; portanto, ela só se aplica a um aplicativo do Dynamics 365 Sales em que essa funcionalidade existe.

Para obter mais informações sobre as ações predefinidas que estão disponíveis para uso por meio da API Web, consulte a Referência de Ação da API Web.

Ações não limitadas x limitadas

Uma ação pode ser criada como não vinculada, o que significa que não tem uma tabela do Dataverse correlacionada a ela. Ou, então, pode ser criada como vinculada, o que significa que a lógica está vinculada a uma linha específica da tabela. Os desenvolvedores de SQL podem considerar essas ações como semelhantes a procedimentos armazenados (ações não associadas) versus gatilhos (ações associadas). No entanto, diferentemente dos gatilhos SQL, você também pode executar ações vinculadas sob demanda, fornecendo uma ID de linha da tabela correspondente como parâmetro.

As ações não vinculadas são benéficas para lógica genérica executada fora do contexto de uma linha específica da tabela, como a ação WinOpportunity mencionada anteriormente. Para executar uma ação vinculada em uma linha específica, você deve fornecer a ID dessa linha no URI de sua solicitação:

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"
}

O exemplo anterior chama uma ação personalizada que foi criada anteriormente na solução chamada contoso_AddNoteToContact para um contato com a ID 94d8c461-a27a-e511-80d2-00155d2a68d2 e passa os parâmetros NoteTitle e NoteText para a ação. Comportamento esperado para esse procedimento: uma nova nota será adicionada ao contato correspondente com o título e o texto fornecidos.

Mais detalhes

Para obter mais informações sobre como chamar ações no código, consulte Usar ações da API Web.