Partilhar via


Criar provedor de cumprimento

Este tópico descreve os passos necessários para criar um provedor de cumprimento no Microsoft Dynamics 365 Intelligent Order Management.

Criar nova definição de provedor

Para criar uma nova definição de provedor, siga estes passos.

  1. Aceda a Provedores > Catálogo.
  2. Selecione Nova Definição de Provedor.
  3. Para o Nome a Apresentar, introduza "IOMLabFulfillmentProvider".
  4. Para o Nome Lógico, introduza "msdyn_IOMLabFulfillmentProvider".
  5. Para a Descrição, introduza "Provedor de cumprimento do IOM Lab".
  6. Para Logótipo, selecione "IOMLab.png".
  7. Para Tipo de Serviço, introduza "Cumprimento".
  8. Selecione Guardar e fechar.

Adicionar definição de provedor à solução

Para adicionar uma definição de provedor à solução, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Definição de Provedor IOM.
  3. Selecione IOMLabFulfillmentProvider e, em seguida, selecione Adicionar para o adicionar à solução.

Criar ação do provedor para enviar um payload de cumprimento para o Outlook

Para criar uma ação de provedor para enviar um payload de cumprimento para o Outlook, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue para Soluções.

  2. Abra a Solução Predefinida.

  3. Selecione Nova.

  4. Selecione Fluxo de Cloud e dê-lhe o nome "Enviar para Cumprimento do IOM Lab(Outlook)".

  5. Selecione o tipo de acionador como acionador HTTP

    1. Defina um acionador do Power Automate. Normalmente, é um ponto final HTTP que é um acionador de webhook (recomendado), um acionador de conector ou um acionador de inserção do Dataverse. O acionador é gerado quando um serviço externo tem dados para enviar ao Intelligent Order Management. Captura de ecrã do acionador para quando é recebido um pedido HTTP.

    O Esquema JSON a utilizar no seu acionador HTTP está definido abaixo.

    {
        "type": "object",
        "properties": {
            "text": {
                "title": "ProviderActionExecutionEventId",
                "type": "string",
                "x-ms-dynamically-added": true,
                "description": "Please enter your input",
                "x-ms-content-hint": "TEXT"
            },
            "text_1": {
                "title": "EntityRecordId",
                "type": "string",
                "x-ms-dynamically-added": true,
                "description": "Please enter your input",
                "x-ms-content-hint": "TEXT"
            }
        },
        "required": [
            "text",
            "text_1"
        ]
    }
    

Ações de inicialização variáveis

  1. Adicione o âmbito Tentativa .

  2. No âmbito Tentativa, adicione um ação Realizar uma ação de saída, como se segue:

    • ProviderActionExecutionEventId: em Conteúdo dinâmico, selecione ProviderActionExecutionEventId.
    • PowerAutomateRunId: especifique o seguinte como uma expressão: workflow()['run']?['name'].

    Âmbito tentativa

  3. Adicione uma ação Obter uma linha por ID e faça o seguinte:

    • Para o Nome da tabela, introduza "Pedidos de Cumprimento".
    • Para ID de Linha, selecione EntityRecordId em Conteúdo dinâmico.

    Obter uma ação de ID de linha

  4. Adicione uma ação Enviar um e-mail a partir do conector Outlook.com, como se segue. Existem alguns conectores de e-mail, certifique-se de selecionar Outlook.com, pois essa foi a ligação configurada anteriormente.

    • Na linha Para, é usado "placeholder@placeholder.com" como texto de marcador de posição. Isto será substituído por um parâmetro de provedor em etapas posteriores.
    • Na linha Assunto, "nome" é obtido do passo Obter pedido de cumprimento em Conteúdo dinâmico.
    • Para Corpo, especifique o seguinte como uma expressão: outputs('Get_fulfillment_order')['body']

    Enviar uma ação de e-mail

  5. Adicione uma ação Listar linhas como se segue:

    • Para o Nome da tabela, introduza "Produtos de Pedido de Cumprimento".
    • Para Obter consulta Xml, introduza o seguinte:
    <fetch>  
      <entity name="msdyn_fulfillmentorderdetail">  
       <all-attributes />
          <filter>
         <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/>
         </filter>
      </entity>  
    </fetch>
    

    Ação listar linhas

  6. Adicione um controlo Aplicar a cada com uma ação Enviar um e-mail como se segue:

    • valor é obtido do passo Obter linha de pedido de cumprimento em Conteúdo dinâmico.
    • nome é obtido do passo Obter linha de pedido de cumprimento em Conteúdo dinâmico.
    • Item atual é selecionado a partir de Conteúdo dinâmico.

    Aplicar a cada controlo

  7. No ciclo, adicione uma ação Anexar à variável de matriz como se segue:

    • Para o Nome, introduza "ProcessedFulfillmentOrderLines".
    • Para o Valor, selecione ID de linha de cumprimento em Conteúdo dinâmico.

    Anexar à ação matriz (cumprimento)

  8. No ciclo, adicione outra ação Anexar à variável de matriz como se segue:

    • Para o Nome, introduza "ProcessedSalesOrderLines".
    • Para o Valor, selecione ID de linha de vendas em Conteúdo dinâmico.

    Anexar à ação matriz (vendas)

  9. Feche o âmbito Tentativa ao selecionar a sua barra de título.

  10. Selecione Nova etapa e adicione outro âmbito chamado "Captura".

  11. No âmbito Captura, selecione as reticências ("..."), selecione Configurar executar após e configure como se segue:

    • Selecione a caixa de verificação falhou .
    • Selecione a caixa de verificação excedeu o limite de tempo .

    Âmbito captura)

  12. No âmbito Captura, selecione Adicionar uma ação e adicione uma ação Definir variável e volte a nomeá-la como "Definir o resultado da execução como falha".

  13. Configure as propriedades como se segue:

    • Para o Nome, introduza "ExecutionResult".
    • Para o Valor, introduza "falso".

    Definir variável)

  14. Selecione Nova etapa e adicione outro âmbito chamado "Finalmente".

  15. No âmbito finalmente, selecione as reticências ("..."), selecione Configurar executar após e configure como se segue:

    • Selecione a caixa de verificação foi bem-sucedida .
    • Selecione a caixa de verificação excedeu o limite de tempo .
    • Selecione a caixa de verificação foi ignorada .
    • Selecione a caixa de verificação excedeu o limite de tempo .

    Âmbito finalmente)

  16. No âmbito Finalmente , adicione uma etapa "condição" e compare a variável ExecutionResult com verdadeiro como se segue:

    • No primeiro campo selecione a variável ExecutionResult.
    • No segundo campo, selecione é igual a.
    • No terceiro campo, selecione verdadeiro.

    Etapa condição

  17. No ramo Se sim, adicione uma ação Executar um fluxo subordinado e volte a nomeá-la como "Gerar Eventos Empresariais para linhas de pedido de cumprimento processadas".

  18. Configure as propriedades como se segue:

    • Para o Fluxo subordinado, introduza "Gerar Evento Empresarial do IOM"
    • Para BusinessEventDefinitionId, introduza "063d85c8-60a4-eb11-9443-000d3a313675".
    • Para EntityRecordId, especifique o seguinte como uma expressão: string(variables('ProcessedFulfillmentOrderLines'))

    Executar ação fluxo subordinado (eventos empresariais)

  19. No ramo Se sim, adicione outra ação Executar um fluxo subordinado e volte a nomeá-la como "Gerar Eventos Agregados de Ordem de Venda".

  20. Configure as propriedades como se segue:

    • Para LineBusinessEventDefinitionId, introduza "ccf64002-61a4-eb11-9443-000d3a313675".
    • Para LineRecordId, especifique o seguinte como uma expressão: string(variables('ProcessedSalesOrderLines')).
    • Para OrderBusinessEventDefinitionId, introduza "48688716-61a4-eb11-9443-000d3a313675".

    Executar ação fluxo subordinado (eventos agregados)

  21. Feche a etapa condição.

  22. Adicione uma ação Realizar uma ação de saída, como se segue:

    • Para o Nome da ação, introduza "msdyn_CompleteProviderActionExecution".
    • Para ExecutionResult, selecione a variável ExecutionResult em Conteúdo dinâmico.
    • Para ProviderActionExecutionEventId, selecione ProviderActionExecutionEventId de Conteúdo dinâmico.

    Realizar a ação de saída)

  23. Selecione Guardar.

Adicionar uma definição lógica de definição de provedor à definição de provedor do Outlook

Para adicionar uma definição lógica de definição de provedor à definição de provedor do Outlook, siga estes passos.

  1. Aceda a Provedores > Catálogo.
  2. Selecione o recém-criado IOMLabFulfillmentProvider.
  3. Selecione Editar na barra de menus.
  4. Selecione o separador Definições lógicas.
  5. Selecione + Nova Definição Lógica de Definição de Provedor do IOM.
  6. Para o Nome a Apresentar, introduza "Enviar para Cumprimento do IOM Lab (Outlook)".
  7. Para o Nome Lógico, introduza "msdyn_LabSentToFulfillmentOutlook".
  8. Para a Definição de Provedor, introduza "IOMLabFulfillmentProvider".
  9. Para o Tipo de Lógica, introduza "Ação do Provedor".
  10. Para o Nome do Workflow, introduza "Enviar para Cumprimento do IOM Lab (Outlook)".
  11. Para os Minutos de Limite de Tempo, introduza "2".
  12. Para Número Máximo de Tentativas, introduza "3".
  13. Para a Descrição, introduza "Enviar para Cumprimento do IOM Lab (Outlook)".
  14. Para Tipo de Ação, insira "Enviar para Cumprimento".
  15. Selecione Guardar. Isto vai gerar uma representação JSON do fluxo de cloud do processador de mensagens e preencher o campo Dados do Cliente .
  16. Substitua o e-mail do marcador de posição com o parâmetro do provedor, como se segue:
    1. Copie o bloco de texto no campo Dados do Cliente e cole-o no Bloco de Notas.
    2. No bloco de texto, localize "placeholder@placeholder.com" e substitua-o por "{{IOMLabOutboundFulfillmentEmail}}".
    3. Copie o bloco de texto modificado para o campo Dados do Cliente .
    4. Selecione Guardar e fechar.
  17. Selecione Ligações. Deve ver ambas as definições de referência de ligação do Microsoft Dataverse e do Outlook.com listadas.

Adicionar uma definição lógica de definição de provedor à solução IOMLabProviders do Outlook

Para adicionar uma definição lógica de definição de provedor à solução IOMLabProviders do Outlook, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Definição de Lógica de Definição de Provedor do IOM.
  3. Selecione Enviar para Cumprimento do IOM Lab (Outlook) e, em seguida, selecione Adicionar para o adicionar à solução.

Adicionar referências de ligação da definição de provedor à solução IOMLabProviders

Para adicionar as referências de ligação de definição de provedor à solução IOMLabProviders, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Referência de Ligação de Definição de Provedor do IOM.
  3. Selecione as duas referências de ligação da definição de provedor do Microsoft Dataverse e do Outlook.com e , em seguida, selecione Adicionar para as adicionar à solução.

Criar uma ação do provedor para enviar um payload de cumprimento ao RequestBin

Para criar uma ação de provedor para enviar um payload de cumprimento para o RequestBin, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue para Soluções.

  2. Abra a Solução Predefinida.

  3. Selecione Nova.

  4. Selecione Fluxo de Cloud e dê-lhe o nome "Enviar para Cumprimento do IOM Lab (RequestBin)".

  5. Selecione o tipo de acionador como Acionar um fluxo manualmente e faça o seguinte:

    1. Selecione Adicionar uma entrada, selecione Texto e introduza "ProviderActionExecutionEventId" no primeiro campo.
    2. Selecione Adicionar uma entrada, selecione Texto e introduza "EntityRecordId" no primeiro campo.

    Acionar manualmente as propriedades de um fluxo (RequestBin)

  6. Crie uma ação de inicialização variável:

    • Para o Nome, introduza "ExecutionResult".
    • Para o Tipo, selecione Booleano.
    • Para o Valor, introduza "verdadeiro".
  7. Crie uma segunda ação de inicialização variável:

    • Para o Nome, introduza "ProcessedSaleOrderLines".
    • Para o Tipo, selecione Matriz.
  8. Crie uma terceira ação de inicialização variável:

    • Para o Nome, introduza "ProcessedFulfillmentOrderLines".
    • Para o Tipo, selecione Matriz.

    Ações de inicialização variáveis (RequestBin)

  9. Adicione o âmbito Tentativa .

  10. No âmbito Tentativa, adicione um ação Realizar uma ação de saída, como se segue:

    • ProviderActionExecutionEventId: em Conteúdo dinâmico, selecione ProviderActionExecutionEventId.
    • PowerAutomateRunId: especifique o seguinte como uma expressão: workflow()['run']?['name'].

    Âmbito Tentativa (RequestBin)

  11. Adicione uma ação Obter uma linha por ID e configure-a como se segue:

    • Para o Nome da tabela, introduza "Pedidos de Cumprimento".
    • Para ID de Linha, selecione EntityRecordId em Conteúdo dinâmico.

    Obter uma ação de ID de linha (RequestBin)

  12. Adicione uma ação Criar pedido de cumprimento a partir do conector RequestBin, como se segue.

    • Para o Corpo, selecione corpo em Conteúdo dinâmico.

    Criar ação de pedido de cumprimento)

  13. Adicione uma ação Listar linhas como se segue:

    • Para o Nome da tabela, introduza "Produtos de Pedido de Cumprimento".
    • Para Obter consulta Xml, introduza o seguinte:
    <fetch>  
      <entity name="msdyn_fulfillmentorderdetail">  
       <all-attributes />
          <filter>
         <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/>
         </filter>
      </entity>  
    </fetch>
    

    Ação listar linhas

  14. Adicione um controlo "Aplicar a cada um" com uma ação Criar linhas de pedido de cumprimento da ligação RequestBin, como se segue:

    • valor é obtido do passo Obter linha de pedido de cumprimento em Conteúdo dinâmico.
    • Item atual é selecionado a partir de Conteúdo dinâmico.

    Aplicar a cada controlo (RequestBin)

  15. No ciclo, adicione uma ação Anexar à variável de matriz como se segue:

    • Para o Nome, introduza "ProcessedFulfillmentOrderLines".
    • Para o Valor, selecione ID de linha de cumprimento em Conteúdo dinâmico.

    Anexar à ação matriz (cumprimento)

  16. No ciclo, adicione outra ação Anexar à variável de matriz como se segue:

    • Para o Nome, introduza "ProcessedSalesOrderLines".
    • Para o Valor, selecione ID de linha de vendas em Conteúdo dinâmico.

    Anexar à ação matriz (vendas)

  17. Feche o âmbito Tentativa ao selecionar a sua barra de título.

  18. Selecione Nova etapa e adicione outro âmbito e volte a chamá-lo de "Captura".

  19. No âmbito Captura, selecione as reticências ("..."), selecione Configurar executar após e configure como se segue:

    • Selecione a caixa de verificação falhou .
    • Selecione a caixa de verificação excedeu o limite de tempo .

    Âmbito captura)

  20. No âmbito Captura, selecione Adicionar uma ação e adicione uma ação Definir variável e volte a nomeá-la como "Definir o resultado da execução como falha".

  21. Configure as propriedades como se segue:

    • Para o Nome, introduza "ExecutionResult".
    • Para o Valor, introduza "falso".

    Definir variável)

  22. Selecione Nova etapa e adicione outro âmbito e volte a chamá-lo de "Finalmente".

  23. No âmbito Finalmente, selecione as reticências ("..."), selecione Configurar executar após e configure como se segue:

    • Selecione a caixa de verificação foi bem-sucedida .
    • Selecione a caixa de verificação excedeu o limite de tempo .
    • Selecione a caixa de verificação foi ignorada .
    • Selecione a caixa de verificação excedeu o limite de tempo .

    Âmbito finalmente)

  24. No âmbito Finalmente , adicione uma etapa "condição" e compare a variável ExecutionResult com "verdadeiro" como se segue:

    • No primeiro campo selecione a variável ExecutionResult.
    • No segundo campo, selecione é igual a.
    • No terceiro campo, selecione verdadeiro.

    Etapa condição

  25. No ramo Se sim, adicione uma ação Executar um fluxo subordinado e volte a nomeá-la como "Gerar Eventos Empresariais para linhas de pedido de cumprimento processadas".

  26. Configure as propriedades como se segue:

    • Para o Fluxo subordinado, introduza "Gerar Evento Empresarial do IOM"
    • Para BusinessEventDefinitionId, introduza "063d85c8-60a4-eb11-9443-000d3a313675".
    • Para EntityRecordId, especifique o seguinte como uma expressão: string(variables('ProcessedFulfillmentOrderLines'))

    Executar ação fluxo subordinado (eventos empresariais)

  27. No ramo Se sim, adicione outra ação Executar um fluxo subordinado e volte a nomeá-la como "Gerar Eventos Agregados de Ordem de Venda".

  28. Configure as propriedades como se segue:

    • Para LineBusinessEventDefinitionId, introduza "ccf64002-61a4-eb11-9443-000d3a313675".
    • Para LineRecordId, especifique o seguinte como uma expressão: string(variables('ProcessedSalesOrderLines')).
    • Para OrderBusinessEventDefinitionId, introduza "48688716-61a4-eb11-9443-000d3a313675".

    Executar ação fluxo subordinado (eventos agregados)

  29. Feche a etapa condição.

  30. Adicione uma ação Realizar uma ação de saída, como se segue:

    • Para o Nome da ação, introduza "msdyn_CompleteProviderActionExecution".
    • Para ExecutionResult, selecione a variável ExecutionResult em Conteúdo dinâmico.
    • Para ProviderActionExecutionEventId, selecione ProviderActionExecutionEventId de Conteúdo dinâmico.

    Realizar a ação de saída)

  31. Selecione Guardar.

Adicionar definição lógica de definição de provedor à definição de provedor (RequestBin)

Para adicionar uma definição lógica de definição de provedor à definição de provedor do RequestBin, siga estes passos.

  1. Aceda a Provedores > Catálogo.
  2. Selecione o recém-criado IOMLabFulfillmentProvider.
  3. Selecione Editar na barra de menus.
  4. Selecione o separador Definições lógicas.
  5. Selecione + Nova Definição Lógica de Definição de Provedor do IOM.
  6. Para o Nome a Apresentar, introduza "Enviar para Cumprimento do IOM Lab (RequestBin)".
  7. Para o Nome Lógico, introduza "msdyn_LabSentToFulfillmentRequestBin".
  8. Para a Definição de Provedor, introduza "IOMLabFulfillmentProvider".
  9. Para o Tipo de Lógica, introduza "Ação do Provedor".
  10. Para o Nome do Workflow, introduza "Enviar para Cumprimento do IOM Lab (RequestBin)".
  11. Para os Minutos de Limite de Tempo, introduza "2".
  12. Para Número Máximo de Tentativas, introduza "3".
  13. Para a Descrição, introduza "Enviar para Cumprimento do IOM Lab (RequestBin)".
  14. Para Tipo de Ação, insira "Enviar para Cumprimento".
  15. Selecione Guardar. Isto vai gerar uma representação JSON do fluxo de cloud do processador de mensagens e preencher o campo Dados do Cliente .
  16. Selecione Guardar e fechar.
  17. Selecione Ligações. Deve ver ambas as definições de referência de ligação do Microsoft Dataverse, do Outlook.com e do RequestBin listadas.

Adicionar parâmetro de definição de provedor à definição de provedor

Para adicionar um parâmetro de definição de provedor à definição de provedor, siga estes passos.

  1. Selecione Parâmetros.
  2. Selecione + Novo Parâmetro de Definição de Provedor IOM.
  3. Para o Nome a Apresentar, introduza "IOMLAbOutboundFulfillmentEmail".
  4. Para Tipo de Dados, introduza "Texto".
  5. Para a Definição de Provedor, introduza "IOMLabFulfillmentProvider".
  6. Para a Chave, introduza "IOMLabOutboundFulfillmentEmail".
  7. Para o Nome Lógico, introduza "msdyn_IOMLabOutboundFulfillmentEmail".
  8. Para É obrigatório, introduza "Sim".
  9. Selecione Guardar e fechar.

Adicionar definição lógica de definição de provedor à definição IOMLabProviders (RequestBin)

Para adicionar uma definição lógica de definição de provedor à solução IOMLabProviders do RequestBin, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Definição de Lógica de Definição de Provedor do IOM.
  3. Selecione Enviar para Cumprimento do IOM Lab (RequestBin) e, em seguida, selecione Adicionar para o adicionar à solução.

Adicionar referência de ligação da definição de provedor à solução IOMLabProviders

Para adicionar uma referência de ligação de definição de provedor à solução IOMLabProviders, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Referência de Ligação de Definição de Provedor do IOM.
  3. Selecione RequestBin e, em seguida, selecione Adicionar para o adicionar à solução.

Adicionar parâmetro de definição de provedor à solução IOMLabProviders

Para adicionar um parâmetro de definição de provedor à solução IOMLabProviders, siga estes passos.

  1. Aceda ao Portal do Power App Maker e navegue até à solução recém-criada IOMLabProviders.
  2. Selecione Adicionar existente > Parâmetro de Definição de Provedor IOM.
  3. Selecione IOMLabOutboundFulfillmentEmail e, em seguida, selecione Adicionar para o adicionar à solução.

Próximo passo de laboratório de início rápido: Exportar solução