练习 - 实施 Webhook 触发器

已完成

在本练习中,您将为现有 Contoso Invoicing API 的自定义连接器添加 Webhook 触发器。

重要提示

使用已预配 Microsoft Dataverse 的测试环境。 如无社区计划,您可以注册社区计划

注意

将以下文件下载到本地计算机来完成本练习 Contoso Invoicing 触发器。 选择屏幕中部右侧的下载按钮。

任务 1:使用自定义连接器导入解决方案

在本任务中,您将导入包含 Contoso Invoicing API 预构建自定义连接器的非托管解决方案。

  1. 转到 Power Apps Maker Portal 并确保您处于正确的环境中。

  2. 选择解决方案 > 导入解决方案

  3. 选择浏览

  4. 选择 ContosoInvoicingTriggers_1_0_0_0.zip 解决方案,然后选择打开

  5. 选择下一步

  6. 选择导入,然后等待导入完成。 您应在导入完成后收到成功消息。

  7. 选择发布所有自定义项并等待发布完成。

  8. 选择打开您导入的Contoso 导入触发器解决方案。

    您应看到Contoso Invoicing 触发器自定义连接器组件。

    突出显示 Contoso Invoicing 触发器的屏幕截图。

  9. 在新选项卡中转到 Contoso Invoicing

  10. 选择API 密钥链接。

    突出显示 API 密钥链接的屏幕截图。

  11. 复制API 密钥并将其保存在记事本中。 您将在本练习中多次使用 API 密钥。

  12. 返回 Power Apps 制作者门户并确保您处于环境中。

  13. 选择解决方案并选择打开Contoso Invoicing 触发器解决方案。

  14. 选择打开Contoso Invoicing 触发器自定义连接器。

  15. 选择编辑

    箭头指向编辑连接器按钮的屏幕截图。

  16. 主机输入 contosoinvoicing.azurewebsites.net

  17. 选择更新连接器

  18. 选择测试 > + 新建连接

    箭头指向添加新连接按钮的屏幕截图。

  19. 粘贴API 密钥并选择创建连接

    创建连接按钮的屏幕截图。

  20. 选择刷新。 应自动选择您创建的连接。

  21. 向下滚动到操作部分,选择 ListInvoices,然后选择测试操作

    箭头指向“测试操作”按钮的屏幕截图。

    您应在正文部分中看到发票列表。

    正文部分中的发票列表屏幕截图。

  22. 请勿离开本页面。

任务 2:添加 Webhook 触发器

按照以下步骤添加 Webhook 触发器:

  1. 选择定义

    选定定义选项卡的屏幕截图。

  2. 向下滚动到触发器部分并选择+ 新建触发器

  3. 提供以下值:

    • 摘要 - 发票创建时间

    • 描述 - 发票创建时间

    • 操作 ID - InvoiceCreated

    • 触发器类型 - Webhook

    摘要、说明、操作 ID 和触发器类型的新触发器值的屏幕截图。

  4. 转到请求部分并选择+ 从示例导入

    箭头指向从示例导入按钮的屏幕截图。

  5. 提供以下值,然后选择导入。 对于其他 API,您将从 API 文档获取示例。

    • 动词 - POST

    • URL - https://contosoinvoicing.azurewebsites.net/NewInvoiceNotification/

      注意

      包括 URL 最后的正斜杠。

    • 正文

       {
       "targetUrl":"https://webhook.site"
       }
      

    请求示例属性屏幕截图。

  6. 滚动到触发器配置,然后为回拨 URL 参数选择 targetUrl。 本选择允许通过自定义连接器在运行时填充targetUrl

    触发器确认窗口屏幕截图。

  7. 向上滚动到请求部分,依次选择正文编辑

    箭头指向编辑正文按钮的屏幕截图。

  8. 选择targetUrl,然后选择编辑

    箭头指向编辑目标 URL 按钮的屏幕截图。

  9. 必填选择,为可见性选择内部

    目标 URL 属性字段的屏幕截图。

  10. 选择后退按钮。

    箭头指向后退按钮的屏幕截图。

  11. 再次选择后退按钮。

  12. 向下滚动到Webhook 响应部分,在描述中输入发票,然后选择+ 从示例导入。 Webhook 响应定义在发生触发事件时发送到流的内容。

    箭头指向导入示例响应按钮的屏幕截图。

  13. 将以下 JSON 示例粘贴在正文中,然后选择导入

     {
     "invoiceId": "1933",
     "date": "2021-01-26T04:02:52.1490835+00:00",
     "amount": 5000,
     "accountId": "1001",
     "accountName": "Wing Tips",
     "status": "Invoiced",
     "typeId": 1,
     "purchaseOrderId": "3002",
     "tags": "New Account;Special Pricing"
     }
    

    响应导入属性详细信息的屏幕截图。

  14. 选择更新连接器

    注意

    如果收到有关“所有路径必须以 '/' 开头”的错误消息,打开 Swagger,找到包含 '':{} 的行并删除该行。

  15. 选择关闭

任务 3:测试触发器

  1. 转到 Power Apps 制作者门户并确保您处于环境中。

  2. 选择解决方案并打开 Contoso Invoicing Triggers 解决方案。

  3. 选择 + 新建 > 自动化 > 云端流 > 即时

  4. 在名称中输入创建发票,选择触发器下方的手动触发流,然后选择创建

    箭头指向“手动触发流”触发器的屏幕截图。

  5. 展开触发器并选择 + 添加输入

  6. 选择数字作为输入类型。

    箭头指向“数字”输入类型的屏幕截图。

  7. 在输入名称中输入金额,然后选择+ 新建步骤

    箭头指向添加新流步骤按钮的屏幕截图。

  8. 选择自定义选项卡,然后选择Contoso Invoicing 自定义连接器。

    箭头指向自定义连接器的屏幕截图。

  9. 选择添加发票操作。

  10. 连接名称字段中输入Contoso 连接,粘贴您在任务 1 中复制的API 密钥使用自定义连接器导入解决方案,然后选择创建。 必须在两个流中使用相同的 API 密钥,否则触发器流将无法运行。

    创建连接按钮屏幕截图。

  11. 选择金额字段并在动态内容窗格中选择金额

    上一步金额字段输出的屏幕截图。

  12. 选择保存

  13. 选择 <- 后退按钮。

  14. 请确保您仍然处于 Contoso Invoicing - Triggers 解决方案中。

  15. 选择 + 新建 > 自动化 > 云端流 > 自动化

  16. 输入发票通知作为流名称,并选择跳过

  17. 选择自定义选项卡,然后选择 Contoso Invoicing 自定义连接器。

    箭头指向自定义连接器触发器的屏幕截图。

  18. 选择发票创建时间触发器。

  19. 选择+ 新建步骤

  20. 搜索编制,然后选择编制操作。

  21. 选择输入字段并在动态内容窗格中选择正文

    动态内容窗格中的“输入”字段和“正文”屏幕截图。

  22. 选择保存

  23. 选择测试

  24. 选择手动 > 测试。 流将启动,您应等待通知。

  25. 打开新的浏览器窗口,并导航到 https://make.powerapps.com/

  26. 请确保您已选择正确的环境。

  27. 选择解决方案并打开 Contoso Invoicing - Triggers

  28. 打开创建发票云端流。

  29. 选择编辑

  30. 选择测试

  31. 选择手动 > 测试

  32. 选择继续

  33. 金额中输入 5500,然后选择运行流

  34. 选择完成

  35. 切换到发票通知流。 流应成功运行。

  36. 选择展开编制操作。

    箭头指向编制操作的屏幕截图。

    输入输出应显示您在创建发票流中提供的金额。

    编制操作输入和输出的屏幕截图。