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 DNS endpointu
- Podrobnosti DNS endpointu:
- GET /domains
- GET /domains/{name}
- GET /domains/info
- GET /domains/check
- GET /domains/{name}/transfer/check
- GET /domains/tld-periods
- POST /domains/create
- POST /domains/{name}/renew
- POST /domains/{name}/transfer
- POST /domains/{name}/auth-info/send
- PATCH /domains/{name}/nsset/update
- PATCH /domains/{name}/keyset/update
- Poznámky
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ů
| Metoda | Endpoint | Popis |
|---|---|---|
| GET | /domains (ekvivalentně /domains/list) | Seznam domén zákazníka |
| GET | /domains/{name} | Detail jedné domény |
| GET | /domains/info | Detail jedné nebo více domén |
| GET | /domains/check | Kontrola dostupnosti domény/domén pro registraci |
| GET | /domains/{name}/transfer/check | Kontrola, zda lze doménu přeregistrovat |
| GET | /domains/tld-periods | Kontrola platné registrační periody pro TLD |
| POST | /domains/create | Registrace nové domény |
| POST | /domains/{name}/renew | Prodloužení registrace domény |
| POST | /domains/{name}/transfer | Přeregistrace domény od jiného registrátora |
| POST | /domains/{name}/auth-info/send | Odeslání autorizačního kódu na kontakt vlastníka domény |
| PATCH | /domains/{name}/nsset/update | Změna DNS serverů / NSSETu domény |
| PATCH | /domains/{name}/keyset/update | Nastavení 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ě proveden2000– 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 API4001– validace vstupních dat selhala4005– pro aktuální tvar URL v režimuexample=1není definován žádný příklad6000– 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– OK2101– neplatný formát parametrustatus2242– neznámý stav domény5001– nikdo není přihlášen
Data odpovědi:
domain– pole domén zákazníka; každá položka obsahuje:name– název doménystatus– 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– OK2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény3216– chyba při načítání informací o doméně3222– nepodařilo se načíst objekt domény3223– doména je v jiném zákaznickém účtu4205– chyba spojení s registrem
Data odpovědi:
domain– objekt s informacemi o doméně:name– název doménystatus– stav domény v registrureg_owner,reg_creator,reg_update– identifikátory registrátora (našeho/jiného)setup_date,expiration,updated_date,transfer_date– data registrace/expirace/aktualizaceowner_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ý parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény3216,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 obsahujecode(návratový kód zpracování pro danou doménu) aresult(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– parametrnamechybí2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény2250– překročen limit kontrol (zablokováno)2251– kontrola limitu selhala3201– 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ědicode/msg) - Pro více domén: pole objektů, každý s
name,code(výsledek kontroly pro danou doménu) aresult(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řeregistraci2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény3207– doména je již registrovaná u nás3208– nelze přeregistrovat, expirace je příliš blízko3266– nelze přeregistrovat, doména expirovala4206– 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í parametr2101– neplatné vstupní parametry2203– 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 registraciperiod– povinný, integer – délka registrace v letechowner_c– povinný, string – identifikátor (handle) kontaktu vlastníka doményadmin_c– volitelný, string – identifikátor administrativního kontaktudns– volitelný, array – pole DNS serverů ve tvaru[{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...](addr_ipv4/addr_ipv6jsou u každého serveru volitelné); vzájemně se vylučuje snssetnsset– 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 sdnsrules– 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ána1001– požadavek přijat, bude dokončen asynchronně2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény2203– neplatná perioda2204– parametrowner_cchybí2207– neplatný formát parametruowner_c2208– neplatný formát parametruadmin_c2209– chyba syntaxe NSSETu2210– chyba syntaxe DNS serveru2211– příliš mnoho DNS serverů2245– nebyl udělen souhlas s podmínkami registrace3001– neplatná měna3002– nedostatečný kredit3211– kontaktowner_cnení dostupný3212– kontaktadmin_cnení dostupný3221– vytvoření domény se nezdařilo4002– stržení kreditu z účtu se nezdařilo- další chybové kódy specifické pro registraci domény
Data odpovědi:
num– číslo objednávkyexpiration– datum expirace doménycredit– 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ényperiod– povinný, integer – počet let prodloužení
Návratové kódy:
1000– OK1001– požadavek přijat, bude dokončen asynchronně2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2203– neplatná perioda2269– již existuje nezaplacená (nová) perioda3001– neplatná měna3002– nedostatečný kredit3222– nepodařilo se otevřít doménu3223– doména nepatří do tohoto zákaznického účtu3224– prodloužení domény se nezdařilo3265– doménu nyní nelze prodloužit – počet dní do expirace překračuje povolený limit4208– prodloužení se nezdařilo – chyba spojení
Data odpovědi:
num– číslo objednávkyexpiration– nové datum expirace doménycredit– 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ényauth_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/createrules– 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ý parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény2204– chybí identifikátor kontaktu vlastníka2207– neplatný identifikátor kontaktu vlastníka2210– neplatný formát DNS serveru2215–auth_infochybí, ačkoli je u této TLD vyžadován3001– neplatná měna3207– doména je již registrovaná u nás3208– nelze přeregistrovat, expirace je příliš blízko3219– pro tuto doménu existuje čekající žádost o přeregistraci3220– doména je již v naší evidenci3226– přeregistrace domény se nezdařila3227– chyba autorizace v registru domén3266– nelze přeregistrovat, doména expirovala- další chybové kódy specifické pro přeregistraci domény
Data odpovědi:
num– číslo objednávkyexpiration– datum expirace doménycredit– 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ény2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– neplatný formát názvu domény2243– odeslání autorizačního kódu není pro tuto doménu povoleno3209– odeslání autorizačního kódu se nezdařilo3210– odeslání se nezdařilo – doména není dostupná3222– nepodařilo se načíst doménu3223– doména nepatří do tohoto zákaznického účtu4214– 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énydns– volitelný, array – pole DNS serverů ve stejném tvaru jako u POST /domains/create; vzájemně se vylučuje snssetnsset– volitelný, string – handle existujícího NSSETu; vzájemně se vylučuje sdns
Návratové kódy:
1000– OK1001– OK, provedeno asynchronně2100– chybí povinný parametr (není zadán anidnsaninsset)2101– neplatné parametry (jsou zadánydnsanssetzároveň, nebo mají neplatný formát)2201– nepodporovaná TLD2202– neplatný název domény2209– chyba syntaxe NSSETu2210– chyba syntaxe DNS serveru2211– příliš mnoho DNS serverů3214– NSSET není dostupný3222– nepodařilo se otevřít doménu3223– doména patří do jiného zákaznického účtu3225– aktualizace DNS/NSSETu se nezdařila3315– doména již má nastavené stejné NS servery4204– 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énykeyset– povinný – nastavení DNSSEC:0– DNSSEC vypnuto1– DNSSEC spravovaný WEDOS- jakýkoli jiný řetězec – handle vlastního KEYSETu zákazníka
Návratové kódy:
1000– OK2100– chybí povinný parametr2101– neplatný formát parametru2201– nepodporovaná TLD2202– 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/contactsa/v2/nssetsobsluhuje 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žkyaddr_ipv4aaddr_ipv6jsou 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í: pokuddnsnení 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/resultjejího prvku v polidata. - 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ášť.
