目次
1. 目的
本ドキュメントは、株式会社ビリーフワークスが提供するアラートメールフィルタ( 以降AMFと呼称 )に対してAPIを利用して各種機能を利用する事ができます。
そのAPI機能のリファレンスマニュアルが本書となります。
2. API機能
2-1. 基本仕様
APIの基本仕様は以下の通りです。。
| エンドポイントURL | https://api.<FQDN> |
| SSLサポート | 対応 |
| ポート番号 | 443 |
| HTTPメソッド | POSTのみ |
| リクエストデータ形式 | JSON形式 |
| レスポンスデータ形式 | JSON形式 |
| 実行制限 | 3000リクエスト/分/送信元IPアドレス |
| 実行制限超過時のHTTPステータスコード | 429 |
2-2. API Keyの取得
APIを利用するには、API Keyが必要となります。
API-KeyはAMFユーザごとに発行可能で、発行可能な権限は「カテゴリ管理者」です。
利用する際は、「カテゴリ管理者」権限ユーザを利用されている方に依頼して発行ください。
2-3. リクエストヘッダー
リクエストヘッダーは、以下の通り指定してください。
| Content-Type | application/json |
| x-api-key | <API Key> ※ハイフンありでも指定可 |
2-4. API一覧
本書の対象となるAPI機能は、以下の通りになります。
| インシデント登録 | インシデントの登録を行うAPIとなります |
| インシデントステータス更新 | インシデントのステータスを更新するAPIとなります |
| インシデント詳細 | インシデントの詳細情報を取得するAPIとなります |
| インシデント一覧 | インシデント情報一覧を取得するAPIとなります |
| 受信アドレス一覧 | アカウントに対応した受信アドレス一覧を取得するAPIとなります |
3. API詳細
3-1. インシデント登録
・説明
インシデントを登録します。
登録時のステータスは『新規』で、インシデント種別は『API起票』で登録されます。
登録後、メール受信による登録と同様に、フィルタ・アクションが実行されます。
また、インシデント対応履歴の1件目に『API連携によりインシデント自動発行』との対応履歴が登録されます。
・パス
/v2/incident_entry.php・リクエストパラメータ
| No | Key名 | 必須 | 説明 |
|---|---|---|---|
1 |
title |
○ |
インシデント件名 |
2 |
msg |
○ |
インシデントメッセージ |
3 |
address |
○ |
受信アドレス (指定した受信アドレスに対してインシデント登録される) |
4 |
from |
|
送信アドレス (空白の場合は、API-Keyに紐付くユーザのメールアドレスとなる) |
(例)受信アドレス【alert01@amf.paan.jp】に送信者【user01@amf.paan.jp】でインシデントを登録する。
{
"title" : "[インシデント件名情報]",
"msg" : "[インシデント本文]" ,
"address" : "alert01@amf.paan.jp",
"from" : "user01@amf.paan.jp"
}
・レスポンスデータ
| No | Key名 | 説明 |
|---|---|---|
| 1 | code | 実行結果状況 |
| 2 | id |
登録したインシデントのインシデントID 登録失敗時は空白となります |
codeで返される値の情報は以下になります。
| No | Code番号 | 意味 |
|---|---|---|
| 1 | 000 | 正常終了 |
| 2 | 101 | パラメータ不正:API-Key |
| 3 | 102 | パラメータ不正:インシデント件名 |
| 4 | 103 | パラメータ不正:インシデントメッセージ |
| 5 | 104 | パラメータ不正:受信アドレス |
| 6 | 110 | API-Keyの不正(存在しないAPI-Key、権限が無い受信アドレスへの登録) |
| 7 | 200 | サーバ側で異常終了 |
(例)インシデント登録が正常終了し、インシデントID9999で登録された場合
{
"code" : "000",
"id" : "00009999"
}
3-2. インシデントステータス更新
・説明
指定されたインシデントのステータスを変更します。
指定したステータスに変更できる事からインシデントのクローズ等をAMFにログインする事なく、
自動で対応する事も可能です。
・パス
/v2/incident_status.php
・リクエストパラメータ
| No | Key名 | 必須 | 説明 |
|---|---|---|---|
1 |
id |
○ |
インシデントID |
2 |
state |
○ |
ステータスID |
stateで設定可能なステータスIDは以下になります。
| ステータスID | ステータス名 |
|---|---|
1 |
新着 |
2 |
対応中 |
3 |
完了 |
4 |
静観 |
5 |
非通知 |
(例)インシデントID【1000】のステータスを【完了】に変更する
{
"id" : "1000",
"state" : "3"
}
・レスポンスデータ
| No | Key名 | 説明 |
|---|---|---|
1 |
code |
実行結果情報 |
codeで返される値の情報は以下になります。
| No | Code番号 | 意味 |
|---|---|---|
1 |
000 |
正常終了 |
2 |
101 |
パラメータ不正:API-Key |
3 |
102 |
パラメータ不正:インシデントID |
4 |
103 |
パラメータ不正:ステータスID( 情報なし、ステータスID値不正 ) |
5 |
110 |
API-Keyの不正( 存在しないAPI-Key、権限が無い受信アドレスへの登録実施 ) |
6 |
120 |
インシデントIDの不正( 存在しないインシデントID、操作権限のないインシデントID ) |
7 |
200 |
サーバ側処理処理異常終了 |
(例)インシデントのステータス更新処理が正常に終了した場合の結果データ
{
"code" : "000"
}
3-3. インシデント詳細
・説明
指定したインシデント情報を取得します。
インシデント情報を取得できる事からAMFにログインする事なくインシデント情報の二次利用が可能となります。
・パス
/v2/incident_dtl.php
・リクエストパラメータ
| No | Key名 | 必須 | 説明 |
|---|---|---|---|
1 |
id |
○ |
インシデントID |
(例)インシデントID【1000】の情報を取得する
{
"id" : "1000"
}
・レスポンスデータ
| No | Key名 | 説明 |
|---|---|---|
1 |
code |
実行結果情報 |
2 |
data |
インシデント情報( 連想配列、正常終了以外の場合は連想配列の各値は空白となります ) |
codeで返される値の情報は以下になります。
| No | Code番号 | 意味 |
|---|---|---|
1 |
000 |
正常終了 |
2 |
101 |
パラメータ不正:API-Key |
3 |
102 |
パラメータ不正:インシデント件名 |
4 |
110 |
API-Keyの不正( 存在しないAPI-Key、権限が無い受信アドレスへの登録実施 ) |
5 |
120 |
インシデント情報該当無し |
6 |
200 |
サーバ側処理処理異常終了 |
dataで返されるインシデント情報の連想配列の情報は以下になります。
| No | Key名 | 値 |
|---|---|---|
1 |
cust_name |
インシデント管理 カテゴリ名(旧顧客名) |
2 |
addr_name |
インシデント管理 受信アドレス名 |
3 |
from_addr |
インシデント 送信者メールアドレス |
4 |
alert_date |
インシデント 発生日時 |
5 |
state_name |
インシデント ステータス名 以下のいずれかのステータスが設定されます ・ 新着 ・ 対応中 ・ 完了 ・ 静観 ・ 非通知 |
6 |
title |
インシデント 件名 |
7 |
kind_name |
インシデント 種別名 以下のいずれかの種別名が設定されます ・ TEXT形式メール ・ HTML形式メール ・ 手動起票 ・ API起票 |
8 |
alert_data |
インシデント 本文 本文中の開業コードは\nに変換されます |
9 |
incident_size |
インシデントデータサイズ Byte単位で設定されます |
(例)インシデント情報の取得に成功した場合の結果データ
{
"code": "000",
"data": {
"cust_name": "[カテゴリ名(旧顧客名)]",
"addr_name": "[受信アドレス名]",
"from_addr": "[送信元メールアドレス]",
"alert_date": "YYYY-MM-DD HH:MI:SS",
"state_name": "新着",
"title": "[インシデント件名]",
"kind_name": "API起票",
"alert_data": "[インシデント本文]",
"incident_size": "999"
}
}
3-4. インシデント一覧
・説明
インシデント一覧情報を取得します
取得できる情報はAMF画面上の検索条件と同等の内容が選択できます
・パス
/v2/incident_list.php
・リクエストパラメータ
| No | Key名 | 必須 | 説明 |
|---|---|---|---|
1 |
term |
|
検索条件( 連想配列 ) |
termで設定できるインシデント検索条件情報の連想配列の情報は以下になります。
| No | Key名 | 値 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
custs |
カテゴリID ( 配列 ) 条件 検索対象とするカテゴリID(旧顧客ID)を指定できます。 |
||||||||||||||||
2 |
addrs |
受信アドレスID ( 配列 ) 条件 検索対象とする受信アドレスIDを指定できます。 |
||||||||||||||||
3 |
persons |
担当者ID ( 配列 ) 条件 検索対象とする担当者IDを指定できます。 |
||||||||||||||||
4 |
filters |
フィルタID ( 配列 ) 条件 検索対象とするフィルタIDを指定できます。 |
||||||||||||||||
5 |
title |
インシデント 件名 条件 インシデント件名での検索条件の指定ができます。 |
||||||||||||||||
6 |
from_address |
差出人メールアドレス 条件 差出人メールアドレスでの検索条件の指定ができます。 |
||||||||||||||||
7 |
msg_detail |
本文検索 条件 本文での検索条件の指定ができます。 |
||||||||||||||||
8 |
history_detail |
対応履歴検索 条件 対応履歴での検索条件の指定ができます。 |
||||||||||||||||
9 |
mail_detail |
メール履歴検索 条件 メール履歴での検索条件の指定ができます。 |
||||||||||||||||
10 |
kind_flg |
インシデント種別条件 インシデント種別での検索条件の指定ができます。
設定がない場合は条件を指定しません。 |
||||||||||||||||
11 |
id |
インシデントID 条件 インシデントIDでの検索条件の指定ができます。 |
||||||||||||||||
12 |
states |
ステータスフラグ ( 配列 ) 条件 ステータスフラグでの検索条件の指定ができます。
設定がない場合はDefaultとして新着と対応中のデータを取得します。 |
||||||||||||||||
13 |
date_flg |
曜日フラグ ( 配列 ) 条件 曜日フラグでの検索条件の指定ができます
設定がない場合は条件を指定しません。 |
||||||||||||||||
14 |
start_date |
日付検索 条件 ( 開始日 ) アラート発生日時に対して対象データの開始日の指定ができます。 |
||||||||||||||||
15 |
end_date |
日付検索 条件 ( 終了日 ) アラート発生日時に対して対象データの終了日の指定ができます。 |
||||||||||||||||
16 |
start_time |
時刻検索 条件 ( 開始時刻 ) アラート発生日時に対して対象データの開始時刻の指定ができます。 |
||||||||||||||||
17 |
end_time |
時刻検索 条件 ( 終了時刻 ) アラート発生日時に対して対象データの終了時刻の指定ができます。 |
||||||||||||||||
18 |
data_cnt |
取得データ件数 検索結果に対し取得データ数を指定できます。 |
||||||||||||||||
19 |
page_no |
表示対象ページ番号 検索結果に対し取得データ数で区切った場合の取得ページ数を指定できます。 |
(例)インシデントが2018/5/25に種別API起票された最新20件のデータを取得する
{
"term": {
"kind_flg" : "4",
"start_date" : "2018/5/25",
"end_date" : "2018/5/25",
"data_cnt" : "20",
"page_no" : "1"
}
}
・レスポンスデータ
| No | Key名 | 説明 |
|---|---|---|
| 1 | code | 実行結果情報 |
| 2 | max_cnt | 検索条件に該当するデータ件数 |
| 3 | cnt | 今回の取得件数 |
| 4 | data | 取得データ情報 ( 連想配列 ) |
codeで返される値の情報は以下になります。
| No | Code番号 | 意味 |
|---|---|---|
| 1 | 000 | 正常終了 |
| 2 | 101 | パラメータ不正:API-Key |
| 3 | 110 | API-Keyの不正( 存在しないAPI-Key、権限が無い受信アドレスへの登録実施 ) |
| 4 | 200 | サーバ側処理処理異常終了 |
dataで返されるインシデント一覧情報の連想配列の情報は以下になります。
| No | Key名 | 意味 |
|---|---|---|
| 1 | 行番号 | データ行番号 ( 1から開始、連想配列 ) |
行番号で返されるデータ内容の連想配列の情報は以下になります。
| No | Key名 | 意味 |
|---|---|---|
| 1 | incident_id | インシデントID |
| 2 | alert_date | インシデント発生日時 |
| 3 | receive_address | 受信アドレス名 |
| 4 | from_address | 送信者メールアドレス |
| 5 | title | インシデント 件名 |
| 6 | state_name | ステータス名 |
| 7 | filter_name | 処理フィルタ名 |
| 8 | send_user |
最終メール送信履歴 Null : 履歴なし 0 : 返信メール それ以外 : メール送信ユーザID |
(例)インシデント一覧の取得に成功した場合の結果データ
{
"code": "000",
"max_cnt": "22",
"cnt": 20,
"data": {
1: {
"incident_id": "9999",
"alert_date": "YYYY-MM-DD HH:MI:SS",
"receive_address": "[受信アドレス名]",
"from_addrress": "[送信元メールアドレス]",
"title": "[インシデント件名]",
"state_name": "新着",
"filter_name": "[処理フィルタ情報]",
"send_user": null
},
2: {
…
}
}
}
3-5. 受信アドレス一覧
・説明
ユーザが権限を所有している受信アドレス一覧情報を取得します。
・パス
/v2/address_list.php
・リクエストパラメータ
なし
・レスポンスデータ
| No | Key名 | 説明 |
|---|---|---|
| 1 | code | 実行結果情報 |
| 2 | cnt | 今回の取得件数 |
| 3 | data | 取得データ情報 ( 連想配列 ) |
codeで返される値の情報は以下になります。
| No | Code番号 | 意味 |
|---|---|---|
| 1 | 000 | 正常終了 |
| 2 | 101 | パラメータ不正:API-Key |
| 3 | 110 | API-Keyの不正( 存在しないAPI-Key、権限が無い受信アドレスへの登録実施 ) |
| 4 | 200 | サーバ側処理処理異常終了 |
dataで返されるインシデント一覧情報の連想配列の情報は以下になります。
| No | Key名 | 意味 |
|---|---|---|
| 1 | 行番号 | データ行番号 ( 1から開始、連想配列 ) |
行番号で返されるデータ内容の連想配列の情報は以下になります。
| No | Key名 | 意味 |
|---|---|---|
| 1 | name | 受信アドレス名 |
| 2 | address | 受信メールアドレス |
(例)受信アドレス一覧の取得に成功した場合の結果データ
{
"code": "000",
"cnt": 2,
"data": {
1: {
"name": "[受信アドレス名]",
"address": "[受信メールアドレス]"
}
}
}