REST API – Domény

WEDOS REST API je stále ve vývoji. Přístup a funkce se mohou bez předchozího upozornění změnit.

Tento článek částečně popisuje endpoint Domains ve WEDOS REST API. Kontakty domén a NSSETs mají vlastní články. Pro WEDOS API (WAPI) viz WAPI – Domény WEDOS.

Základní informace o WEDOS REST API najdete v článku WEDOS REST API Manuál.

V tomto článku najdete následující informace:


Přístup k endpointu domains

Toto API pokrývá správu domén pod prefixem /v2/domains v URL. Kontakty domén a NSSETy jsou popsány v samostatných článcích.

Základní URL a autentizace

Základní URL endpointů domains je: https://api.wedos.com/v2

Veškerá komunikace probíhá přes HTTPS a autentizace používá výhradně OAuth2: odesílejte hlavičku Authorization: Bearer <TOKEN> s každým požadavkem. Token musí mít scope domains (jeden společný scope pro domény, kontakty a NSSETy). Bez platné autentizace vrací API chybu.

Datové požadavky (POST/PATCH) se odesílají jako JSON (Content-Type: application/json).

Můžete přidat parametr example=1 k libovolnému endpointu (např. ?example=1, nebo &example=1 pokud URL již obsahuje jiné parametry dotazu). Místo provedení požadavku pak API vrátí ukázkový příkaz curl pro dané volání. I v tomto režimu je vyžadována platná autentizace.

Přehled endpointů

MetodaEndpointPopis
GET/domains (ekvivalentně /domains/list)Seznam domén zákazníka
GET/domains/{name}Detail jedné domény
GET/domains/infoDetail jedné nebo více domén
GET/domains/checkKontrola dostupnosti domény/domén pro registraci
GET/domains/{name}/transfer/checkKontrola, zda lze doménu přeregistrovat
GET/domains/tld-periodsKontrola platné registrační periody pro TLD
POST/domains/createRegistrace nové domény
POST/domains/{name}/renewProdloužení registrace domény
POST/domains/{name}/transferPřeregistrace domény od jiného registrátora
POST/domains/{name}/auth-info/sendOdeslání autorizačního kódu na kontakt vlastníka domény
PATCH/domains/{name}/nsset/updateZměna DNS serverů / NSSETu domény
PATCH/domains/{name}/keyset/updateNastavení DNSSEC (KEYSET) domény

Formát odpovědi

Odpovědí API je vždy objekt JSON s klíči code (návratový kód), msg (textový popis), request_id (identifikátor požadavku) a případně data (vrácená data při úspěchu).

Kromě konkrétních (business) návratových kódů uvedených níže u jednotlivých volání mohou všechny endpointy vracet i tyto obecné kódy REST vrstvy:

  • 1000 – požadavek byl úspěšně proveden
  • 2000 – chybí nebo je neplatná autentizace (OAuth2 Bearer token)
  • 2004 – překročena maximální povolená velikost požadavku (URL nebo tělo požadavku)
  • 4000 – neznámá/nepodporovaná metoda nebo akce API
  • 4001 – validace vstupních dat selhala
  • 4005 – pro aktuální tvar URL v režimu example=1 není definován žádný příklad
  • 6000 – interní chyba při inicializaci zpracování požadavku

GET /domains

Vrací seznam všech domén přihlášeného zákazníka, volitelně filtrovaný podle stavu. Ekvivalentní cesta GET /domains/list dělá totéž (žádná změna chování, jen alternativní tvar URL).

Parametry:

  • status – volitelný, query, string – vrací pouze domény v zadaném stavu; pokud není uveden, vrací domény ve všech stavech

Návratové kódy:

  • 1000 – OK
  • 2101 – neplatný formát parametru status
  • 2242 – neznámý stav domény
  • 5001 – nikdo není přihlášen

Data odpovědi:

  • domain – pole domén zákazníka; každá položka obsahuje:
    • name – název domény
    • status – stav domény

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains?status=active'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d4",
  "data": {
    "domain": [
      { "name": "domain1.tld", "status": "active" },
      { "name": "domain2.tld", "status": "active" }
    ]
  }
}

GET /domains/{name}

Vrací podrobné informace o jedné doméně podle jejího názvu v cestě URL.

Parametry:

  • name – povinný, path – název domény

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 3216 – chyba při načítání informací o doméně
  • 3222 – nepodařilo se načíst objekt domény
  • 3223 – doména je v jiném zákaznickém účtu
  • 4205 – chyba spojení s registrem

Data odpovědi:

  • domain – objekt s informacemi o doméně:
    • name – název domény
    • status – stav domény v registru
    • reg_owner, reg_creator, reg_update – identifikátory registrátora (našeho/jiného)
    • setup_date, expiration, updated_date, transfer_date – data registrace/expirace/aktualizace
    • owner_c, admin_c, tech_c – identifikátory přiřazených kontaktů (podle registru)
    • dns.server – pole nastavených DNS serverů (name, addr_ipv4, addr_ipv6)
    • dnssec_keys – nastavené klíče DNSSEC (pokud existují)
    • own_* (own_name, own_company, own_email, own_addr_street, …) – snímek údajů kontaktu vlastníka v okamžiku dotazu

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domena1.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d5",
  "data": {
    "domain": {
      "name": "domena1.tld",
      "status": "active",
      "reg_owner": "WEDOS",
      "setup_date": "2024-01-10",
      "expiration": "2027-01-10",
      "owner_c": "CONTACT-1",
      "dns": {
        "server": [
          { "name": "ns.wedos.com", "addr_ipv4": null, "addr_ipv6": null },
          { "name": "ns.wedos.org", "addr_ipv4": null, "addr_ipv6": null }
        ]
      },
      "own_name": "Esmeralda Excavadora",
      "own_email": "esmeralda@wedos.com"
    }
  }
}

GET /domains/info

Funkčně totožné s GET /domains/{name}, ale umožňuje vyžádat si informace o několika doménách najednou (názvy oddělené čárkami) pomocí query parametru.

Parametry:

  • name – povinný, query, string – název domény nebo několik názvů oddělených čárkami (bez mezer)

Návratové kódy:

  • 1000 – OK (u dotazů na více domén vrací API vždy tento kód; výsledek pro každou doménu je ve vlastním uzlu, viz níže)
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 3216, 3222, 3223, 4205 – viz GET /domains/{name}

Data odpovědi:

  • Pro jednu doménu: domain – objekt se stejnou strukturou jako u GET /domains/{name}
  • Pro více domén: domain – pole objektů, z nichž každý navíc obsahuje code (návratový kód zpracování pro danou doménu) a result (jeho textový popis). U dávkového dotazu se stav zpracování sleduje pro každou doménu zvlášť, nikoli na úrovni celé odpovědi.

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/info?name=domain1.tld,domain2.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d6",
  "data": {
    "domain": [
      { "name": "domain1.tld", "status": "active", "expiration": "2027-01-10" },
      { "name": "domain2.tld", "code": 3223, "result": "Domain belongs to another account" }
    ]
  }
}

GET /domains/check

Kontroluje, zda je jedna nebo více domén dostupná k registraci (u nás, nebo obecně podle dostupnosti v registru).

Parametry:

  • name – povinný, query, string – název domény nebo několik názvů oddělených čárkami

Návratové kódy:

  • 1000 – doména je dostupná k registraci (u dotazů na více domén vrací API vždy tento kód; výsledek pro každou doménu je ve vlastním uzlu, viz níže)
  • 2100 – parametr name chybí
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 2250 – překročen limit kontrol (zablokováno)
  • 2251 – kontrola limitu selhala
  • 3201 – doména je již registrovaná
  • 3203 – doména není dostupná
  • 3204 – doména je v karanténě
  • 3205 – doména je rezervovaná
  • 3206 – doména je blokovaná (důvod – premium/ochranná známka/rezervace/krátký název – je uveden v textovém popisu)
  • 4201 – kontrola selhala – chyba spojení s registrem
  • další stavové kódy specifické pro kontrolu dostupnosti

Data odpovědi:

  • Pro jednu doménu: name – dotazovaný název domény (výsledek kontroly je přímo v polích odpovědi code/msg)
  • Pro více domén: pole objektů, každý s name, code (výsledek kontroly pro danou doménu) a result (jeho textový popis)

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/check?name=domain1.tld,domain2.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d7",
  "data": [
    { "name": "domain1.tld", "code": 3201, "result": "Domain is already registered" },
    { "name": "domain2.tld", "code": 1000, "result": "OK" }
  ]
}

GET /domains/{name}/transfer/check

Kontroluje, zda lze doménu k nám přeregistrovat od jiného registrátora, aniž byste museli znát autorizační kód.

Parametry:

  • name – povinný, path – název domény

Návratové kódy:

  • 1000 – doména je dostupná k přeregistraci
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 3207 – doména je již registrovaná u nás
  • 3208 – nelze přeregistrovat, expirace je příliš blízko
  • 3266 – nelze přeregistrovat, doména expirovala
  • 4206 – chyba spojení s registrem

Data odpovědi: Žádná – výsledek nesou přímo pole odpovědi code/msg.

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domain1.tld/transfer/check'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d8"
}

GET /domains/tld-periods

Kontroluje, zda lze doménu pod danou TLD zaregistrovat/prodloužit na zadaný počet let.

Parametry:

  • tld – povinný, query, string – TLD (bez tečky, např. cz)
  • period – povinný, query, integer – požadovaná perioda v letech

Návratové kódy:

  • 1000 – OK, perioda je pro danou TLD platná
  • 2100 – chybí vstupní parametr
  • 2101 – neplatné vstupní parametry
  • 2203 – perioda není pro danou TLD platná

Data odpovědi: Žádná – výsledek nesou přímo pole odpovědi code/msg.

Příklad:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/tld-periods?tld=eu&period=1'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d9"
}

POST /domains/create

Registruje novou doménu. Musíte zadat právě jeden z parametrů dns nebo nsset (pro nastavení DNS/NSSETu domény), nikdy oba.

Parametry:

  • name – povinný, string – název domény k registraci
  • period – povinný, integer – délka registrace v letech
  • owner_c – povinný, string – identifikátor (handle) kontaktu vlastníka domény
  • admin_c – volitelný, string – identifikátor administrativního kontaktu
  • dns – volitelný, array – pole DNS serverů ve tvaru [{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...] (addr_ipv4/addr_ipv6 jsou u každého serveru volitelné); vzájemně se vylučuje s nsset
  • nsset – volitelný, string – handle existujícího NSSETu, který se doméně přiřadí (pouze pro registry, které NSSETy podporují, např. .cz); vzájemně se vylučuje s dns
  • rules – volitelný, array – potvrzení souhlasu s pravidly registrace (vyžadováno pouze u TLD, které to vyžadují)

Návratové kódy:

  • 1000 – OK, doména zaregistrována
  • 1001 – požadavek přijat, bude dokončen asynchronně
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 2203 – neplatná perioda
  • 2204 – parametr owner_c chybí
  • 2207 – neplatný formát parametru owner_c
  • 2208 – neplatný formát parametru admin_c
  • 2209 – chyba syntaxe NSSETu
  • 2210 – chyba syntaxe DNS serveru
  • 2211 – příliš mnoho DNS serverů
  • 2245 – nebyl udělen souhlas s podmínkami registrace
  • 3001 – neplatná měna
  • 3002 – nedostatečný kredit
  • 3211 – kontakt owner_c není dostupný
  • 3212 – kontakt admin_c není dostupný
  • 3221 – vytvoření domény se nezdařilo
  • 4002 – stržení kreditu z účtu se nezdařilo
  • další chybové kódy specifické pro registraci domény

Data odpovědi:

  • num – číslo objednávky
  • expiration – datum expirace domény
  • credit – zůstatek kreditu po zaplacení

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/create' \
  --data '{
    "name": "domain1.tld",
    "period": 1,
    "owner_c": "CONTACT-1",
    "dns": [
      { "name": "ns.wedos.com" },
      { "name": "ns.wedos.org" }
    ]
  }'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e1",
  "data": {
    "num": "202610010001",
    "expiration": "2027-10-01",
    "credit": "1234.50"
  }
}

POST /domains/{name}/renew

Prodlouží registraci domény o zadaný počet let. U domén .eu to nelze – prodlužují se automaticky.

Parametry:

  • name – povinný, path – název domény
  • period – povinný, integer – počet let prodloužení

Návratové kódy:

  • 1000 – OK
  • 1001 – požadavek přijat, bude dokončen asynchronně
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2203 – neplatná perioda
  • 2269 – již existuje nezaplacená (nová) perioda
  • 3001 – neplatná měna
  • 3002 – nedostatečný kredit
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – doména nepatří do tohoto zákaznického účtu
  • 3224 – prodloužení domény se nezdařilo
  • 3265 – doménu nyní nelze prodloužit – počet dní do expirace překračuje povolený limit
  • 4208 – prodloužení se nezdařilo – chyba spojení

Data odpovědi:

  • num – číslo objednávky
  • expiration – nové datum expirace domény
  • credit – zůstatek kreditu po zaplacení

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/renew' \
  --data '{"period": 1}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e2",
  "data": {
    "num": "202610010002",
    "expiration": "2028-10-01",
    "credit": "1134.50"
  }
}

POST /domains/{name}/transfer

Přeregistruje doménu k nám od jiného registrátora. Parametr dns funguje takto: pokud není v požadavku vůbec uveden, převezme se automaticky stávající nastavení DNS serverů domény; false nebo prázdné pole nastaví výchozí servery WEDOS; pole objektů nastaví konkrétní servery.

Parametry:

  • name – povinný, path – název domény
  • auth_info – povinný, string – autorizační kód domény (transfer kód)
  • owner_c – volitelný, string – identifikátor kontaktu vlastníka (vyžadován pouze u TLD, kde to registr vyžaduje)
  • dns – volitelný, array – pole DNS serverů ve stejném tvaru jako u POST /domains/create
  • rules – volitelný, array – potvrzení souhlasu s pravidly (pouze u TLD, které to vyžadují)

Návratové kódy:

  • 1000 – přeregistrace proběhla úspěšně
  • 1001 – požadavek přijat, bude proveden asynchronně
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 2204 – chybí identifikátor kontaktu vlastníka
  • 2207 – neplatný identifikátor kontaktu vlastníka
  • 2210 – neplatný formát DNS serveru
  • 2215 – auth_info chybí, ačkoli je u této TLD vyžadován
  • 3001 – neplatná měna
  • 3207 – doména je již registrovaná u nás
  • 3208 – nelze přeregistrovat, expirace je příliš blízko
  • 3219 – pro tuto doménu existuje čekající žádost o přeregistraci
  • 3220 – doména je již v naší evidenci
  • 3226 – přeregistrace domény se nezdařila
  • 3227 – chyba autorizace v registru domén
  • 3266 – nelze přeregistrovat, doména expirovala
  • další chybové kódy specifické pro přeregistraci domény

Data odpovědi:

  • num – číslo objednávky
  • expiration – datum expirace domény
  • credit – zůstatek kreditu po zaplacení

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/transfer' \
  --data '{"auth_info": "AUTHCODE123", "owner_c": "CONTACT-1"}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e3",
  "data": {
    "num": "202610010003",
    "expiration": "2027-10-01",
    "credit": "1134.50"
  }
}

POST /domains/{name}/auth-info/send

Odešle autorizační kód domény (transfer kód) na e-mail kontaktu vlastníka domény.

Parametry:

  • name – povinný, path – název domény

Návratové kódy:

  • 1000 – OK, autorizační kód odeslán na e-mail vlastníka domény
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • 2243 – odeslání autorizačního kódu není pro tuto doménu povoleno
  • 3209 – odeslání autorizačního kódu se nezdařilo
  • 3210 – odeslání se nezdařilo – doména není dostupná
  • 3222 – nepodařilo se načíst doménu
  • 3223 – doména nepatří do tohoto zákaznického účtu
  • 4214 – odeslání se nezdařilo – chyba spojení

Data odpovědi: Žádná – výsledek nesou přímo pole odpovědi code/msg.

Příklad:

curl -X POST -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domain1.cz/auth-info/send'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e4"
}

PATCH /domains/{name}/nsset/update

Nastaví doméně nové DNS servery nebo ji naváže na existující NSSET. Musíte zadat právě jeden z parametrů dns nebo nsset, nikdy oba.

Parametry:

  • name – povinný, path – název domény
  • dns – volitelný, array – pole DNS serverů ve stejném tvaru jako u POST /domains/create; vzájemně se vylučuje s nsset
  • nsset – volitelný, string – handle existujícího NSSETu; vzájemně se vylučuje s dns

Návratové kódy:

  • 1000 – OK
  • 1001 – OK, provedeno asynchronně
  • 2100 – chybí povinný parametr (není zadán ani dns ani nsset )
  • 2101 – neplatné parametry (jsou zadány dns a nsset zároveň, nebo mají neplatný formát)
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný název domény
  • 2209 – chyba syntaxe NSSETu
  • 2210 – chyba syntaxe DNS serveru
  • 2211 – příliš mnoho DNS serverů
  • 3214 – NSSET není dostupný
  • 3222 – nepodařilo se otevřít doménu
  • 3223 – doména patří do jiného zákaznického účtu
  • 3225 – aktualizace DNS/NSSETu se nezdařila
  • 3315 – doména již má nastavené stejné NS servery
  • 4204 – chyba spojení (NSSET)
  • 4210 – chyba spojení (DNS)

Data odpovědi: Žádná – výsledek nesou přímo pole odpovědi code/msg.

Příklad:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/nsset/update' \
  --data '{
    "dns": [
      { "name": "ns.wedos.com" },
      { "name": "ns.wedos.org" }
    ]
  }'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e5"
}

PATCH /domains/{name}/keyset/update

Nastaví, vypne nebo přepne DNSSEC domény.

Parametry:

  • name – povinný, path – název domény
  • keyset – povinný – nastavení DNSSEC:
    • 0 – DNSSEC vypnuto
    • 1 – DNSSEC spravovaný WEDOS
    • jakýkoli jiný řetězec – handle vlastního KEYSETu zákazníka

Návratové kódy:

  • 1000 – OK
  • 2100 – chybí povinný parametr
  • 2101 – neplatný formát parametru
  • 2201 – nepodporovaná TLD
  • 2202 – neplatný formát názvu domény
  • další chybové kódy specifické pro nastavení DNSSEC

Data odpovědi: Žádná – výsledek nesou přímo pole odpovědi code/msg.

Příklad:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/keyset/update' \
  --data '{"keyset": 1}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e6"
}

Poznámky

  • Endpointy pod /v2/domains, /v2/contacts a /v2/nssets obsluhuje jedna společná serverová třída a všechny sdílejí jeden OAuth2 scope, domains. Z pohledu klienta jde o tři logicky oddělená, ale administrativně sjednocená API.
  • Parametr dns (pro domény a NSSETy) se zadává jako prosté pole objektů {"name": "...", "addr_ipv4": "...", "addr_ipv6": "..."}. Interně se před voláním WAPI převádí na starší formát používaný dřívějšími verzemi API. Položky addr_ipv4 a addr_ipv6 jsou u každého serveru volitelné.
  • U POST /domains/create, PATCH /domains/{name}/nsset/update a POST /domains/{name}/transfer musí být zadán právě jeden z parametrů dns/nsset . U přeregistrace navíc platí: pokud dns není v požadavku vůbec uveden, API automaticky zjistí a zachová stávající nastavení DNS serverů domény.
  • U dotazů na více domén (GET /domains/info, GET /domains/check s několika názvy oddělenými čárkami) je návratový kód celé odpovědi vždy 1000. Výsledek zpracování každé domény čtěte z polí code/result jejího prvku v poli data.
  • U GET /domains/{name} lze teoreticky zadat i několik názvů oddělených čárkami přímo do segmentu cesty (API předává tuto hodnotu stejnému příkazu WAPI jako GET /domains/info). V praxi používejte pro dotazy na více domén GET /domains/info, protože jedna doména v cestě je čitelnější.
  • Tato dokumentace záměrně nepopisuje endpointy pod /v2/domains/{name}/miniweb/... (doplňková služba Miniweb). Obsluhuje je samostatná třída a budou zdokumentovány zvlášť.

Bylo to užitečné?

Děkujeme za zpětnou vazbu!
Obecné selektory
Pouze přesné shody
Hledat v názvu
Hledat v obsahu
Selektory typů příspěvků