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"
}
]
}