第2章 Webhook を使用した 3scale 自動化

Webhook は自動化を容易にする機能であり、3scale で発生したイベントに基づいて他のシステムを統合するのにも使用されます。3scale システムで指定のイベントが発生すると、Webhook メッセージを使用してアプリケーションに通知が送信されます。たとえば、Webhook を設定して、新規アカウントのサインアップからのデータでデベロッパーポータルに反映することができます。

2.1. Webhook の概要

Webhook は、Webhook 設定ウィンドウで利用可能なイベントから選択されたイベントによってトリガーされるカスタム HTTP コールバックです。これらのイベントのいずれかが発生すると、3scale システムは、Webhook セクションで指定した URL アドレスに対して HTTP または HTTPS リクエストを行います。Webhook では、リスナーを設定してイベント追跡などの目的の動作を呼び出すことができます。

Webhook のフォーマットは常に同じです。以下の構造の XML ドキュメントでエンドポイントにポストします。

<?xml version="1.0" encoding="UTF-8"?>
<event>
  <type>application</type>
  <action>updated</action>
  <object>
    THE APPLICATION OBJECT AS WOULD BE RETURNED BY A GET ON THE ACCOUNT MANAGEMENT
    API
  </object>
</event>

各要素では、以下の情報を提供します。

  • <type>: applicationaccount など、イベントの主体を表します。
  • <action>: updatedcreateddeleted などの値を使用してアクションを指定します。
  • <object>: Account Management API によって返される、同じフォーマットの XML オブジェクト自体です。インタラクティブな ActiveDocs を使用して確認できます。

Webhook が 3scale によって実行されたことを保証する必要がある場合は、HTTPS Webhook URL を公開し、3scale の Webhook 宣言にカスタムパラメーターを追加します。たとえば、https://your-webhook-endpoint?someSecretParameterName=someSecretParameterValue となります。パラメーター名と値を指定します。続いて、Webhook エンドポイント内で、このパラメーター値があることを確認します。