Webhookについて

Webhookを使用するとアラートがトリガーされる度に特定のURLにPOSTリクエストを送信する事ができます。Webhookの機能はアラート作成時または編集時に有効にすることができます。ご利用のアプリの正しいURLを設定する事で、アラートがトリガーされると即座にTradingViewはリクエストのメッセージボディにアラートメッセージを含むPOSTリクエストを送信します。アラートメッセージが有効なJSON形式の場合には、"application/json" の content-type ヘッダーでリクエストを送信します。それ以外の場合は "text/plain" の content-type ヘッダーでリクエストを送信します。

セキュリティについて重要な注意事項: Webhookを設定される際は、その本文中にログイン情報やパスワードなどの機密情報を含めないようにしてください。Webhook上で機密データを送信すると、権限を持たない第三者にその機密データが開示される場合もあり、セキュリティが脆弱になる可能性があります。ご自身の情報を守るためにも、セキュリティが確保された認証済のエンドポイントを常にご使用いただくともに、機密データの暗号化も合わせてお願いいたします。


受信側で送信元のIPアドレスの許可があらかじめ必要な場合があります。こちらは弊社がPOSTリクエストの送信に利用するIPアドレスの一覧です:

  • 52.89.214.238
  • 34.212.75.30
  • 54.218.53.128
  • 52.32.178.7

ポート番号付きのURLで送信したい場合には、ポート番号が80と443のURLのみ許可され、他のポート番号を含むURLでのリクエストは拒否される点にご注意下さい。またリモートサーバーでのリクエストの処理が3秒を超える場合にはそのリクエストはキャンセルされます。

なお多くのアプリやサービスでは、Webhookからのデータ受信は(デフォルトでアラートメッセージに設定されるプレーンテキスト形式ではなく)JSON形式を想定している点にもご注意が必要です。リクエストを送信する前には、対応するアプリやサービスのドキュメントをご確認頂き、アラートメッセージを適切な形式に編集してください。JSON形式についてのより詳細な情報はWikipediaをご覧ください。

例えばSlackは、“text” をキーとするJSON形式のメッセージの受信を待機していますので、以下の様にメッセージ欄に入力します:

{"text": "BTCUSDが9000を超えました"}

このメッセージは有効なJSON形式ですから、"application/json" の content-type ヘッダーでリクエストを送信します。以下の様にcURLを使用してリクエストがどの様に処理されるかを確認する事ができます:

curl -H 'Content-Type: application/json; charset=utf-8' -d '{"text": "BTCUSDが9000を超えました"}' -X POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

メッセージがプレーンテキストの場合には(例.デフォルトのアラートメッセージを利用)、"plain/text" の content-type ヘッダーでリクエストを送信します。

cURL:

curl -H 'Content-Type: text/plain; charset=utf-8' -d 'BTCUSDが9000を超えました' -X POST https://webhook.site/test

データ保護のため、アラートのwebhookは2段階認証が有効な場合にのみ使用が許可されます。