APIアラート受信機能
APIアラート受信機能の概要
APIアラート受信機能は、アラート送信APIを利用してAMCにアラートを送信する機能です。 アラート送信APIを利用して送信したアラート情報は、メールでのアラート送信と同様に扱われ、同じパターンが適用されます。
アラート送信API仕様
URL
https://api.amc.masterscope.jp/alerts
メソッド
POST
リクエストヘッダ
パラメータ | 値 | 説明 |
---|---|---|
Content-Type | application/json | サポートするデータ形式はJSONだけです。 |
x-api-key | APIキー | プロジェクト毎に発行されるAPIキーを指定します。APIキーはプロジェクト管理画面で発行できます。 |
User-Agent | User-Agent | 送信元プログラム名。値は任意ですが設定が必須です。 |
リクエストボディ
下記のアラート情報をUTF-8でエンコードされたJSON形式で指定してください。 指定されたアラート情報を基にパターンマッチやプロジェクトのアラート受信許可の判定が行われます。
パラメータ名 | 必須 | 説明 |
---|---|---|
pj_id | 〇 | プロジェクトIDを指定してください。プロジェクトIDはプロジェクト管理のプロジェクト詳細画面で参照できます。PJコードではありません。 |
subject | × | アラートの件名。メール通報におけるメール件名と同じように扱われます。 |
body | × | アラートの本文。メール通報におけるメール本文と同じように扱われます。本文中で改行する場合はLF(\n)を挿入してください。 |
from_address | × | 送信元名称。メール通報におけるFromアドレスと同じように扱われます。 |
レスポンス
ステータスコードとJSON形式のメッセージを返します。
レスポンスボディの形式
{
"message" : "OK"
}
ステータスコードとメッセージの一覧
ステータスコード | メッセージ | 説明 |
---|---|---|
200 | OK | |
400 | Rest API alert reception setting is disabled | APIアラート受信が無効です。 |
400 | Invalid content type | Content-Typeが不正です。 |
400 | There is no header | リクエストヘッダが指定されていません。 |
400 | There is no body | リクエストボディが指定されていません。 |
400 | Invalid request body | リクエストボディがJSON形式ではありません。 |
400 | Parameter: <パラメータ名> is not string | パラメータに文字列以外が指定されています。 |
400 | Parameter: <パラメータ名> contains invalid characters | パラメータに使用できない文字が含まれています。 |
400 | Parameter: pj_id is required | パラメータpj_id が指定されていません。 |
400 | Parameter: pj_id is not a valid uuid format | パラメータpj_id がUUID形式ではありません。 |
400 | Parameter: <パラメータ名> exceeds max length of <最大長> | <パラメータ名>の長さが<最大長>を超過しています。 |
400 | Api key is invalid in the project | APIキーがパラメータpj_id に指定したプロジェクトのものではありません。 |
403 | Invalid API key | 指定されたAPIキーは無効です。 |
403 | Forbidden | リクエストがブロックされました。 |
413 | Payload Too Large | リクエストのサイズが大きすぎます。 |
429 | Too Many Requests | 単位時間あたりのリクエスト数が多すぎます。しばらく時間をおいてから再度お試しください。 |
429 | Rate exceeded | サーバが高負荷のため処理ができませんでした。しばらく時間をおいてから再度お試しください。 |
500/502 | Internal Server Error | サーバ内部エラーが発生しました。 |
504 | Gateway Timeout | リクエストに対する処理がタイムアウトしました。 |
info
サーバ側の処理負荷が高く処理を行えなかった場合、ステータスコードの429や500番台が返ることがあります。1分以上あけてから再度実行してください。
実行例
以下はcurlコマンドを使用してAPIを実行する例です。
Linuxの場合
実行コマンド例
curl -X POST -H 'x-api-key:XXX' -H 'Content-Type: application/json' \
-d '{"pj_id": "XXX", "subject": "アラート件名", "body": "アラート本文"}' \
https://api.amc.masterscope.jp/alerts -w ' : %{http_code}\n'
Windowsの場合
Windowsのcurlコマンドで実施する場合は送信するリクエストボディの内容をファイルにUTF-8形式で保存を行い、ファイルを指定してください。 コマンドプロンプトで直接文字列を指定するとUTF-8形式とならず文字化けの原因となります。
body.json
{"pj_id": "XXX", "subject": "アラート件名", "body": "アラート本文"}
実行コマンド例
curl -X POST -H "x-api-key:xxx" -H "Content-Type: application/json" -d @body.json https://api.amc.masterscope.jp/alerts -w " : %{http_code}"
出力結果
{"message": "OK"} : 200