Webhookのデバッグ

SendGridからどういった応答が返るか見たい場合や、開発環境に直接トンネルする必要がある場合、いくつかの役に立つツールがあります。いくつかの選択肢とそれらのセットアップ方法について以下に示します。

RequestBin

RequestBin は、Inbound ParseとEvent NotificationのためにそれぞれユニークなエンドポイントURLを提供します。SendGridから返される応答の中身を確認することができます。

セットアップ

「RequestBinを作成する」を選択してユニークURLを生成します。

URLは以下のような形です:

1
http://requestb.in/19e3ycm1

Event Notificationデータの受信

Event通知が指定したURLにPOSTされるようダッシュボードでEvent Notification appを有効にしてください。詳細についてはこちらを参照してください。

次に、RequestBinに送信したい通知の種類を選択(不明なある場合は全てのチェックボックスをONにします)して、RequestBinが生成したユニークURLを入力します。設定を保存後、全てのイベント通知がRequestBinに送信されるようになります。

Inbound Parse Dataの受信

Inbound Parse Webhookを通じてデータを受信する前に、以下の手順に従ってDNSのMXレコードの設定変更(Inbound Parse Webhook参照)行ってください。

DNSの設定変更が完了したらInbound Parseのセットアップを行うことができます。この場合、RequestBinのURLをPOST先URLとして追加する必要があります。

結果の確認

選択したWebhookのセットアップが完了したら、RequestBinのユニークURLをブラウザで表示することにより結果を確認することができます。

ngrok

ngrok は開発マシンにローカルトンネルを作成するツールです。Webhookのデバッグを容易にします。

サインアップを行うと全機能が利用可能になります。特にサブドメインを使う事でngrokを起動するたびにWebhook設定を変更する必要がなくなります。

セットアップ

ngrokをインストール、起動してCLIで以下のように入力します:

1
$ ngrok 3000

上記は、ローカルマシン上のポート番号3000でコネクションをオープンします。URLは http://3a4bceb.ngrok.com のようになります。

ngrokを再起動するたびに設定変更しなくてすむようにサブドメインフラグを指定します:

1
$ ngrok -subdomain=myappname 3000

上記は http://myappname.ngrok.com へアクセスを可能にしてポート番号3000でコネクションをオープンします。

確認

さらにngrokはボタンをクリックするだけで以前のリクエストを再現できるよう要求を監視させることが可能です。これを可能にするために http://localhost:4040 のWebインターフェイスが提供されています。

詳細

ngrokで可能なことの詳細については、ドキュメントを参照してください。

Runscope

RunscopeはAPIのデバッグツールです。Proxyとして動作し、受信したデータを収集して他のポイントに転送します。後でデバッグしようとしていたAPIに送信されたものを確認することができます。

これによりWebhookのデバッグが容易になります。詳細はRunscopeのドキュメントを参照してください