您可以使用 Discourse API 在外部应用程序上执行操作时,自动发送论坛邀请电子邮件。对于许多应用程序,您可以使用 Zapier 进行设置,而无需编写任何代码。
一个常见的用例是,当用户购买产品或在外部服务上注册时,邀请他们加入您的论坛。在本文的示例中,我将使用 Zapier WordPress 集成来触发在 WordPress 网站上有新用户注册时从 Discourse 发送邀请。
在 Zapier 上设置触发步骤
访问您的 Zapier 仪表板,搜索您想要触发邀请电子邮件的应用程序。在下面的截图中,我选择了 WordPress 作为触发器。
这里唯一需要的配置是连接 WordPress Zap 到一个 WordPress 账户,并选择“New User”事件来触发 Zap。
设置用于发送邀请的操作步骤
点击“Add a Step”按钮,然后从下拉菜单中点击“Action/Search”。
在搜索菜单中输入“webhook”,然后从操作菜单中选择“Webhooks by Zapier”。Webhook 操作步骤将添加到您的 Zap 侧边栏,并且会打开一个表单,让您选择希望 Webhook 执行哪种类型的请求。
从表单中选择 POST,然后点击 Continue。
打开的表单允许您配置发送到 Discourse 的 POST 请求。在 URL 字段中,输入您论坛的基础 URL,后跟 /invites。例如,我的论坛的基础 URL 是 https://demo.scossar.com,因此邀请路由的完整链接是 https://demo.scossar.com/invites
您现在需要配置表单的 Payload Type(负载类型)、Data(数据)和 Headers(标头)部分。所有其他表单部分可以保留默认值。
Payload Type 告诉 Zapier 以何种格式发送负载。它应设置为 Json。
Data 部分用于告诉 Discourse 将邀请发送到哪个电子邮件地址,并设置可选的用户组列表和自定义消息。要邀请用户而不将其添加到用户组或包含自定义消息,输入 email 作为数据 Key,然后点击“Insert a Field”图标以打开字段的下拉菜单。向下滚动列表,直到看到包含用户电子邮件的触发应用传递的值。当使用 WordPress 作为触发应用时,完成的 Data 部分应如下所示:
要自动将用户添加到他们接受邀请时所在的组,请点击 Data 部分的
图标以添加一个新字段。将该字段的 Key 设置为 group_names。将该字段的值设置为您希望用户被添加到的组名的逗号分隔列表。要包含在邀请电子邮件中的自定义消息,创建一个新的字段,其 Key 设置为 custom_message,其值设置为您想要发送的消息。
注意:在 Zap 的触发步骤后添加一个 Code 步骤应该可以动态地为特定用户设置组名和自定义消息。
Headers 部分用于验证您的请求。要配置 Headers 字段,您需要在 Discourse 站点上生成一个 API 密钥。要执行此操作,请访问您的 Discourse 站点的 Admin / API 页面,然后点击“New API Key”按钮。创建密钥时,将其分配给一个工作人员用户,并将范围设置为 Global,或者使用 Granular 范围并勾选 Invites > Create 框。
现在,在 Zap 的 Headers 部分中,输入以下键/值对。用适合您站点的适当值替换我用方括号括起来的任何值。键的字母大小写很重要。
Api-Username: <您希望发送邀请的工作人员用户名>
Api-Key: <您生成的 API 密钥>
Content-Type: application/json
表单现在应该与下面的屏幕截图相似,但包含您的 Api-Username 和 Api-Key:
点击 Continue 按钮。
现在,您可以通过点击“Send Test To Webhooks by Zapier”按钮来测试集成。测试将使用您在触发步骤中设置的数据进行。如果一切配置正确,您将看到成功消息,并且您在触发步骤中设置的用户尚不存在于您的 Discourse 论坛上,将发送一封邀请电子邮件,并且您将在 Zapier 上看到一条 Success 消息。一旦测试步骤通过,点击 Finish 按钮并打开您的 Zap。
有关如何使用 Zapier 向 Discourse API 发送其他类型请求的详细信息,请参阅 https://meta.discourse.org/t/how-to-make-requests-to-the-discourse-api-with-zapier/122126。












