Super Monitoring API
Dokumentacja Super Monitoring API 1.1
Super Monitoring API umożliwia pobieranie historycznych danych monitoringowych z serwisu www.supermonitoring.pl.
1. Uwierzytelnienie
Dostęp do Super Monitoring API udzielany jest w oparciu o Klucz API.
Klucz API generowany jest tylko dla konkretnego adresu IP, z którego następować będą połączenia do API.
W celu uzyskania Klucza API prosimy o kontakt obsługą klienta Super Monitoring.
1.1. Kody i opisy statusów odpowiedzi
Super Monitoring API zwraca kody statusów razem z krótkimi opisami słownymi.
ResponseCode | ResponseText | Objaśnienie |
---|---|---|
01 | OK | Udane uwierzytelnienie. |
10 | AUTH FAILED | Uwierzytelnienie nieudane. Podany apikey jest nieprawidłowy lub zapytanie przyszło z innego adresu IP niż ten, dla którego apikey został wygenerowany. |
11 | URL NOT FOUND | Na koncie użytkownika nie odnaleziono testu z podanym adresem URL. Podpowiedź: Upewnij się, że adres URL jest enkodowany oraz nie zawiera http://" ani "https://". |
12 | INCORRECT DATE RANGE | Data i czas w parapetrze "od" nie jest wcześniejsza od daty i czasu w parametrze "do" - lub jeden z tych parmetrów nie jest prawidłowo sformatowany. |
13 | SERVICE BLOCKED | Dany test lub konto są nieaktywne. |
14 | RANGE LIMIT EXCEEDED | Podany okres jest dłuższy niż 1 rok. |
1.2. Przykład odpowiedzi
Przykład: Nieudane uwierzytelnienie.{ "ResponseCode":10, "ResponseText":"AUTH FAILED", "Host":"78.10.233.131" }
2. Pobieranie listy testów
2.1. Zapytanie HTTP
Metoda | Adres URL |
---|---|
GET | https://www.supermonitoring.pl/API/1.1/checks/ |
2.2. Parametry zapytania
Parametr | Wymagany | Domyślnie | Opis |
---|---|---|---|
apikey | tak | - | Klucz API. Przykład: " 4grf647e4tyrfg43663f" |
2.3. Przykład zapytania
https://www.supermonitoring.pl/API/1.1/checks/?apikey=4grf647e4tyrfg43663f
2.4. Schemat odpowiedzi
Super Monitoring API zwraca odpowiedzi w formacie JSON.
Nazwa pola | Opis |
---|---|
ResponseCode | Kod statusu odpowiedzi - patrz niżej. |
ResponseText | Opis słowny statusu odpowiedzi - patrz niżej. |
Host | Adres IP, z którego przyszło zapytanie (informacyjnie). |
X | Numer kolejny testu. |
id | Unikalny identyfikator testu. |
proto | Protokół / numer portu monitorowanego hosta. Możliwe wartości: - "http" - "https" - "ftp" - "pop3" - "smtp" - "imap" - "telnet" - "ssh" - "dns" - "connect" - "sip" - "ping" - "MySQL" - "MSSQL" - "PostgreSQL" |
url | Adres URL monitorowanego obiektu, bez przedrostka z protokołem. |
type | Rodzaj testu. Możliwe wartości: - "availability" - dostępność - "content" - treść - "form" - formularz - "loading_time" - czas wczytywania - "file_integrity" - spójność pliku - "transaction" - proces - "daily_health" - kondycja dnia - "core_web_vitals" - Core Web Vitals - "changes" - zmiany |
active | Status testu. Możliwe wartości: - "0" - nieaktywny - "1" - aktywny. |
2.5. Przykład odpowiedzi
Przykład: Lista testów.{ "ResponseCode":"01", "ResponseText":"OK", "Host":"78.10.233.131", "1":{ "id":"2442", "proto":"http", "url":"www.mojastrona.pl", "type":"availability", "active":1 }, "2":{ "id":"2453", "proto":"https", "url":"www.innastrona.pl/oferta", "type":"content", "active":1 }, "3":{ "id":"4099", "proto":"https", "url":"www.jeszcze-inna-strona.com", "type":"loading_time", "active":0 } }
3. Pobieranie historii zdarzeń wybranego testu
3.1. Zapytanie HTTP
Metoda | Adres URL |
---|---|
GET | https://www.supermonitoring.pl/API/1.1/ |
3.2. Parametry zapytania
Parametr | Wymagany | Domyślnie | Opis |
---|---|---|---|
apikey | tak | - | Klucz API. Przykład: " 4grf647e4tyrfg43663f" |
url | tak | - | Enkodowany adres URL testu, bez "http://" or "https://". Przykład: "www.mojastrona.pl%2Ffolder" |
from | tak | - | Data początkowa okresu. Format: YYYY-MM-DD-HH-MM Przykład: "2016-01-01-00-00" |
to | tak | - | Data końcowa okresu. Format: YYYY-MM-DD-HH-MM Okres jest ograniczony do maksymalnie 1 roku. Przykład: "2016-01-26-23-59" |
type | nie | s | Przy wartości "s" (lub braku tego parametru) wynik będzie zawierał tylko podsumowanie. Dla wartości "d" wynik będzie zawierał podsumowanie oraz szczegółową listę awarii. Przykład: "s" |
3.3. Przykłady zapytań
Przykład 1https://www.supermonitoring.pl/API/1.1/?apikey=4grf647e4tyrfg43663f&url=www.mojastrona.pl%2Ffolder&from=2016-01-01-00-00&to=2016-01-26-23-59&type=s
Przykład 2
https://www.supermonitoring.pl/API/1.1/?apikey=4grf647e4tyrfg43663f&url=www.mojastrona.pl%2Ffolder&from=2016-01-01-00-00&to=2016-01-26-23-59&type=d
3.4. Schemat odpowiedzi
Super Monitoring API zwraca odpowiedzi w formacie JSON.
Nazwa pola | Opis |
---|---|
ResponseCode | Kod statusu odpowiedzi - patrz niżej. |
ResponseText | Opis słowny statusu odpowiedzi - patrz niżej. |
Host | Adres IP, z którego przyszło zapytanie (informacyjnie). |
Outages | Całkowita liczba awarii w danym okresie. |
Downtime | Łączny czas niedostępności (w minutach) w danym okresie. |
Events | Szczegółowa lista awarii z danego okresu. |
eventID | Unikalny identyfikator awarii. |
eventStart | Data i czas wykrycia awarii. Format: YYYY-MM-DD HH:MM |
eventDuration | Czas trwania awarii (w minutach). |
eventError | Rodzaj awarii. Możliwe rodzaje awarii: - kody błędów http, np. "HTTP 503" - "CONNECTION TIMEOUT" - "PING TIMEOUT" - "PAGE LOADING TIMEOUT" - "NOPHRASE" - "NOPHRASE FORM" - "CHECKSUM" - "PROCESS" - "DOMAIN EXPIRED" - "BLACKLISTED (GOOGLE)" - "BLACKLISTED (RBL)" - "INVALID SSL CERT." - "SSL CERT. EXPIRED" - przekroczone progi Core Web Vitals, np. "Field LCP: 4.03s" - "ROBOTS BLOCKED" - "CHANGE DETECTED" - "CHANGE - ELEMENT NOT FOUND" |
3.5. Przykłady odpowiedzi
Przykład 1: Podsumowanie.{ "ResponseCode":"01", "ResponseText":"OK", "Host":"78.10.233.131", "Outages":12, "Downtime":142 }
Przykład 2: Podsumowanie + szczegółowa lista.
{ "ResponseCode":"01", "ResponseText":"OK", "Host":"78.10.233.131", "Outages":12, "Downtime":142, "Events": [ { "eventID":"365257", "eventStart":"2016-01-04 10:54:47", "eventDuration":"8", "eventError":"HTTP 503" }, { "eventID":"365287", "eventStart":"2016-01-04 14:18:48", "eventDuration":"1", "eventError":"CONNECTION TIMEOUT" }, { "eventID":"366191", "eventStart":"2016-01-09 08:26:47", "eventDuration":"3", "eventError":"HTTP 503" }, { "eventID":"368393", "eventStart":"2016-01-22 12:00:48", "eventDuration":"1", "eventError":"HTTP 500" } ] }