Prohlížíte si novou verzi webu WEDOS OnLine. Chci původní web
Úvod / API
Vývojáři

API monitoringu

Aplikační rozhraní (API), které uživatelům pomáhá získávat informace o jejich účtu, kontrolách a jejich aktuálním stavu. Náš monitorovací systém můžete propojit s vlastní aplikací nebo automaticky zpracovávat nové události u sledovaných domén a služeb.

Protokol
HTTPS
Metoda
GET
Formát
JSON (UTF-8)
Základní URL
https://api.wedos.online/mon/
Limit
1000 / hodina na IP i na uživatele

Aktivace API

Přístup k API se aktivuje ve správě WEDOS, do které se dostanete přes client.wedos.com v detailu konkrétní domény, pro kterou máte tuto doplňkovou službu aktivovanou.

Ve správě zvolte sekci Nastavení -> Nastavení API. Aktivací se vygeneruje API klíč (podobný heslu), který pak použijete k autentizaci při komunikaci s API.

Bezpečnostní poznámka: zacházejte s přístupovými údaji k API jako s heslem. Nezveřejňujte je ani je nikomu veřejně nesdělujte.

Základní informace

Komunikace s API probíhá přes HTTPS metodou GET. Některé metody přijímají parametry v URL (GET parametry). Všechny metody vracejí odpověď jako JSON objekt a všechna data jsou v kódování UTF-8.

Každá odpověď obsahuje položku requestId, která jednoznačně identifikuje požadavek. Podle tohoto identifikátoru dokážeme v případě problému nebo dotazu dohledat konkrétní komunikaci v našem logu.

API se nachází na adrese https://api.wedos.online/mon/ následované názvem konkrétní metody. Autentizace probíhá pomocí dvou HTTP hlaviček posílaných u každého požadavku:

HlavičkaHodnota
X-Auth-IdID vašeho API klíče
X-Auth-Keyváš API klíč

API má následující limity:

  • max. 1000 požadavků za hodinu z jedné IP adresy
  • max. 1000 požadavků za hodinu od jednoho uživatele

Hello World

Toto je základní volání metody ping, která jednoduše ověří, že spojení a autentizace fungují.

GET https://api.wedos.online/mon/ping

Požadavek

GET /mon/ping HTTP/1.1
Host: api.wedos.online
Accept: application/json
X-Auth-Id: MY_API_KEY_ID
X-Auth-Key: MY_API_KEY

Odpověď

{
    "stamp": 1613393366,
    "time": "2021-02-15 13:49:26",
    "userId": 1000,
    "requestId": "3bb52d4d22.1613393366.2811.82063"
}

Při chybě vrátí HTTP server jiný stavový kód než 200 a tělo odpovědi chybu specifikuje: uvede chybový kód a jeho popis. Příklad:

{
    "error": {
        "code": "C507",
        "error": "Authentication failed"
    },
    "requestId": "1495544185.1615.8422"
}

Seznamy, filtrování, stránkování

Některé metody API vracejí seznam položek (například kontrol). Tyto metody mají společné funkce, vstupní parametry i výstupní data. Výsledek vždy obsahuje tyto položky:

PoložkaVýznam
resultspole objektů s jednotlivými položkami seznamu
pagečíslo stránky (viz stránkování níže)
countpočet vrácených položek
filteredCountpočet všech položek odpovídajících aktuálnímu filtru
totalCountpočet všech položek

Příklad odpovědi (konkrétní položky zde nejsou uvedeny):

{
    "results": [
        ...
    ],
    "page": 1,
    "count": 10,
    "filteredCount": 18,
    "totalCount": 624,
    "requestId": "..."
}

Tato odpověď znamená, že pro aktuálního uživatele je celkem 624 položek (například kontrol), z nichž 18 odpovídá aktivnímu filtru, a vráceno bylo prvních 10 položek (první stránka, stránkování po 10 položkách).

V požadavku na seznam lze jako GET parametry předat jeden či více filtrů; vrátí se pouze odpovídající položky. Položky seznamu lze stránkovat, tedy vracet jen v určitých rozsazích. API umožňuje maximálně 1000 položek na jedno volání, výchozí stránkování je 100 položek.

Pro stránkování a omezení počtu vrácených položek slouží tyto GET parametry:

ParametrVýznam
pagečíslo stránky (výchozí 1)
countpočet vrácených položek, tj. velikost stránky (výchozí 100)

Příklad výpisu 10 položek na druhé stránce (položky 11 až 20):

GET https://api.wedos.online/mon/checks?page=2&count=10

Seznam kontrol

Metoda checks načte seznam monitorovaných služeb ve vašem účtu.

GET https://api.wedos.online/mon/checks

Příklad odpovědi

{
    "results": [
        {
            "ID": 5151,
            "name": "seznam.cz DNSSEC",
            "type": "dnssec",
            "period": 600,
            "fullTarget": "seznam.cz",
            "status": "ok",
            "statusStamp": 1612886736,
            "statusDate": "2021-02-09 16:05:36",
            "createdStamp": 1612886708,
            "createdDate": "2021-02-09 16:05:08",
            "uptime_1d": 100,
            "errorSeconds_1d": 0,
            "avgTime_1d": 0,
            "uptime_7d": 100,
            "errorSeconds_7d": 0,
            "avgTime_7d": 0,
            "uptime_30d": 100,
            "errorSeconds_30d": 0,
            "avgTime_30d": 0,
            "warningsCount": 0
        },
        ...
    ],
    "page": 1,
    "count": 21,
    "filteredCount": 21,
    "totalCount": 21,
    "requestId": "3bb52d4d22.1613394688.5186.82182"
}

Seznam můžete filtrovat podle status a/nebo type, například:

GET https://api.wedos.online/mon/checks?type=http&status=down

Význam položek v odpovědi:

PoložkaVýznam
IDID kontroly
namenázev kontroly
typetyp kontroly (ping, http, dns, smtp, ...)
periodinterval testu (sekundy)
fullTargethost/doménové jméno cíle (doména, server)
statusaktuální stav kontroly (ok, slow, response_timeout, down, response_error, disabled, ...)
statusStampposlední změna stavu (UNIX timestamp)
statusDateposlední změna stavu (SQL formát, UTC)
createdStampdatum a čas vytvoření kontroly (UNIX timestamp)
createdDatedatum a čas vytvoření kontroly (SQL formát, UTC)
uptime_1ddostupnost za posledních 24 hodin (procenta)
errorSeconds_1dpočet sekund v chybovém stavu za posledních 24 hodin
avgTime_1dprůměrná odezva za posledních 24 hodin (sekundy)
uptime_7ddostupnost za posledních 7 dní (procenta)
errorSeconds_7dpočet sekund v chybovém stavu za posledních 7 dní
avgTime_7dprůměrná odezva za posledních 7 dní (sekundy)
uptime_30ddostupnost za posledních 30 dní (procenta)
errorSeconds_30dpočet sekund v chybovém stavu za posledních 30 dní
avgTime_30dprůměrná odezva za posledních 30 dní (sekundy)
warningsCountpočet aktivních varování

Stav (status) může být:

StavVýznam
unknowntest ještě nebyl proveden
okvše je v pořádku
slowodpověď byla úspěšná, ale pomalá
response_timeoutspojení proběhlo, ale vypršel čas při čekání na odpověď
downspojení selhalo
response_errorneplatná odpověď
maintenancekontrola je v plánované údržbě
pausedkontrola je pozastavena, testy se neprovádějí
disabledkontrolu zakázal administrátor
deniedmonitorovací systém odmítl provést test, obvykle to znamená, že cíl míří na IP adresu z privátního rozsahu
unverifiedneověřili jste vlastnictví webu, který chcete monitorovat (platí pro HTTP kontroly)
invalidStatusjiný neplatný stav monitorované služby

Detail kontroly

Metoda check zobrazí podrobnosti o jedné konkrétní kontrole (monitorované službě). Do URL přidáte ID kontroly, například:

GET https://api.wedos.online/mon/check/5151

Příklad odpovědi

{
    "check": {
        "ID": 5151,
        "name": "seznam.cz DNSSEC",
        "type": "dnssec",
        "period": 600,
        "fullTarget": "seznam.cz",
        "status": "ok",
        "statusStamp": 1612886736,
        "statusDate": "2021-02-09 16:05:36",
        "createdStamp": 1612886708,
        "createdDate": "2021-02-09 16:05:08",
        "uptime_1d": 100,
        "errorSeconds_1d": 0,
        "avgTime_1d": 0,
        "uptime_7d": 100,
        "errorSeconds_7d": 0,
        "avgTime_7d": 0,
        "uptime_30d": 100,
        "errorSeconds_30d": 0,
        "avgTime_30d": 0,
        "warningsCount": 0,
        "lastTestStamp": 1613396132,
        "lastTestDate": "2021-02-15 13:35:32",
        "requestTime": null,
        "info": "seznam.cz/SOA secured by DNSSEC\nSignature expiration: 2021-02-28 16:01:01 UTC",
        "testsCount": 363,
        "errorsCount": 0,
        "pendingErrorsCount": 0,
        "lastErrorBeginStamp": null,
        "ip": null,
        "ptr": null,
        "nextStamp": 1613396731,
        "warnings": []
    },
    "requestId": "3bb52d4d22.1613396687.4247.82403"
}

Doplňující informace o kontrole:

PoložkaVýznam
lastTestStampposlední provedený test (UNIX timestamp)
lastTestDateposlední provedený test (SQL formát, UTC)
requestTimeodezva z posledního testu (ms), pokud je dostupná
infodoplňující informace (chybová zpráva, detaily odpovědi)
testsCountpočet testů od úplného začátku
errorsCountpočet chybových výsledků od úplného začátku
pendingErrorsCountpočet aktuálních chyb
lastErrorBeginStampzačátek aktuálního chybového stavu (UNIX timestamp)
ipIP adresa cíle (pokud je dostupná)
ptrreverzní záznam (PTR) cíle (pokud je dostupný)
nextStamppřibližné datum a čas dalšího testu (UNIX timestamp)
warningspole doplňkových varování (expirace certifikátu, IP na blocklistech, méně závažné chyby odpovědi atd.)

Zapojte to do své infrastruktury.

Vytvořte účet, přidejte kontrolu a vygenerujte API klíč během pár minut.

Začít zdarma