Partilhar via


Conectar-se ao Microsoft Dataverse a partir de fluxos de trabalho nos Aplicativos Lógicos do Azure

Aplica-se a: Azure Logic Apps (Consumo e Standard)

Para automatizar tarefas que funcionam com seu banco de dados Microsoft Dataverse, você pode usar o conector Microsoft Dataverse com fluxos de trabalho nos Aplicativos Lógicos do Azure.

Por exemplo, você pode criar fluxos de trabalho que criam linhas, atualizam linhas e executam outras operações. Você também pode obter informações do seu banco de dados Dataverse e disponibilizar a saída para outras ações a serem usadas em seus fluxos de trabalho. Por exemplo, quando uma linha é adicionada, atualizada ou excluída em seu banco de dados Dataverse, você pode enviar um email usando o conector do Office 365 Outlook.

O conector Dataverse era anteriormente conhecido como conector Common Data Service 2.0 e originalmente conhecido como conector Dynamics 365. Você pode usar o conector Dataverse para acessar o Microsoft Dataverse for Microsoft Dynamics 365 Sales, o Atendimento ao Cliente do Microsoft Dynamics 365, o Microsoft Dynamics 365 Field Service, o Microsoft Dynamics 365 Customer Insights - Journeys e o Microsoft Dynamics 365 Project Service Automation.

Este guia mostra como adicionar um gatilho ou ação do Dataverse ao seu fluxo de trabalho e como funcionam as opções de parâmetros.

Importante

Desde outubro de 2023, os novos fluxos de trabalho devem usar as operações atuais do conector Dataverse. As operações herdadas do conector Dataverse não estão mais disponíveis para uso em novos fluxos de trabalho.

Para oferecer suporte à compatibilidade retroativa, operações legadas do conector Dataverse tiveram um ano desde a data de anúncio da descontinuação para continuar a operar dentro de fluxos de trabalho existentes. Embora não exista uma data de desligamento específica, certifique-se de atualizar imediatamente os fluxos de trabalho existentes para usar as operações atuais do conector. Para obter mais informações, consulte Microsoft Dataverse (legacy) connector for Azure Logic Apps será preterido e substituído por outro conector.

Referência do conector

Para obter informações técnicas com base na descrição do Swagger do conector, como operações, limites e outros detalhes, consulte a página de referência do conector gerenciado.

Pré-requisitos

Adicionar um disparador Dataverse

Com base no tipo de workflow de aplicação lógica que você possui, seja de Consumo ou Padrão, siga as etapas correspondentes.

  1. No portal Azure, abra o fluxo de trabalho do aplicativo lógico no designer.

  2. Siga os passos gerais para adicionar o gatilho Microsoft Dataverse apropriado para o seu cenário.

    Este exemplo continua com o gatilho chamado Quando uma linha é adicionada, modificada ou excluída.

  3. No prompt, entre em seu ambiente ou banco de dados Dataverse.

  4. Na caixa de informação do gatilho, forneça os valores necessários dos parâmetros.

    O exemplo a seguir mostra o gatilho usado como exemplo:

    A captura de ecrã mostra o designer de fluxo de trabalho para consumo e o disparador de exemplo.

  5. Quando terminar, salve seu fluxo de trabalho. Na barra de ferramentas do designer, selecione Salvar.

  6. Agora, adicione pelo menos uma ação para o seu fluxo de trabalho executar quando o gatilho for acionado.

    Por exemplo, você pode adicionar uma ação Dataverse ou uma ação que envia e-mail com base nas saídas do gatilho.

Adicionar uma ação Dataverse

  1. No portal Azure, abra o fluxo de trabalho do aplicativo lógico no designer.

  2. Siga os passos gerais para adicionar a ação Microsoft Dataverse apropriada para o seu cenário.

    Este exemplo continua com a ação chamada Adicionar uma nova linha.

  3. No prompt, entre em seu ambiente ou banco de dados Dataverse.

  4. Na caixa de informação de ação, forneça os valores necessários dos parâmetros.

    O exemplo seguinte mostra como a ação é feita:

    A captura de ecrã mostra o desenhador de fluxo de trabalho de consumo e a ação de exemplo.

  5. Quando terminar, salve seu fluxo de trabalho. Na barra de ferramentas do designer, selecione Salvar.

  6. Adiciona mais ações se quiseres.

Testar o fluxo de trabalho

Para executar o fluxo de trabalho, siga estas etapas:

  1. Na barra de ferramentas do designer, selecione Executar>Executar.

  2. Reproduza as condições que o gatilho requer para que seu fluxo de trabalho seja executado.

Retornar linhas com base em um filtro

Para ações que devolvam linhas, como a ação Listar linhas , use uma consulta ODATA para devolver linhas com base no filtro especificado. Por exemplo, configure a ação para retornar somente linhas para contas ativas.

  1. No designer, na ação, abra a lista Parâmetros avançados e selecione o parâmetro Filtrar linhas .

    A captura de tela mostra o fluxo de trabalho e o parâmetro chamado Filtrar linhas.

  2. No parâmetro Filtrar linhas que agora aparece na ação, insira uma expressão de consulta ODATA, por exemplo:

    statuscode eq 1

    A captura de tela mostra o fluxo de trabalho padrão e o parâmetro chamado Filtrar linhas com consulta ODATA.

Para obter mais informações, veja a seguinte documentação:

Devolver linhas com base em uma ordem de ordenação

Para ações que devolvam linhas, como a ação Lista de linhas , use uma consulta ODATA para devolver linhas numa sequência específica. A sequência varia consoante as linhas que a ação devolve. Por exemplo, você pode configurar a ação para retornar linhas organizadas pelo nome da conta.

  1. No designer, na ação, abra a lista Parâmetros avançados e selecione o parâmetro Classificar por .

    A captura de tela mostra o fluxo de trabalho, uma ação Dataverse e o parâmetro Classificar por.

  2. No parâmetro Ordenar por que agora aparece na ação, introduza o nome da coluna a usar para ordenar, como nome:

    A captura de tela mostra o fluxo de trabalho, uma ação Dataverse e o parâmetro Classificar por com o nome da coluna.

Para obter mais informações, veja a seguinte documentação:

Tipos de dados de campo

Em um gatilho ou ação, o tipo de dados de um valor de campo deve corresponder ao tipo de dados necessário do campo. Este requisito aplica-se quer introduza manualmente o valor ou selecione o valor na lista de conteúdo dinâmico.

Por exemplo, suponha que você tenha uma tabela chamada Tarefas. Esta tabela tem campos que se aplicam apenas a essa tabela, enquanto outras tabelas têm seus próprios campos. Para a tabela Tarefas de exemplo, a tabela a seguir descreve alguns tipos de campo de exemplo e os tipos de dados que esses campos exigem para seus valores.

Campo Tipo de dados Description
Campo de texto Linha única de texto Requer uma única linha de texto ou conteúdo dinâmico que tenha o tipo de dados de texto, por exemplo, estas propriedades:

- Descrição
- Categoria
Campo inteiro Número inteiro Requer um conteúdo inteiro ou dinâmico que tenha o tipo de dados inteiro, por exemplo, estas propriedades:

- Percentagem Concluída
- Duração
Campo de data Data e Hora Requer uma data em formato MM/DD/YYYY ou conteúdo dinâmico que tenha o tipo de dado data, por exemplo, estas propriedades:

- Criado em
- Data de início
- Início real
- Fim real
- Data de Vencimento
Campo que faz referência a outra linha de entidade Chave primária Requer um ID de linha, como um GUID, e um tipo de pesquisa, o que significa que os valores da lista de conteúdo dinâmico não funcionarão, por exemplo, estas propriedades:

- Proprietário: Deve ser um ID de usuário válido ou um ID de linha de equipe.
- Tipo de proprietário: Deve ser um tipo de consulta como systemusers ou teams, respectivamente.

- Relativamente: Deve ser um ID de linha válido, como um ID de conta ou um ID de linha de contato.
- Quanto ao Tipo: Deve ser um tipo de consulta como accounts ou contacts.

- Cliente: Deve ser um ID de linha válido, como um ID de conta ou ID de linha de contato.
- Tipo de cliente: Deve ser o tipo de pesquisa, como accounts ou contacts, respectivamente.

Para a tabela Tarefas de exemplo, suponha que você use a ação Adicionar uma nova linha para criar uma nova linha associada a outras linhas de entidade, especificamente uma linha de usuário e uma linha de conta. Portanto, nesta ação, você deve especificar as IDs e os tipos de pesquisa para essas linhas de entidade usando valores que correspondam aos tipos de dados esperados para as propriedades relevantes.

  • Com base na propriedade Proprietário , que especifica um ID de usuário, e na propriedade Tipo de Proprietário , que especifica o systemusers tipo de pesquisa, a ação associa a nova linha a um usuário específico.

  • Com base na propriedade Regard , que especifica um ID de linha, e na propriedade Regarding Type , que especifica o accounts tipo de pesquisa, a ação associa a nova linha a uma conta específica.

A ação resultante se parece com o exemplo a seguir:

A captura de tela mostra a exibição do código do fluxo de trabalho, a ação Adicionar nova linha, e a nova linha de tarefas associada a IDs e tipos de pesquisa.

Resolução de problemas

Chamadas de vários ambientes

O conector do Dataverse armazena informações sobre os fluxos de trabalho do Logic App que exigem e recebem notificações sobre alterações de entidade de banco de dados, usando a entidade callbackregistrations no seu banco de dados Dataverse. Se copiar uma organização Dataverse, quaisquer webhooks são automaticamente copiados. Se copiares a tua organização antes de desativares os fluxos de trabalho associados à tua organização, quaisquer webhooks copiados apontam para os mesmos fluxos de trabalho da aplicação Logic Apps. Estes fluxos de trabalho recebem depois notificações de várias organizações.

Para interromper notificações indesejadas, exclua a callbackregistrations entidade da organização que envia essas notificações seguindo estas etapas:

  1. Identifique e entre na organização Dataverse de onde você deseja remover notificações.

  2. No navegador Chrome, encontre o registo de callback que pretende eliminar.

    1. Revise a lista geral para todos os registos de retorno de chamada no seguinte URI OData para que você possa ver os dados dentro da entidade callbackregistrations.

      https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations:

      Observação

      Se nenhum valor for retornado, talvez você não tenha permissões para exibir esse tipo de entidade ou talvez não tenha entrado na organização correta.

    2. Filtre com base no nome lógico da entidade desencadeadora entityname e no evento de notificação que corresponde à mensagem do seu fluxo de trabalho do aplicativo lógico. Cada tipo de evento é mapeado para o valor inteiro da mensagem da seguinte maneira:

      Tipo de evento Mensagem inteira
      Criar 1
      Suprimir 2
      Atualização 3
      CriarOuAtualizar 4
      CriarOuEliminar 5
      ActualizarOuApagar 6
      CriarOuAtualizarOuEliminar 7

      O exemplo a seguir mostra como pode filtrar notificações de Create em uma entidade nomeada nov_validation usando o seguinte URI OData para uma organização de exemplo:

      https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1

      A captura de tela mostra a janela do navegador e o URI OData na barra de endereço.

      Observação

      Se existirem vários gatilhos para a mesma entidade ou evento, você poderá filtrar a lista usando filtros adicionais, como os createdon atributos e _owninguser_value . O nome do usuário proprietário aparece em /api/data/v9.0/systemusers({id}).

    3. Depois de encontrar o ID para o registro de retorno de chamada que você deseja excluir, execute estas etapas:

      1. No navegador Chrome, abra as Ferramentas de Desenvolvimento do Chrome (Teclado: F12).

      2. Na janela, na parte superior, selecione a guia Console .

      3. No terminal de linha de comando, digite este comando, o qual envia uma solicitação para excluir o registo de retorno de chamada especificado.

        fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})

        Importante

        Certifique-se de fazer a solicitação de uma página que não seja da Interface Unificada do Cliente (UCI), por exemplo, diretamente da página de resposta OData ou API. Caso contrário, a lógica no arquivo app.js pode interferir nessa operação.

    4. Para confirmar que o registo do callback já não existe, consulte a lista de registos de callback.

Entidade duplicada 'callbackregistrations'

Nos fluxos de trabalho Standard, sob condições específicas como realocação de instâncias ou reinício de aplicações, o gatilho Microsoft Dataverse inicia uma execução duplicada. Esta corrida duplicada cria uma entidade duplicada callbackregistrations na sua base de dados Dataverse. Se você editar um fluxo de trabalho padrão que começa com um gatilho Dataverse, verifique se essa callbackregistrations entidade está duplicada. Se a duplicata existir, exclua manualmente a entidade duplicada callbackregistrations .