邀请已有账户的用户时出现API错误422

您好团队,

我正在尝试通过 Make.com 设置一个自动化,以便在用户从 Kajabi 购买新产品时自动邀请他们加入 Discourse,并将他们添加到新组中。

问题是,购买这些产品的大多数人(但不是全部!)已经在我们的论坛中拥有账户。根据我阅读的关于 422 错误的许多其他帖子,包括 2021 年的链接帖子,我认为错误发生是因为电子邮件已与 Discourse 中的账户关联。

但是,自该帖子发布以来,随着邀请系统的更新,我原以为这不再是一个问题,并且我可以使用 .csv 手动批量邀请用户,即使他们已经拥有账户也可以将他们添加到组中,而不会引发错误,同时仍然向没有账户的用户发送邀请。

那么,我该如何解决这个问题?我正在使用来自 API 文档的邀请的标准 API 代码,并且它过去曾奏效。我刚刚克隆了 Make 中现有的(有效的)场景,并调整了组名和起始主题。供参考,这是我正在使用的 API 代码:

  {
  "email": "user@host.com",
  "skip_email": false,
  "max_redemptions_allowed": 1,
  "topic_id": 782,
  "group_names": "Group-Name"
}

将“skip_email”部分中的“false”更改为“true”是否就这么简单?或者那样就不会向没有账户的用户发送邀请了吗?

我还看到了用于将用户添加到组的 PUT 函数,但我只处理从 Kajabi 通过 webhook 发送的电子邮件,并且我不确定如何设置一种方法来检查电子邮件以获取用户名来执行此操作,因为据我所知,我无法将电子邮件地址用于 PUT 函数。

感谢您的任何帮助!

哦,我想补充一点,我在 Kajabi 中为 3 个独立产品使用了 Make 中的相同 webhook 链接作为传出的 webhook,但这些产品不会被一起购买,因为它们是单独的“附加”选项。我认为这可能是问题所在,但当我通过从每个产品发送测试传出 webhook 来测试场景时,没有出现任何错误。错误仅在“真实”用户购买产品(该用户拥有账户)时才开始出现。

您可以逆向工程 Discourse API,使用 admin/users 路由并通过电子邮件地址查找用户,然后从那里开始?

感谢您提供的链接和建议。这似乎有点超出我的能力范围,但我会尽力而为,以免弄坏任何东西。

有没有办法像处理 CSV 批量邀请那样,在用户已存在时也能正常处理,而不是导致整个过程出错?感觉应该有一个简单的方法,比如在 API 中加入“如果用户已存在,则跳过邀请”之类的代码……