API 1.0

Podstawowe informacje

Komunikacja z API odbywa się po protokole https lub http poprzez wysłanie zapytania typu GET lub POST z wymaganymi przez daną metodę parametrami. Autoryzacja polega na dołączeniu do każdego zapytania parametru token zawierającego klucz użytkownika. Klucz może zostać wygenerowany w Panelu Użytkownika na stronie Udostępnianie i API / API. Klucz jest przypisany do konkretnego użytkownika i nie powinien być udostępniany osobom niepowołanym.

Odpowiedź API zakodowana jest w formacie JSON i składa się z sekcji header oraz data. Część header zawiera informacja o statusie odpowiedzi oraz ew. treść błędu. W data natomiast zawarte są wszelkie dane zwracane przez wywołaną metodę.

Wszelkie daty zapisane są w polskiej strefie czasowej, tj. UTC+01:00 w formacie yyyy-mm-dd hh:mm:ss.

Metoda "get-account-info"

Pobiera informacje o koncie.

Parametry zapytania

Brak

Parametry odpowiedzi

Parametr Opis Format Wymagany
email Adres email string tak
locale Wersja językowa Panelu Użytkownika PL, EN tak
planName Nazwa aktualnego planu string tak
planExpireAt Data wygaśnięcia aktualnego planu yyyy-mm-dd nie
lastLoginAt Data ostatniego logowania yyyy-mm-dd hh:mm:ss nie
lastLoginIp Adres IP z którego nastąpiło ostatnie logowanie string nie
credits Liczba kredytów na powiadomienia w puli podstawowej w ramach posiadanego planu int tak
extraCredits Liczba kredytów dodatkowych na powiadomienia int tak

Przykład użycia

https://api.ping.pl/1.0/get-account-info?token=abc123
{
    "header": {
        "status": "OK"
    },
    "data": {
        "email": "admin@ping.pl",
        "locale": "PL",
        "planName": "Plan Platynowy",
        "planExpireAt": "2018-01-01",
        "lastLoginAt": "2017-06-14 13:51:30",
        "lastLoginIp": "79.133.201.36",
        "credits": 429,
        "extraCredits": 100
    }
}
                

Metoda "get-monitors"

Pobiera listę wszystkich monitorów użytkownika (również udostępnione przez innych użytkowników) wraz z podstawowymi informacjami.

Parametry zapytania

Brak

Parametry odpowiedzi

Parametr Opis Format Wymagany
monitors Tablica z listą pobranych monitorów array tak
monitors[i].id Identyfikator monitora int tak
monitors[i].status Status monitora ACTIVE, INACTIVE, BLOCKED tak
monitors[i].type Typ monitora WWW, PING tak
monitors[i].name Nazwa monitora string tak
monitors[i].isShared Flaga określająca czy monitor został udostępniony przez innego użytkownika 0, 1 tak
monitors[i].currentOutageId Identyfikator aktualnie trwającej awarii int nie

Przykład użycia

https://api.ping.pl/1.0/get-monitors?token=abc123
{
    "header": {
        "status": "OK"
    },
    "data": {
        "monitors": [
            {
                "id": 3009,
                "status": "ACTIVE",
                "type": "WWW",
                "name": "Sklep - strona główna",
                "isShared": 0
            },
            {
                "id": 3118,
                "status": "ACTIVE",
                "type": "WWW",
                "name": "Sklep - rejestracja",
                "currentOutageId": 47017,
                "isShared": 0
            },
            {
                "id": 3254,
                "status": "ACTIVE",
                "type": "PING",
                "name": "Sklep - serwer pocztowy",
                "isShared": 1
            }
        ]
    }
}
                

Metoda "pause-monitor"

Wstrzymuje monitoring wskazanego monitora.

Parametry zapytania

Parametr Opis Format Wymagany
monitorId Identyfikator monitora int tak

Parametry odpowiedzi

Brak

Przykład użycia

https://api.ping.pl/1.0/pause-monitor?token=abc123&monitorId=3009
{
    "header": {
        "status": "OK"
    }
}
                

Metoda "start-monitor"

Wznawia monitoring wcześniej wstrzymanego monitora.

Parametry zapytania

Parametr Opis Format Wymagany
monitorId Identyfikator monitora int tak

Parametry odpowiedzi

Brak

Przykład użycia

https://api.ping.pl/1.0/start-monitor?token=abc123&monitorId=3009
{
    "header": {
        "status": "OK"
    }
}
                

Metoda "get-data"

Pobiera dane o dostępności i czasie odpowiedzi wskazanego monitora.

Parametry zapytania

Parametr Opis Format Wymagany
monitorId Identyfikator monitora int tak
dateFrom Data "od" pobieranych danych yyyy-mm-dd tak
dateTo Data "do" pobieranych danych yyyy-mm-dd tak

Parametry odpowiedzi

Parametr Opis Format Wymagany
data Tablica z danymi pogrupowanymi wg daty array tak
data[i].date Data grupy danych yyyy-mm-dd [hh:mm:ss] tak
data[i].uptime Dostępność float, 0-100% tak
data[i].responseTime Czas odpowiedzi float, sekundy tak

Przykład użycia

https://api.ping.pl/1.0/start-monitor?token=abc123&monitorId=3009&dateFrom=2016-01-01&dateTo=2016-01-01
{
    "header": {
        "status": "OK"
    },
    "data": {
        "data": [
            {
                "date": "2016-01-01 00:00:00",
                "uptime": 100,
                "responseTime": 0.576122
            },
            {
                "date": "2016-01-01 01:00:00",
                "uptime": 100,
                "responseTime": 0.586275
            },
            {
                "date": "2016-01-01 02:00:00",
                "uptime": 100,
                "responseTime": 0.581229
            },
            {
                "date": "2016-01-01 03:00:00",
                "uptime": 100,
                "responseTime": 0.585643
            },
            {
                "date": "2016-01-01 04:00:00",
                "uptime": 100,
                "responseTime": 0.579071
            },
            {
                "date": "2016-01-01 05:00:00",
                "uptime": 100,
                "responseTime": 0.59766
            },
            {
                "date": "2016-01-01 06:00:00",
                "uptime": 100,
                "responseTime": 0.595221
            }
        ]
    }
}
                

Metoda "get-outage"

Pobiera szczegóły awarii.

Parametry zapytania

Parametr Opis Format Wymagany
outageId Identyfikator awarii int tak

Parametry odpowiedzi

Parametr Opis Format Wymagany
monitorId Identyfikator monitora, którego awaria dotyczy int tak
reason Przyczyna awarii string tak
reasonDetails Dodatkowe informacja dot. przyczyny awarii, np. słowo kluczowe, które nie zostało znalezione w kodzie HTML strony string nie
startedAt Data i czas wykrycia awarii string tak
endedAt Data i czas zakończenia awarii string nie
tests Lista ostatnich testów wykonanych w trakcie trwania awarii array tak
tests[i].status Status testu string tak
tests[i].responseTime Czas odpowiedzi float, sekundy tak
tests[i].date Data wykonania testu yyyy-mm-dd hh:mm:ss tak
tests[i].location Nazwa lokalizacji, która wykonała test string tak
notifications Lista wysłanych powiadomien z powodu awarii array nie
notifications[i].event Zdarzenie DOWN - wykrycie awarii, UP - zakończenie awarii tak
notifications[i].type Typ powiadomienia, np. SMS string tak
notifications[i].receiver Odbiorca powiadomienia, np. numer telefonu string tak
notifications[i].date Data wysłania powiadomienia yyyy-mm-dd hh:mm:ss tak

Przykład użycia

https://api.ping.pl/1.0/get-outage?token=abc123&outageId=47017
{
    "header": {
        "status": "OK"
    },
    "data": {
        "id": 47017,
        "reason": "KEYWORDS_MUST_EXIST",
        "startedAt": "2017-06-30 10:21:00",
        "reasonDetails": "<h1>Dołącz do nas!</h1>",
        "tests": [
            {
                "status": "KEYWORDS_MUST_EXIST",
                "responseTime": 15.0011,
                "date": "2017-06-30 10:22:01",
                "location": "Warszawa"
            },
            {
                "status": "KEYWORDS_MUST_EXIST",
                "responseTime": 15.0011,
                "date": "2017-06-30 10:21:01",
                "location": "Gdańsk"
            },
            {
                "status": "KEYWORDS_MUST_EXIST",
                "responseTime": 15.0001,
                "date": "2017-06-30 10:21:00",
                "location": "Poznań"
            }
        ],
        "notifications": [
            {
                "event": "DOWN",
                "type": "SMS",
                "receiver": "000000000",
                "date": "2017-06-30 10:26:00"
            },
            {
                "event": "DOWN",
                "type": "EMAIL",
                "receiver": "admin@ping.pl",
                "date": "2017-06-06 10:26:00"
            }
        ]
    }
}
                

Metoda "get-outages"

Pobiera listę awarii dla wskazanego monitora.

Parametry zapytania

Parametr Opis Format Wymagany
monitorId Identyfikator monitora int tak
dateFrom Minimalna data wykrycia awarii yyyy-mm-dd nie
dateTo Maksymalna data wykrycia awarii yyyy-mm-dd nie
limit Limit ilości zwracanych awarii int, domyślnie: 50, maks: 200 nie

Parametry odpowiedzi

Parametr Opis Format Wymagany
outages Tablica z listą pobranych awarii array tak
outages[i].id Identyfikator awarii int tak
outages[i].reason Przyczyna awarii string tak
outages[i].startedAt Data i godzina wykrycia awarii yyyy-mm-dd hh:mm:ss tak
outages[i].endedAt Data i godzina zakończenia awarii yyyy-mm-dd hh:mm:ss nie

Przykład użycia

https://api.ping.pl/1.0/get-outages?token=abc123&monitorId=3009&limit=100&dateFrom=2017-03-11
{
    "header": {
        "status": "OK"
    },
    "data": {
        "outages": [
            {
                "id": 43900,
                "reason": "KEYWORDS_MUST_EXIST",
                "startedAt": "2017-03-23 06:43:51",
                "endedAt": "2017-03-23 06:51:50",
                "reasonDetails": "<h1>Dołącz do nas!</h1>"
            },
            {
                "id": 43712,
                "reason": "HTTP_CODE_500",
                "startedAt": "2017-03-19 00:02:51",
                "endedAt": "2017-03-19 07:26:55"
            },
            {
                "id": 43376,
                "reason": "HTTP_CODE_500",
                "startedAt": "2017-03-11 23:58:52",
                "endedAt": "2017-03-12 00:08:50"
            }
        ]
    }
}
                
Wykorzystujemy pliki cookies w celach statystycznych i poprawnej realizacji świadczonych usług. Rozumiem, nie pokazuj ponownie