Exercício: usar extensões OpenAPI

Concluído

Neste exercício, você configurará as extensões de OpenAPI no conector personalizado Contoso Invoicing. Você implementará as seguintes extensões:

  • Testar conexão: para validar que a chave de API é válida.

  • Valores dinâmicos: para tornar a entrada de ID do Tipo de Fatura uma lista suspensa de valores da API.

  • Esquema dinâmico: para mostrar somente os parâmetros que são válidos para o tipo de fatura selecionado.

Importante

Use um ambiente de teste com o Microsoft Dataverse provisionado. Se você não tiver um, poderá criar uma conta no plano da comunidade.

Observação

Baixe o arquivo a seguir no computador local para fazer este exercício Contoso Invoicing Triggers. Selecione o botão download no meio à direita da tela.

Tarefa 1: Importar a solução

Nesta tarefa, você importará uma solução não gerenciada que contém um conector personalizado Contoso Invoicing e depois testará o conector. Você usará esse conector para concluir as tarefas deste exercício.

  1. Vá para o Power Apps Maker Portal e verifique se está no ambiente correto.

  2. Selecione Soluções > Importar solução.

  3. Selecione Procurar.

  4. Selecione a solução ContosoInvoicingExtensions_1_0_0_0.zip e, em seguida, clique em Abrir.

  5. Selecione Avançar.

  6. Selecione Importar e aguarde a conclusão da importação. Uma mensagem de êxito deve aparecer após a conclusão da importação.

  7. Selecione Publicar Todas as Personalizações e aguarde o término da publicação.

  8. Abra a solução Contoso Invoicing - Extensions que você importou.

    O componente de conector personalizado Contoso Invoicing - Extensions deve ser exibido.

  9. Selecione o conector Contoso Invoicing - Extensions, em seguida, selecione Editar.

  10. Inicie uma nova janela do navegador e vá para Contoso Invoicing.

  11. Selecione o link Chave de API.

  12. Copie a chave de API. Salve essa chave em um bloco de notas. Você precisará dela para tarefas futuras.

  13. Retorne ao conector, selecione a guia Teste e, em seguida, selecione + Nova conexão.

  14. Cole a chave copiada no campo Chave de API e selecione Criar conexão.

  15. Selecione Atualizar conexões.

  16. Role até a seção Operações, selecione ListInvoiceTypes e Testar operação.

    Você deve obter uma resposta contendo os tipos de fatura. Posteriormente, você usará essa operação para implementar a extensão Valores Dinâmicos para o parâmetro Tipo de Fatura.

  17. Não saia desta página.

Tarefa 2: Adicionar a extensão para testar conexão

Nesta tarefa, você adicionará a extensão para testar conexão:

  1. Ative o botão de alternância Swagger Editor.

  2. Adicione o fragmento a seguir depois de produces: [] e selecione Atualizar conector. O recuo do texto deve ser igual ao da imagem a seguir.

    x-ms-capabilities:
       testConnection:
         operationId: ListInvoices
         parameters: {}
    

    Verifique se o recuo é semelhante à imagem abaixo.

  3. Selecione + Nova conexão novamente.

  4. Insira seu nome ou outro valor aleatório no campo Chave de API e selecione Criar conexão.

    A criação da conexão deverá falhar.

  5. Forneça a chave de API copiada na Tarefa 1 no campo Chave de API e selecione Criar conexão.

    A criação da conexão deverá ser bem-sucedida.

  6. Não saia desta página.

Tarefa 3: Configurar valores dinâmicos para ID do tipo de fatura

Nesta tarefa, você vai configurar valores dinâmicos para ID do tipo de fatura:

  1. Selecione a guia Definição.

  2. Selecione AddInvoice na seção Ações.

  3. Role para baixo, selecione o botão reticências (Divisa) do parâmetro typeId e, em seguida, selecione Editar.

  4. Insira Tipo de Fatura para Resumo, 1 para Valor padrão e selecione Sim para É obrigatório.

  5. Role para baixo e selecione Dinâmico para Tipo de menu suspenso.

  6. Selecione ListInvoiceTypes para ID da Operação, selecione typeId para Valor e nome para Nome de exibição do valor.

  7. Selecione Atualizar conector.

  8. Ative o botão de alternância Swagger Editor.

  9. Se você receber erros de chave hash, feche a guia do navegador do conector e reabra no modo de edição.

  10. Localize AddInvoice e verifique se x-ms-dynamic-values foi adicionado.

  11. Não saia desta página.

Tarefa 4: Configurar a extensão do esquema dinâmico

Nesta tarefa, você vai configurar a extensão do esquema dinâmico:

  1. Selecione a guia Teste.

  2. Selecione a operação GetInvoiceSchema e selecione Testar operação.

  3. Revise a resposta. Essa resposta é o que uma API precisa retornar para permitir que o Esquema Dinâmico seja configurado.

  4. Ative o botão de alternância Swagger Editor.

  5. Localize a linha CreateInvoiceRequest e substitua a invoice pelo texto a seguir do Swagger.

    Invoice:

    x-ms-dynamic-properties:

    operationId: GetInvoiceSchema

    parameters:

    typeId: {parameterReference: typeId}

    Antes:

    Depois:

    Os recuos devem ser iguais aos da imagem a seguir.

  6. Desative o botão de alternância Swagger Editor.

  7. Selecione a guia Definição.

  8. Selecione a ação GetInvoiceSchema e interna para Visibilidade.

  9. Selecione Atualizar conector.

Tarefa 5: Testar o conector

Nesta tarefa, você testará o conector:

  1. Acesse Power Automate e certifique-se de que esteja no ambiente correto.

  2. Escolha Soluções e abra a solução Contoso Invoicing - Extensions.

  3. Selecione + Novo e, depois, Automação > Fluxo da nuvem > Instantâneo.

  4. Insira Metadados dinâmicos e Nome do fluxo, selecione Disparar manualmente um fluxo para o gatilho e selecione Criar.

  5. Selecione+Nova etapa.

  6. Selecione a guia Personalizado e Contoso Invoicing - Extensions.

  7. Selecione AddInvoice para a ação.

  8. Insira Minha conexão para o nome, digite seu nome em Chave de API e selecione Criar. O teste de conexão deverá falhar.

  1. Forneça a chave de API copiada na Tarefa 1 no campo Chave de API e selecione Criar novamente.

    A conexão deve ser criada com êxito.

  2. No menu suspenso Tipo de Fatura, selecione Ordem de Compra.

    O campo Ordem de Compra deve estar visível agora.

  3. Altere o Tipo de Fatura para Sem ordem de compra.

    O campo Ordem de Compra não deve estar mais visível.

  4. Salve o fluxo.