以下の例では、認証、デバイスとタスクの作成、プラットフォームのリストの取得、Postman を使用したデバイス情報の取得など、いくつかの一般的な要求について説明します (Postmanをロード テストに使用する方法も参照してください)。

まず、Dotcom-Monitor API を使用するには、HTTP/HTTPS ヘッダーで コンテンツタイプ
application/json
に設定されている必要があります。

API メソッドの詳細については、「メソッド」カテゴリの対応する記事を 参照 してください。

ログイン

認証には、POST URI “/login” を使用します。“/login”呼び出しを使用してサインオンすると、新しいクライアント セッションが開始されます。 セッションは、所定の長さの非アクティブ時間が経過すると自動的に期限切れになります。 デフォルトは 1 分です。 API 呼び出しを行うと、非アクティブタイマーはゼロにリセットされます。

セッションの有効期限が切れると、例外 HTTP エラー コード「401 – 許可されていません」が返されます。 この場合は、再度ログインする必要があります。

ログインには統合 UID を使用することをお勧めします (アカウント > 統合 > UID)。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
POST /config_api_v1/login HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
{
"UID":"0E206D45650A4ACD8EB689B8CC25FA7F"
}
POST /config_api_v1/login HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json { "UID":"0E206D45650A4ACD8EB689B8CC25FA7F" }
POST /config_api_v1/login HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{ 
"UID":"0E206D45650A4ACD8EB689B8CC25FA7F"
}

プラットフォームの取得

監視プラットフォームの一覧を取得するには、GET URI “
/プラットフォーム
” を使用します。 要求が成功すると、サーバーは HTTP ステータス コードと使用可能なすべてのプラットフォームの一覧で応答します。 以降のリクエストでアカウントの詳細(パッケージID、プラットフォームID、デバイスIDなど)を使用するために、応答を保存することをお勧めします。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
GET /config_api_v1/platforms HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
GET /config_api_v1/platforms HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json
GET /config_api_v1/platforms HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

デバイスの作成

「GET プラットフォーム」応答で受信したデータを使用して JSON 要求を作成します。 要求で指定されていないデバイス パラメータは、デフォルトに設定されます。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
POST /config_api_v1/devices?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
{
"Postpone":"true",
"Frequency":60,
"Package_Id":465,
"Platform_Id":12,
"Locations":{2,4,6,18,68},
"Name":"TESTDEVICE 9.23.2019"
}
POST /config_api_v1/devices?verb=PUT HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json { "Postpone":"true", "Frequency":60, "Package_Id":465, "Platform_Id":12, "Locations":{2,4,6,18,68}, "Name":"TESTDEVICE 9.23.2019" }
POST /config_api_v1/devices?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{ 
"Postpone":"true",
"Frequency":60,
"Package_Id":465,
"Platform_Id":12,
"Locations":{2,4,6,18,68},
"Name":"TESTDEVICE 9.23.2019"
}

タスクの作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Post /config_api_v1/tasks?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
{
"Name":"testname",
"Url":"https://www.dotcom-monitor.com",
"Device_Id":123456,
"RequestType":"GET",
"Task_Type_Id":2,
"DNSResolveMode":"Device Cached"
}
Post /config_api_v1/tasks?verb=PUT HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json { "Name":"testname", "Url":"https://www.dotcom-monitor.com", "Device_Id":123456, "RequestType":"GET", "Task_Type_Id":2, "DNSResolveMode":"Device Cached" }
Post /config_api_v1/tasks?verb=PUT HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{
"Name":"testname",
"Url":"https://www.dotcom-monitor.com",
"Device_Id":123456,
"RequestType":"GET",
"Task_Type_Id":2,
"DNSResolveMode":"Device Cached"
}

デバイス情報の取得と編集

デバイス情報を編集するには、まず、サーバー応答を受信する URI のデバイス ID を含む GET 要求を送信します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
GET /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
GET /config_api_v1//device/193403 HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json
GET /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

次に、応答本体を使用してデバイスパラメーターを変更し、新しい値を持つ JSON 要求を返します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
POST /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json
{
"Avoid_Simultaneous_Checks": false,
"Alert_Silence_Min": 0,
"False_Positive_Check": false,
"Locations": [
1,
2,
3,
4,
6,
11,
13,
14,
15,
18,
19,
23,
43,
68,
97,
113,
118,
138,
153,
233
],
"Send_Uptime_Alert": false,
"Status_Description": "POSTPONED",
"Postpone": true,
"Owner_Device_Id": 0,
"Frequency": 10800,
"Filter_Id": 7791,
"Scheduler_Id": 0,
"Notifications": {
"E_Mail_Flag": false,
"E_Mail_Address": null,
"E_Mail_TimeInterval_Min": 5,
"WL_Device_Flag": false,
"WL_Device_Email_Address": null,
"WL_Device_TimeInterval_Min": 15,
"Pager_Flag": false,
"Pager_Area_Code": null,
"Pager_Phone": null,
"Pager_Num_Code": null,
"Pager_TimeInterval_Min": 15,
"Phone_Flag": false,
"Phone_Area_Code": null,
"Phone_Phone": null,
"Phone_TimeInterval_Min": 15,
"SMS_Flag": false,
"SMS_Phone": null,
"SMS_TimeInterval_Min": 15,
"Script_Flag": false,
"Script_Batch_File_Name": null,
"Script_TimeInterval_Min": 0,
"SNMP_TimeInterval_Min": 0,
"Notification_Groups": []
},
"Id": 193403,
"Number_Of_Tasks": 1,
"WaitingForApproval": false,
"Platform_Id": 12,
"Package_Id": 465,
"Name": "Under_Task"
}
POST /config_api_v1//device/193403 HTTP/1.1 Host: api.dotcom-monitor.com Content-Type: application/json { "Avoid_Simultaneous_Checks": false, "Alert_Silence_Min": 0, "False_Positive_Check": false, "Locations": [ 1, 2, 3, 4, 6, 11, 13, 14, 15, 18, 19, 23, 43, 68, 97, 113, 118, 138, 153, 233 ], "Send_Uptime_Alert": false, "Status_Description": "POSTPONED", "Postpone": true, "Owner_Device_Id": 0, "Frequency": 10800, "Filter_Id": 7791, "Scheduler_Id": 0, "Notifications": { "E_Mail_Flag": false, "E_Mail_Address": null, "E_Mail_TimeInterval_Min": 5, "WL_Device_Flag": false, "WL_Device_Email_Address": null, "WL_Device_TimeInterval_Min": 15, "Pager_Flag": false, "Pager_Area_Code": null, "Pager_Phone": null, "Pager_Num_Code": null, "Pager_TimeInterval_Min": 15, "Phone_Flag": false, "Phone_Area_Code": null, "Phone_Phone": null, "Phone_TimeInterval_Min": 15, "SMS_Flag": false, "SMS_Phone": null, "SMS_TimeInterval_Min": 15, "Script_Flag": false, "Script_Batch_File_Name": null, "Script_TimeInterval_Min": 0, "SNMP_TimeInterval_Min": 0, "Notification_Groups": [] }, "Id": 193403, "Number_Of_Tasks": 1, "WaitingForApproval": false, "Platform_Id": 12, "Package_Id": 465, "Name": "Under_Task" }
POST /config_api_v1//device/193403 HTTP/1.1
Host: api.dotcom-monitor.com
Content-Type: application/json

{
    "Avoid_Simultaneous_Checks": false,
    "Alert_Silence_Min": 0,
    "False_Positive_Check": false,
    "Locations": [
        1,
        2,
        3,
        4,
        6,
        11,
        13,
        14,
        15,
        18,
        19,
        23,
        43,
        68,
        97,
        113,
        118,
        138,
        153,
        233
    ],
    "Send_Uptime_Alert": false,
    "Status_Description": "POSTPONED",
    "Postpone": true,
    "Owner_Device_Id": 0,
    "Frequency": 10800,
    "Filter_Id": 7791,
    "Scheduler_Id": 0,
    "Notifications": {
        "E_Mail_Flag": false,
        "E_Mail_Address": null,
        "E_Mail_TimeInterval_Min": 5,
        "WL_Device_Flag": false,
        "WL_Device_Email_Address": null,
        "WL_Device_TimeInterval_Min": 15,
        "Pager_Flag": false,
        "Pager_Area_Code": null,
        "Pager_Phone": null,
        "Pager_Num_Code": null,
        "Pager_TimeInterval_Min": 15,
        "Phone_Flag": false,
        "Phone_Area_Code": null,
        "Phone_Phone": null,
        "Phone_TimeInterval_Min": 15,
        "SMS_Flag": false,
        "SMS_Phone": null,
        "SMS_TimeInterval_Min": 15,
        "Script_Flag": false,
        "Script_Batch_File_Name": null,
        "Script_TimeInterval_Min": 0,
        "SNMP_TimeInterval_Min": 0,
        "Notification_Groups": []
    },
    "Id": 193403,
    "Number_Of_Tasks": 1,
    "WaitingForApproval": false,
    "Platform_Id": 12,
    "Package_Id": 465,
    "Name": "Under_Task"
}

ドットコムモニタ API を使用してデバイスを作成する方法に関する追加情報は、 Wikiで参照できます。