如何自定义webhooks的payload

我的具体需求是通过webhooks同步已激活的用户数据到pardot,现在的问题是webhooks的payload和pardot那边配置的字段无法匹配。

有什么插件能做到这个转换吗?

也许可以使用 Zapier 集成

2 个赞

如果你不想使用类似 Zapier 的工具,那么你需要一个自定义插件。

2 个赞

暂时通过一个中间转换层实现了需求。但这应该不是最佳实践。如果Discourse能原生支持定义推送数据格式就好了。

您要么需要调用一个现有的 API,要么需要使用插件创建一个新的 API。不可能期望 Discourse 接受现存的所有数据格式,对吗?

也许您可以参考 Discourse Jira 作为示例,尽管那可能有点大材小用。

3 个赞

我的意思是给每个对应事件的推送数据,新增字段配置映射,例如user.id => user_id,以及是否要扁平化数据结构(JSON都变成1级结构,不要嵌套)。例如用户确认邮件事件的数据如下:(已简化)

{
  "user": {
    "id": 1,
    "username": "jack",
    "name": "jack 2026"
  }
}

选择要扁平化数据结构,然后配置每个字段的映射(这可能需要一个很长的表单)。

user.id => user_id
user.username => username
user.name => name

配置后实际推送的数据结构如下

{
  "user_id": 1,
  "username": "jack",
  "name": "jack 2026"
}

当然,这可以作为高级配置,对于不需要这个的人而言,完全可以忽略。