WEDOS REST API je stále vo vývoji. Prístup a funkcie sa môžu bez predchádzajúceho upozornenia zmeniť.
Tento článok čiastočne popisuje endpoint Domains WEDOS REST API. Kontakty domén a NSSETs majú vlastné články. Pre WEDOS API (WAPI) pozrite článok WAPI – WEDOS Domény.
Základné informácie o WEDOS REST API nájdete v článku WEDOS REST API Manuál.
V tomto článku nájdete nasledujúce informácie:
- Prí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
Prístup k endpointu domains
Toto API pokrýva správu domén s prefixom /v2/domains v URL. Kontakty domén a NSSETy sú popísané v samostatných článkoch.
Základná URL a autentizácia
Základná URL endpointov domains je: https://api.wedos.com/v2
Celá komunikácia prebieha cez HTTPS a na autentizáciu sa používa výhradne OAuth2: posielajte hlavičku Authorization: Bearer <TOKEN> s každou požiadavkou. Token musí mať scope domains (jeden spoločný scope pre domény, kontakty a NSSETy). Bez platnej autentizácie vráti API chybu.
Dátové požiadavky (POST/PATCH) sa odosielajú ako JSON (Content-Type: application/json).
K ľubovoľnému endpointu môžete pridať parameter example=1 (napr. ?example=1, alebo &example=1 ak URL už obsahuje iné query parametre). API potom namiesto vykonania požiadavky vráti vzorový curl príkaz pre dané volanie. Platná autentizácia je potrebná aj v tomto režime.
Prehľad endpointov
| Metóda | Endpoint | Popis |
|---|---|---|
| GET | /domains (ekvivalentne /domains/list) | Zoznam domén zákazníka |
| GET | /domains/{name} | Detail jednej domény |
| GET | /domains/info | Detail jednej alebo viacerých domén |
| GET | /domains/check | Kontrola dostupnosti domény (domén) na registráciu |
| GET | /domains/{name}/transfer/check | Kontrola, či je možné doménu preniesť |
| GET | /domains/tld-periods | Kontrola platného registračného obdobia pre TLD |
| POST | /domains/create | Registrácia novej domény |
| POST | /domains/{name}/renew | Predĺženie registrácie domény |
| POST | /domains/{name}/transfer | Prenos domény od iného registrátora |
| POST | /domains/{name}/auth-info/send | Odoslanie autorizačného kódu na kontakt vlastníka domény |
| PATCH | /domains/{name}/nsset/update | Zmena DNS serverov / NSSET domény |
| PATCH | /domains/{name}/keyset/update | Nastavenie DNSSEC (KEYSET) domény |
Formát odpovede
Odpoveď API je vždy JSON objekt s kľúčmi code (návratový kód), msg (textový popis), request_id (identifikátor požiadavky) a, ak je to relevantné, data (vrátené dáta pri úspechu).
Okrem špecifických (biznisových) návratových kódov uvedených nižšie pri každom volaní môžu všetky endpointy vrátiť aj tieto všeobecné kódy REST vrstvy:
1000– požiadavka bola úspešne vykonaná2000– chýba alebo je neplatná autentizácia (OAuth2 Bearer token)2004– prekročená maximálna povolená veľkosť požiadavky (URL alebo telo požiadavky)4000– neznáma/nepodporovaná API metóda alebo akcia4001– zlyhala validácia vstupných dát4005– pre aktuálny tvar URL nie je definovaný žiadny príklad v režimeexample=1.6000– interná chyba pri inicializácii spracovania požiadavky
GET /domains
Vráti zoznam všetkých domén prihláseného zákazníka, voliteľne filtrovaný podľa stavu. Ekvivalentná cesta GET /domains/list robí to isté (bez zmeny správania, iba alternatívny tvar URL).
Parametre:
status– voliteľný, query, string – vráti iba domény v danom stave; ak nie je uvedený, vrátia sa domény vo všetkých stavoch
Návratové kódy:
1000– OK2101– neplatný formát parametrastatus2242– neznámy stav domény5001– nikto nie je prihlásený
Dáta odpovede:
domain– pole domén zákazníka; každá položka obsahuje:name– názov doménystatus– stav domény
Prí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}
Vráti podrobné informácie o jednej doméne podľa jej názvu v ceste URL.
Parametre:
name– povinný, path – názov domény
Návratové kódy:
1000– OK2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény3216– chyba pri načítaní informácií o doméne3222– nepodarilo sa načítať objekt domény3223– doména je v inom zákazníckom účte4205– chyba spojenia s registrom
Dáta odpovede:
domain– objekt s informáciami o doméne:name– názov doménystatus– stav domény v registrireg_owner,reg_creator,reg_update– identifikátory registrátora (náš/iný)setup_date,expiration,updated_date,transfer_date– dátumy registrácie/expirácie/aktualizácieowner_c,admin_c,tech_c– identifikátory priradených kontaktov (podľa registra)dns.server– pole nastavených DNS serverov (name,addr_ipv4,addr_ipv6)dnssec_keys– nastavené DNSSEC kľúče (ak existujú)own_*(own_name,own_company,own_email,own_addr_street, …) – snímka údajov kontaktu vlastníka v čase dotazu
Prí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čne rovnaké ako GET /domains/{name}, ale umožňuje cez query parameter získať informácie o viacerých doménach naraz (názvy oddelené čiarkami).
Parametre:
name– povinný, query, string – názov domény alebo viac názvov oddelených čiarkami (bez medzier)
Návratové kódy:
1000– OK (pri dotazoch na viac domén vracia API vždy tento kód; výsledok pre každú doménu je vo vlastnom uzle, pozri nižšie)2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény3216,3222,3223,4205– pozri GET /domains/{name}
Dáta odpovede:
- Pre jednu doménu:
domain– objekt s rovnakou štruktúrou ako GET /domains/{name} - Pre viac domén:
domain– pole objektov, pričom každý navyše obsahujecode(návratový kód spracovania danej domény) aresult(jeho textový popis). Pri hromadnom dotaze sa stav spracovania sleduje pre každú doménu zvlášť, nie na úrovni celej odpovede.
Prí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, či sú jedna alebo viaceré domény dostupné na registráciu (u nás, prípadne všeobecne podľa dostupnosti v registri).
Parametre:
name– povinný, query, string – názov domény alebo viac názvov oddelených čiarkami
Návratové kódy:
1000– doména je dostupná na registráciu (pri dotazoch na viac domén vracia API vždy tento kód; výsledok pre každú doménu je vo vlastnom uzle, pozri nižšie)2100– parameternamechýba2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény2250– prekročený limit kontrol (zablokované)2251– kontrola limitu zlyhala3201– doména je už zaregistrovaná3203– doména nie je dostupná3204– doména je v karanténe3205– doména je rezervovaná3206– doména je blokovaná (dôvod – premium/ochranná známka/rezervácia/krátky názov – je uvedený v textovom popise)4201– kontrola zlyhala – chyba spojenia s registrom- ďalšie stavové kódy špecifické pre kontrolu dostupnosti
Dáta odpovede:
- Pre jednu doménu:
name– zadaný názov domény (výsledok kontroly nesie priamo odpoveď v poliachcode/msg) - Pre viac domén: pole objektov, každý s
name,code(výsledok kontroly danej domény) aresult(jeho textový popis)
Prí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, či je možné doménu preniesť k nám od iného registrátora, bez nutnosti poznať autorizačný kód.
Parametre:
name– povinný, path – názov domény
Návratové kódy:
1000– doménu je možné preniesť2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény3207– doména je už zaregistrovaná u nás3208– nie je možné preniesť, expirácia je príliš blízko3266– nie je možné preniesť, doména expirovala4206– chyba spojenia s registrom
Dáta odpovede: Žiadne – výsledok nesie priamo odpoveď v poliach code/msg.
Prí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, či je možné doménu pod danou TLD zaregistrovať/predĺžiť na daný počet rokov.
Parametre:
tld– povinný, query, string – TLD (bez bodky, napr.cz)period– povinný, query, integer – požadované obdobie v rokoch
Návratové kódy:
1000– OK, obdobie je pre TLD platné2100– chýba vstupný parameter2101– neplatné vstupné parametre2203– obdobie nie je pre TLD platné
Dáta odpovede: Žiadne – výsledok nesie priamo odpoveď v poliach code/msg.
Prí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 novú doménu. Musíte uviesť práve jeden z parametrov dns alebo nsset (nastavenie DNS/NSSET domény), nikdy oba.
Parametre:
name– povinný, string – názov domény na registráciuperiod– povinný, integer – dĺžka registrácie v rokochowner_c– povinný, string – identifikátor (handle) kontaktu vlastníka doményadmin_c– voliteľný, string – identifikátor administratívneho kontaktudns– voliteľný, array – pole DNS serverov v tvare[{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...](addr_ipv4/addr_ipv6sú pre každý server voliteľné); vzájomne sa vylučuje snssetnsset– voliteľný, string – handle existujúceho NSSET, ktorý sa priradí doméne (iba pre registre, ktoré NSSET podporujú, napr. .cz); vzájomne sa vylučuje sdnsrules– voliteľný, array – potvrdenie súhlasu s pravidlami registrácie (povinné iba pre TLD, ktoré to vyžadujú)
Návratové kódy:
1000– OK, doména zaregistrovaná1001– požiadavka prijatá, dokončí sa asynchrónne2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény2203– neplatné obdobie2204– parameterowner_cchýba2207– neplatný formát parametraowner_c2208– neplatný formát parametraadmin_c2209– syntaktická chyba NSSET2210– syntaktická chyba DNS servera2211– príliš veľa DNS serverov2245– nebol udelený súhlas s podmienkami registrácie3001– neplatná mena3002– nedostatočný kredit3211– kontaktowner_cnie je dostupný3212– kontaktadmin_cnie je dostupný3221– vytvorenie domény zlyhalo4002– odpočítanie kreditu z účtu zlyhalo- ďalšie chybové kódy špecifické pre registráciu domény
Dáta odpovede:
num– číslo objednávkyexpiration– dátum expirácie doménycredit– zostatok kreditu po zaplatení
Prí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
Predlžuje registráciu domény o daný počet rokov. Pre domény .eu to nie je možné – predlžujú sa automaticky.
Parametre:
name– povinný, path – názov doményperiod– povinný, integer – počet rokov na predĺženie
Návratové kódy:
1000– OK1001– požiadavka prijatá, dokončí sa asynchrónne2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2203– neplatné obdobie2269– už existuje nezaplatené (nové) obdobie3001– neplatná mena3002– nedostatočný kredit3222– nepodarilo sa otvoriť doménu3223– doména nepatrí do tohto zákazníckeho účtu3224– predĺženie domény zlyhalo3265– doménu teraz nie je možné predĺžiť – počet dní do expirácie presahuje povolený limit4208– predĺženie zlyhalo – chyba spojenia
Dáta odpovede:
num– číslo objednávkyexpiration– nový dátum expirácie doménycredit– zostatok kreditu po zaplatení
Prí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
Prenáša doménu k nám od iného registrátora. Parameter dns funguje takto: ak nie je v požiadavke uvedený vôbec, automaticky sa preberie aktuálne nastavenie DNS serverov domény; false alebo prázdne pole nastaví predvolené servery WEDOS; pole objektov nastaví konkrétne servery.
Parametre:
name– povinný, path – názov doményauth_info– povinný, string – autorizačný kód domény (transfer kód)owner_c– voliteľný, string – identifikátor kontaktu vlastníka (povinný iba pre TLD, kde to register vyžaduje)dns– voliteľný, array – pole DNS serverov v rovnakom tvare ako pri POST /domains/createrules– voliteľný, array – potvrdenie súhlasu s pravidlami (iba pre TLD, ktoré to vyžadujú)
Návratové kódy:
1000– prenos prebehol úspešne1001– požiadavka prijatá, vykoná sa asynchrónne2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény2204– chýba identifikátor kontaktu vlastníka2207– neplatný identifikátor kontaktu vlastníka2210– neplatný formát DNS servera2215–auth_infochýba, pričom je pre túto TLD povinný3001– neplatná mena3207– doména je už zaregistrovaná u nás3208– nie je možné preniesť, expirácia je príliš blízko3219– pre túto doménu existuje čakajúca požiadavka na prenos3220– doména je už v našej evidencii3226– prenos domény zlyhal3227– chyba autorizácie v registri domén3266– nie je možné preniesť, doména expirovala- ďalšie chybové kódy špecifické pre prenos domény
Dáta odpovede:
num– číslo objednávkyexpiration– dátum expirácie doménycredit– zostatok kreditu po zaplatení
Prí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
Odosiela autorizačný kód domény (transfer kód) na e-mail kontaktu vlastníka domény.
Parametre:
name– povinný, path – názov domény
Návratové kódy:
1000– OK, autorizačný kód odoslaný na e-mail vlastníka domény2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény2243– odoslanie autorizačného kódu nie je pre túto doménu povolené3209– odoslanie autorizačného kódu zlyhalo3210– odoslanie zlyhalo – doména nie je dostupná3222– nepodarilo sa načítať doménu3223– doména nepatrí do tohto zákazníckeho účtu4214– odoslanie zlyhalo – chyba spojenia
Dáta odpovede: Žiadne – výsledok nesie priamo odpoveď v poliach code/msg.
Prí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éne nové DNS servery alebo ju naviaže na existujúci NSSET. Musíte uviesť práve jeden z parametrov dns alebo nsset, nikdy oba.
Parametre:
name– povinný, path – názov doménydns– voliteľný, array – pole DNS serverov v rovnakom tvare ako pri POST /domains/create; vzájomne sa vylučuje snssetnsset– voliteľný, string – handle existujúceho NSSET; vzájomne sa vylučuje sdns
Návratové kódy:
1000– OK1001– OK, vykonané asynchrónne2100– chýba povinný parameter (nie je uvedený anidnsaninsset)2101– neplatné parametre (uvedené súdnsanssetnaraz, alebo neplatný formát)2201– nepodporovaná TLD2202– neplatný názov domény2209– syntaktická chyba NSSET2210– syntaktická chyba DNS servera2211– príliš veľa DNS serverov3214– NSSET nie je dostupný3222– nepodarilo sa otvoriť doménu3223– doména patrí do iného zákazníckeho účtu3225– aktualizácia DNS/NSSET zlyhala3315– doména má už nastavené rovnaké NS servery4204– chyba spojenia (NSSET)4210– chyba spojenia (DNS)
Dáta odpovede: Žiadne – výsledok nesie priamo odpoveď v poliach code/msg.
Prí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 alebo prepne DNSSEC pre doménu.
Parametre:
name– povinný, path – názov doménykeyset– povinný – nastavenie DNSSEC:0– DNSSEC vypnutý1– DNSSEC spravovaný WEDOS- akýkoľvek iný reťazec – handle vlastného KEYSET zákazníka
Návratové kódy:
1000– OK2100– chýba povinný parameter2101– neplatný formát parametra2201– nepodporovaná TLD2202– neplatný formát názvu domény- ďalšie chybové kódy špecifické pre nastavenie DNSSEC
Dáta odpovede: Žiadne – výsledok nesie priamo odpoveď v poliach code/msg.
Prí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 spoločná serverová trieda a všetky zdieľajú jeden OAuth2 scope,domains. Z pohľadu klienta ide o tri logicky oddelené, ale administratívne zjednotené API. - Parameter
dns(pre domény a NSSET) sa zadáva ako jednoduché pole objektov{"name": "...", "addr_ipv4": "...", "addr_ipv6": "..."}. Interne sa pred volaním WAPI konvertuje na starší formát používaný v predchádzajúcich verziách API. Položkyaddr_ipv4aaddr_ipv6sú pre každý server voliteľné. - Pri POST /domains/create, PATCH /domains/{name}/nsset/update a POST /domains/{name}/transfer musí byť uvedený práve jeden z parametrov
dns/nsset. Pri prenose navyše platí: akdnsnie je v požiadavke uvedený vôbec, API automaticky zistí a zachová aktuálne nastavenie DNS serverov domény. - Pri dotazoch na viac domén (GET /domains/info, GET /domains/check s viacerými názvami oddelenými čiarkami) je návratový kód celej odpovede vždy
1000. Výsledok spracovania každej domény čítajte z polícode/resultjej prvku vdata. - Pri GET /domains/{name} je teoreticky možné vložiť priamo do segmentu cesty aj viac názvov oddelených čiarkami (API túto hodnotu odovzdá rovnakému WAPI príkazu ako GET /domains/info). V praxi používajte na dotazy na viac domén GET /domains/info, pretože jedna doména v ceste je čitateľnejšia.
- Táto dokumentácia zámerne nepopisuje endpointy pod
/v2/domains/{name}/miniweb/...(doplnková služba Miniweb). Obsluhuje ich samostatná trieda a budú zdokumentované zvlášť.
