場所 | Main Dashboard > {Account}を選択 > 設定 > Communication settings > Update communication settings > 'Webhook'を設定 |
ConformityはカスタムWebhookチャネルを介して送信されるNotificationsをサポートします。これらのNotificationsは、ユーザが作成したチャネルに送信され、すべての関連するユーザがNotificationsを受信します。
- [Create a Webhook channel.]をクリックしてください
- Automatic notificationsを設定する。
- Configure triggers。
- [Configure now]は、次のパラメーターを使用してWebhookチャネルの追加を許可します
-
[Webhook] [URL:] 安全なWebhook URLを'https'で入力してください
注意
-
URLはhttp://で始めることはできません (https://のみ)
-
URLにlocalhostを含めることはできません
-
URLにIPアドレスを含めることはできません
-
-
[Webhook Security Token]
注意
base64以外の文字は受け付けられません -
[Custom Header:] Webhookに送信されるリクエストに最大5つのカスタムHTTPヘッダーを含めることができます。
-
[Validating payloads from Conformity]
オプションのセキュリティトークンを設定することにした場合、Conformityはそれを使用して各ペイロードにハッシュ署名を作成します。ハッシュ署名は、X-Conformity-Signatureとしてヘッダーに指定したURLに各リクエストと共に渡されます。
アイデアは、提供されたセキュリティトークンを使用してハッシュを計算し、我々の側のハッシュがあなたの側のハッシュと一致することを確認することです。ハッシュ署名はConformityから生成され、HMACヘキサダイジェスト
(sha-256) を使用するため、以下の例のようにサーバを設定できます:
const signatureHash = request.headers["X-Conformity-Signature"]; const hmac = crypto.createHmac("sha256", YOUR_SECURITY_TOKEN); const digest = Buffer.from( hmac.update(JSON.stringify(PAYLOAD_BODY)).digest("hex") ); const checksum = Buffer.from(signatureHash, "utf8"); if ( checksum.length !== digest.length || !crypto.timingSafeEqual(digest, checksum) ) { console.log('Request body digest(${ digest }) did not match X - Conformity - Signature(${ checksum })'); throw new Error("Hashes do not match!"); } console.log("Hashes match!");
チャネルの作成が成功すると、[Communication Settings]からWebhookチャネルを確認できるようになります。
Conformity IP Addresses
Webhookの円滑な動作を確保するために、Conformity IPアドレスを許可リストに追加してください。