webhooksのペイロードをカスタマイズする方法

私の具体的な要件は、アクティブ化されたユーザーデータをWebhook経由でPardotに同期することですが、現在の問題は、Webhookのペイロードと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"
}

もちろん、これは上級者向けのオプション設定として提供でき、これを必要としないユーザーは完全に無視できます。