WAPI v kostce (manuál)

  WAPI (API rozhraní)

V tomto článku se dozvíte:

WEDOS API

WEDOS API, tedy WAPI, slouží k ovládání služeb přímo z vašeho informačního systému. 

Podmínkou pro použití rozhraní je využívání zálohového účtu, ze kterého systém odečítá platby za registrace, prodloužení, přeregistrace a další účtované poplatky.

WAPI v současnosti umožňuje správu:

  • Zálohového účtu
  • Domén
  • Doménových kontaktů
  • NSSETu
  • DNS

Omezení

Jako ochranu před zneužíváním uplatňuje WAPI tato omezení:

  • Přes jeden uživatelský účet můžete zaslat max. 1000 požadavků za hodinu. Týká se to všech požadavků všech typů, při dosažení tohoto limitu WAPI další požadavky odmítá až do vypršení časového limitu.
  • Jeden uživatelský účet smí zadat max. 100 požadavků na dostupnost domény za hodinu. Týká se to příkazů domain-check, domain-create a domain-transfer-check.
  • Opakované zasílání neplatných požadavků (selhání autorizace, přístup z nepovolené IP adresy, chybný vstup, chybějící nebo nesprávné parametry, neznámý příkaz, příkazy končící jakoukoliv chybou nebo jakýkoliv požadavek nad rámec ostatních omezení) způsobí při překročení 10 neplatných požadavků blokaci IP adresy na 1 minutu za každý neplatný požadavek. S každými dalšími chybnými požadavky systém dobu blokování prodlužuje.

Synchronní a asynchronní operace

Většina příkazů prováděných přes WAPI je synchronní – pošlete příkaz a zpravidla během několika sekund se dozvíte výsledek. 

Některé operace jsou asychronní, tedy vyřízení takového příkazu může trvat velmi dlouho (i hodiny nebo dny). WAPI tedy nevrátí konečný výsledek, ale pouze informaci o přijetí příkazu. Informace o průběhu a finální výsledek Vám potom systém zasílá formou notifikací.

Aktivace WAPI v zákaznické administraci

Než začnete WAPI používat, aktivujte jej v zákaznické administraci těmito kroky:

  1. Přihlaste se do zákaznické administrace.
  2. V horním menu vyberte Můj účet >> Zákazník.
  3. V levém menu vyberte WAPI rozhraní.
  4. Nastavte povolené IP adresy, způsob notifikací, preferovaný protokol a heslo.
  5. Nastavení potvrďte tlačítky Nastavit.
WEDOS Vzorová aktivace WAPI
Vzorová aktivace WAPI

Všechna nastavení zadaná při aktivaci můžete později stejným způsobem změnit. Smazáním obsahu pole Povolené IP adresy WAPI deaktivujete.

Jak fungují notifikace a preferovaný protokol?

Notifikace oznamují průběh operací, které nelze provést okamžitě. Pokud vyberete zasílání pomocí HTTPS nebo e-mailu, vyplňte také příslušnou adresu. Více informací najdete v kapitole Notifikace. Preferovaný protokol používá WAPI například u Systémových notifikací a v jiných případech, kdy nemůže odpovědět stejnou formou, v jaké je vznesen příkaz.

Jak fungují povolené IP adresy?

Z bezpečnostních důvodů WAPI přijímá příkazy pouze z vyjmenovaných IP adres. Můžete zadávat buď celé nebo částečné adresy (např.: 46.28.105.), více adres oddělte mezerou. Z jiných adres WAPI veškerou komunikaci odmítne. Rozhraní upřednostňuje komunikaci prostřednictvím IPv6. Pokud tedy příkazy odesíláte z místa s IPv6 konektivitou (například z našeho webhostingu nebo VPS), přidejte i tuto IPv6 adresu.

Komunikace a autentizace

Komunikace s WAPI rozhraním probíhá přes HTTPS protokol. Data jsou předávána metodou POST v parametru request ve formátu XML nebo JSON. Základní tvar příkazu i odpovědi je pro všechny příkazy stejný. Kódování dat je UTF-8.

URL adresy rozhraní:

  • XML: https://api.wedos.com/wapi/xml
  • JSON: https://api.wedos.com/wapi/json

Struktura požadavku

Požadavek sestává z těchto dat:

  • user: Uživatelské jméno (e-mail) Vašeho zákaznického účtu, povinný parametr.
  • auth: Autorizační řetězec, povinný parametr. Jedná se o sha1 hash řetězce složeného z uživatelského jména, sha1 hashe WAPI hesla a aktuální hodiny (00-23). Časové pásmo je Europe/Prague (zimní čas UTC+1 SEČ, letní čas UTC+2 SELČ).
  • command: Samotný WAPI příkaz. Povinný parametr.
  • clTRID: ID požadavku, nepovinný parametr. Do tohoto elementu můžete vložit jakýkoliv řetězec jako identifikátor, který WAPI vrátí v odpovědi.
  • data: Datová část příkazu. Nepovinný parametr.
  • test: Příznak testovacího režimu, nepovinný parametr. Pokud do příkazu vložíte element test s hodnotou 1, WAPI Váš příkaz pouze zkontroluje, ale nebude provádět žádné změny.

Při komunikaci s WAPI uvádějte heslo k WAPI. Heslo k zákaznickému účtu nefunguje.

Šablona požadavku v JSON

{
  "request":
  {
    "user": "váš@login.tld",
    "auth": "autorizační řetězec",
    "command": "název požadavku",
    "data":
    {
      data požadavku
    }
    "clTRID": "identifikátor požadavku (nepovinné)",
    "test": "1 (pokud chcete požadavek jenom testovat, nepovinné)"
  }
}

Šablona požadavku v XML

<request>
  <user>váš@login.tld</user>
  <auth>autorizační řetězec</auth>
  <command>název požadavku</command>
  <data>
    ...
  </data>
  <clTRID>identifikátor požadavku (nepovinné)</clTRID>
  <test>1 (pokud chcete požadavek jenom testovat, nepovinné)</test>
</request>

Šablona požadavku v PHP (JSON)

Následující vzorový skript vyžaduje ke svému běhu rozšíření curl.

<?php 
date_default_timezone_set('Europe/Prague'); 
$login = 'váš@login.tld'; 
$wpass = 'vaše heslo k WAPI'; 
$auth = sha1($login.sha1($wpass).date('H', time())); 
$url = 'https://api.wedos.com/wapi/json'; 
$input = [ 'request' => [
  'user' => $login,
  'auth' => $auth,
  'command' => 'název požadavku',
  'data' => ['pole dat požadavku'],
  'clTRID' => 'identifikátor požadavku (nepovinné)',
  'test' => '1 (pokud chcete požadavek jenom testovat)'
  ]
];

$post = json_encode($input);
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'request=' . $post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$res = curl_exec($ch);
?>

Příklad v PHP:

<?php 
date_default_timezone_set('Europe/Prague'); 
$login = 'váš@login.tld'; 
$wpass = 'vaše heslo k WAPI'; 
$auth = sha1($login.sha1($wpass).date('H', time())); 
$url = 'https://api.wedos.com/wapi/json'; 
$input = [ 'request' => [
  'user' => $login,
  'auth' => $auth,
  'command' => 'název požadavku',
  'data' => ['pole dat požadavku'],
  'clTRID' => 'identifikátor požadavku (nepovinné)',
  'test' => '1 (pokud chcete požadavek jenom testovat)'
  ]
];

$post = json_encode($input);
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_TIMEOUT,60);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS, 'request=' . $post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
$res = curl_exec($ch);
?>

Struktura odpovědi

Odpověď sestává z těchto dat:

  • code: Návratová hodnota příkazu. Více informací najdete v kapitole Návratové kódy.
  • result: Textový popis návratového kódu.
  • timestamp: Čas vykonání příkazu v UNIXovém formátu.
  • clTRID: Identifikátor příkazu ze strany klienta.
  • svTRID: Identifikátor příkazu na straně serveru.
  • command: WAPI příkaz.
  • data: Návratové hodnoty. Pokud příkaz selže, data nevrací.
  • test: Vkládá se při odpovědi na příkazy obsahující také tento příznak.

Vzorová odpověď ve formátu JSON vypadá například takto:

{
  "response":
  {
    "code": "1000",
    "result": "ok",
    "timestamp": "1286356644",
    "svTRID": "1286356644.0246.21616",
    "command": "domain-create",
    "data": 		
    {
      "num": "1311000863",
      "expiration": "2011-10-06"	
    },
    "test": "1"
  }
}

Notifikace

Asynchronní operace nelze provést okamžitě. Průběh a výsledek takových operací můžete sledovat prostřednictvím notifikací. Synchronní požadavky notifikace nepoužívají.

Pokud WAPI nedokáže operaci dokončit ihned, v odpovědi vrátí Request pending (1001). Po dokončení operace (u komplikovanějších akcí jednotlivých kroků) vytvoří notifikaci, která je obdobou klasické odpovědi. Notifikaci můžete odpovídajícímu požadavku přiřadit podle parametrů clTRID nebo svTRID.

Data notifikace jsou vždy v kódování UTF-8.

Notifikace můžete získávat těmito způsoby (dle nastavení při aktivaci):

  • Přes POLL frontu.
  • Zasláním na uvedenou e-mailovou adresu.
  • Přes HTTP (či HTTPS) protokol na Vámi stanovenou URL adresu metodou POST v parametru request. Za korektní doručení se považuje HTTP odpověď s návratovým kódem 200. Pokud se doručit nepodaří, bude se náš systém v několikaminutových intervalech pokoušet o doručení znovu.

Vzorová notifikace ve formátu JSON vypadá například takto:

{
  "notify": {
    "code": 1000,
    "result": "OK",
    "timestamp": 1286957932,
    "clTRID": "AvrX87Kqk6h3",
    "svTRID": "1286957874.1271.15706",
    "command": "ping-async",
    "ID": 2691
  }
}

Systémové notifikace

Systémové notifikace odesílají informace o relevantních událostech, v současné době pouze o přeregistraci domény jinam. Máte-li u účtu aktivní WAPI, systém takovou informaci odešle prostřednictvím notifikace podobně jako u asynchronního příkazu.

Nastavení protokolu, ve kterém WAPI systémové notifikace odesílá, proveďte podle kapitoly Aktivace WAPI v zákaznické administraci. Tato volba funguje pro notifikace odesílané na e-mail nebo URL adresu. V případě stažení z POLL fronty je odpověď ve stejném tvaru jako příkaz.

Struktura je stejná jako u klasické notifikace, příkaz (command) je vždy system-notify. V uzlu data pak najdete podrobnější informace.

Základní příkazy

Mezi základní příkazy patří ping, ping-async a příkazy pro práci s POLL frontou poll-req a poll-ack.

ping

Příkaz ping slouží k otestování funkčnosti WAPI – například přihlašovacích údajů, IP adresy nebo kódu.

Návratové hodnoty jsou:

  • 1000 – OK

ping JSON

JSON příkaz:

{
  "request": {
    "user": "váš@login.tld",
    "auth": "vygenerovaný autorizační řetězec",
    "command": "ping",
    "clTRID": "vlastní id kód"
  }
}
JSON odpověď:
{
  "response": {
    "code": "1000",
    "result": "OK",
    "timestamp": "UTF čas",
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "ping"
  }
}

ping XML

XML dotaz:

<request>
  <user>váš@login.tld</user>
  <auth>vygenerovaný autorizační řetězec</auth>
  <command>ping</command>
  <clTRID>vlastní id kód</clTRID>
</request>
XML odpověď:
<response>
  <code>1000</code>
  <result>OK</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>ping</command>
</response>

ping-async

Příkaz ping-async testuje funkčnost WAPI notifikací.

Návratové hodnoty jsou:

  • 1000 OK
  • 1001 Čekání na příkaz

ping-async JSON

JSON příkaz:

{
  "request": {
    "user": "váš@login.tld",
    "auth": "vygenerovaný autorizační řetězec",
    "command": "ping",
    "clTRID": "vlastní id kód"
  }
}
JSON odpověď:
{
  "response": {
    "code": "1001",
    "result": "Request pending",
    "timestamp": "UTF čas",
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "ping"
  }
}
JSON notifikace:
{
  "notify": {
    "code": “1000”,
    "result": "OK",
    "timestamp": "UTF čas",
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "ping-async",
    "id": "id pro POLL frontu",
    "data": {
      "round": "číslo pokusu",
      "time": "čas",
      "done": 1
    }
  }
}

ping-async XML

XML dotaz:

<request>
  <user>váš@login.tld</user>
  <auth>vygenerovaný autorizační řetězec</auth>
  <command>ping-async</command>
  <clTRID>vlastní id kód</clTRID>
</request>
XML odpověď:
<response>
  <code>1001</code>
  <result>Request pending</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>ping-async</command>
</response>
Následná XML notifikace:
<notify>
  <code>1000</code>
  <result>OK</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>ping-async</command>
  <id>id pro POLL frontu</id>
  <data>
    <round>číslo pokusu</round>
    <time>čas</time>
    <done>1</done>
  </data>
</notify>

poll-req a poll-ack

Příkaz ping-async testuje funkčnost WAPI notifikací.

Získávání notifikací z POLL fronty provádíte kombinací příkazů poll-req a poll-ack: 

  1. Příkazem poll-req stáhnete nejstarší dostupnou notifikaci.
  2. Příkazem poll-ack označíte notifikaci za přijatou a tím zpřístupníte novější až do vyčerpání fronty.

Návratové hodnoty pro poll-req jsou:

  • 1000 – notifikace získána
  • 1003 – ve frontě není žádná nepřečtená notifikace
  • 2150 – váš účet nemá nastaveno stahování notifikací z poll fronty

poll-req JSON

JSON příkaz:

{
  "request": {
    "user": "váš@login.tld",
    "auth": "vygenerovaný autorizační řetězec",
    "command": "poll-req",
    "clTRID": "vlastní id kód"
  }
}
JSON odpověď (notifikace dostupná):
{
  "response": {
    "code": “1000”,
    "result": "OK",
    "timestamp": "UTF čas",
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "poll-req",
    "data": {
      "notify": {
        "code": “1000”,
        "result": "OK",
        "timestamp": "UTF čas",
        "clTRID": "vlastní id kód nalezeného příkazu",
        "svTRID": "id kód serveru pro nalezený příkaz",
        "command": "název příkazu",
        "id": "id v POLL frontě"
      }
    }
  }
}
JSON odpověď (prázdná forma notifikací):
{
  "response": {
    "code": 1003,
    "result": "Empty notifications queue",
    "timestamp": “1286962852”,
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "poll-req"
  }
}

poll-req XML

XML dotaz:

<request>
 <user>tester</user>
 <auth>202b62bb4646281f97d225db1249840c8452dd8f</auth>
 <command>poll-req</command>
 <clTRID>LtVxXV9wLSWw</clTRID>
</request>
XML odpověď (notifikace dostupná):
<response>
  <code>1000</code>
  <result>OK</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>poll-req</command>
  <data>
    <notify>
      <code>1000</code>
      <result>OK</result>
      <timestamp>UTF čas</timestamp>
      <clTRID>vlastní id kód nalezeného příkazu</clTRID>
      <svTRID>id kód serveru pro nalezený příkaz</svTRID>
      <command>název příkazu</command>
      <id>id v POLL frontě</id>
    </notify>
  </data>
</response>
XML odpověď (prázdná fronta notifikací):
<response>
  <code>1003</code>
  <result>Empty notifications queue</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>poll-req</command>
</response>

Příkazu poll-ack zadáváte data (parametry):

  • id – ID aktuální POLL notifikace

Návratové hodnoty pro poll-ack jsou:

  • 1002 – označení notifikace za přijatou
  • 2151 – notifikace nenalezena

poll-ack JSON

JSON příkaz:

{
  "request": {
    "user": "váš@login.tld",
    "auth": "vygenerovaný autorizační řetězec",
    "command": "poll-ack",
    "clTRID": "vlastní id kód",
    "data": {
      "id": “ID přijaté POLL notifikace”
    }
  }
}
JSON odpověď:
{
  "response": {
    "code": “1002”,
    "result": "Notification acquired",
    "timestamp": "UTF čas",
    "clTRID": "vlastní id kód",
    "svTRID": "id kód serveru",
    "command": "poll-ack"
  }
}

poll-ack XML

XML dotaz:

<request>
  <user>váš@login.tld</user>
  <auth>vygenerovaný autorizační řetězec</auth>
  <command>poll-ack</command>
  <clTRID>vlastní id kód</clTRID>
  <data>
    <id>ID přijaté POLL notifikace</id>
  </data>
</request>
XML odpověď:
<response>
  <code>1002</code>
  <result>Notification acquired</result>
  <timestamp>UTF čas</timestamp>
  <clTRID>vlastní id kód</clTRID>
  <svTRID>id kód serveru</svTRID>
  <command>poll-ack</command>
</response>

Seznam návratových kódů

Návratové kódy v odpovědích a notifikacích Vám pomohou identifikovat průběh a případné chyby WAPI.

Základní rozdělení návratových kódů:

  • 1xxx – příkaz proběhl v pořádku.
  • 2xxx – nesprávný příkaz (například chybějící vstupní položky, jejich nesprávný formát či hodnota).
  • 3xxx – chyba cílového objektu – nelze provést požadovanou akci, objekt není ve správném stavu (například při pokusu o registraci již obsazené domény, …).
  • 4xxx – chyba při provádění příkazu (např. nedostupnost registru domén, chyba při komunikaci aj.)
  • 5xxx – interní chyba nebo stav našeho systému
  • x0xx, x1xx – obecné
  • x2xx – domény
  • x3xx – DNS

1xxx – v pořádku

  • 1000 OK
  • 1001 Request pending
  • 1002 Notification aquired
  • 1003 Empty notifications queue

12xx – systémové notifikace

  • 1200 Domain transfered out

2xxx – nesprávný příkaz – obecné

  • 2000 Request parse error
  • 2001 Invalid request – required parameter missing: user
  • 2002 Invalid request – required parameter missing: auth
  • 2003 Invalid request – required parameter missing: command
  • 2004 Invalid request – only one data element is allowed
  • 2005 Invalid request – clTRID parameter is too long
  • 2006 Requests limit exceeded
  • 2007 Invalid request – maximum request size exceeded
  • 2008 Invalid request – request is too complex
  • 2009 Invalid request – request is empty
  • 2010 Unknown command
  • 2011 Command disabled
  • 2050 Authentication failure
  • 2051 Access not allowed from this IP address
  • 2052 IP adress temporarily blocked due to too many failed requests
  • 2100 Required parameter missing
  • 2101 Parameters mismatch
  • 2102 Invalid request – input data encoding mismatch
  • 2150 Notification polling not allowed for this account
  • 2151 Notification does not exist

22xx – nesprávný příkaz – domény

  • 2201 Unsupported TLD
  • 2202 Invalid or unsupported domain name format
  • 2203 Invalid period
  • 2204 Invalid request – required parameter missing: owner_c
  • 2205 Invalid request – required parameter missing: domain
  • 2206 Invalid request – internal error
  • 2207 Invalid request – invalid format: owner_c
  • 2208 Invalid request – invalid format: admin_c
  • 2209 Invalid request – invalid format: nsset
  • 2210 Invalid request – invalid format: dns
  • 2211 Invalid request – too many DNS servers
  • 2212 Invalid request – required parameter missing: nsset
  • 2213 Invalid request – required parameter missing: dns
  • 2214 Invalid request – duplicate DNS entry
  • 2215 Invalid request – required parameter missing: auth info
  • 2216 Invalid or unsupported contact name format
  • 2217 Invalid request – invalid contact data
  • 2218 Invalid request – contact identificator is created automatically
  • 2219 Invalid request – required parameter missing: company
  • 2220 Invalid request – required parameter missing: fname
  • 2221 Invalid request – required parameter missing: lname
  • 2222 Invalid request – required parameter missing: email
  • 2223 Invalid request – invalid format: email
  • 2224 Invalid request – required parameter missing: email2
  • 2225 Invalid request – invalid format: email2
  • 2226 Invalid request – required parameter missing: phone
  • 2227 Invalid request – invalid format: phone
  • 2228 Invalid request – required parameter missing: fax
  • 2229 Invalid request – invalid format: fax
  • 2230 Invalid request – required parameter missing: ic
  • 2231 Invalid request – invalid format: ic
  • 2232 Invalid request – required parameter missing: dic
  • 2233 Invalid request – invalid format: dic
  • 2234 Invalid request – required parameter missing: addr_street
  • 2235 Invalid request – required parameter missing: addr_city
  • 2236 Invalid request – required parameter missing: addr_zip
  • 2237 Invalid request – required parameter missing: addr_country
  • 2238 Invalid request – invalid format: addr_country
  • 2239 Invalid request – required parameter missing: addr_state
  • 2240 Invalid request – required parameter missing in other data
  • 2241 Invalid request – invalid format in other data
  • 2242 Invalid request – invalid status
  • 2243 Invalid request – function SendAuthInfo is not allowed for this domain
  • 2244 Invalid request – contact transfer is not allowed for this TLD
  • 2245 Invalid request – rules agree missing
  • 2246 Invalid request – invalid format: rules agree
  • 2247 Invalid or unsupported NSSET name format
  • 2248 Invalid request – invalid NSSET data
  • 2249 Invalid request – NSSET transfer is not allowed for this TLD
  • 2250 Invalid request – domain check – max. query hour limit exceeded
  • 2251 Invalid request – domain check failed, try again later
  • 2252 Invalid request – domain transfer check – max. query hour limit exceeded
  • 2253 Invalid request – invalid format: addr_zip

23xx – nesprávný příkaz – DNS

  • 2301 Invalid request – WDNS domain – invalid type format
  • 2302 Invalid request – WDNS domain – required parameter missing: primary_ip
  • 2303 Invalid request – WDNS domain – invalid primary_ip format
  • 2304 Invalid request – WDNS domain – invalid axfr_enabled format
  • 2305 Invalid request – WDNS domain – required parameter missing: axfr_ips
  • 2306 Invalid request – WDNS domain – invalid axfr_ips format
  • 2308 Invalid request – WDNS domain – invalid ns format
  • 2309 Invalid request – WDNS domain – invalid rdtype format
  • 2310 Invalid request – WDNS domain – rows count limit reached
  • 2311 Invalid request – WDNS domain – invalid name format
  • 2312 Invalid request – WDNS domain – invalid name format for this rdtype
  • 2313 Invalid request – WDNS domain – invalid CNAME for this name
  • 2314 Invalid request – WDNS domain – invalid rdata format for this rdtype
  • 2315 Invalid request – WDNS domain – invalid TTL
  • 2316 Invalid request – WDNS domain – this row exists
  • 2317 Invalid request – WDNS domain – invalid TTL limit
  • 2318 Invalid request – WDNS domain – unsupported action for secondary domain
  • 2319 Invalid request – WDNS domain – unsupported action for primary domain
  • 2320 Invalid request – WDNS domain – invalid or unsupported new domain name format
  • 2321 Invalid request – WDNS domain – unsupported TLD of new domain name
  • 2322 Invalid request – WDNS domain – maximum user domains count exceeded

30xx – chyba cílového objektu – obecné (zálohový účet)

  • 3001 Billing error – invalid currency
  • 3002 Billing error – insufficient credit
  • 3003 Account error – undefined contact data

32xx – chyba cílového objektu – domény

  • 3201 Domain is registered
  • 3202 Domain is not available (unknown reason)
  • 3203 Domain is not available
  • 3204 Domain is not available, quarantine
  • 3205 Domain is not available, reserved
  • 3206 Domain is not available, blocked
  • 3207 registered by target registrar
  • 3208 Transfer not allowed, expiration too close
  • 3209 Domain send auth info failed
  • 3210 Domain send auth info failed: domain is not available
  • 3211 Contact owner_c is not available‘
  • 3212 Contact admin_c is not available
  • 3213 Contact send auth info failed: contact is not available
  • 3214 NSSET is not available
  • 3215 Contact send auth info failed
  • 3216 Domain info failed
  • 3217 NSSET send auth info failed
  • 3219 Domain already pending for transfer
  • 3220 Domain is already registered in our system
  • 3221 Domain create failed
  • 3222 Domain open failed
  • 3223 Domain authentication error
  • 3224 Domain renew failed
  • 3225 Domain update DNS failed
  • 3226 Domain transfer failed
  • 3227 Domain transfer failed – authorization error
  • 3228 Contact is not supported
  • 3229 Contact is not available
  • 3230 Contact create failed
  • 3231 Contact is already registered
  • 3232 Contact is not available (unknown reason)
  • 3233 Contact is not available
  • 3234 Contact is not available, quarantine
  • 3235 Contact is not available, reserved
  • 3236 Contact is not available, blocked
  • 3237 Contact is already registered by target registrar
  • 3238 Contact update – authorization error
  • 3239 Contact update failed
  • 3240 Contact transfer – authorization error
  • 3241 Contact transfer failed
  • 3242 NSSET is not supported
  • 3243 NSSET is not available
  • 3244 NSSET create failed
  • 3245 NSSET is registered
  • 3246 NSSET is not available (unknown reason)
  • 3247 NSSET is not available
  • 3248 NSSET is not available, quarantine
  • 3249 NSSET is not available, reserved
  • 3250 NSSET is not available, blocked
  • 3251 NSSET is registered by target registrar
  • 3252 NSSET update – authorization error
  • 3254 NSSET update failed
  • 3255 NSSET transfer – authorization error
  • 3256 NSSET transfer failed
  • 3257 NSSET send auth info failed: NSSET is not available

33xx – chyba cílového objektu – WEDOS DNS (WDNS)

  • 3301 WDNS domain delete failed
  • 3302 WDNS domain add failed
  • 3303 WDNS domain exists
  • 3304 WDNS domain update failed
  • 3305 WDNS domain user locked
  • 3306 WDNS domain is deleted
  • 3307 WDNS domain row add failed
  • 3308 WDNS domain row delete failed
  • 3309 WDNS domain row ID does not exists
  • 3310 WDNS domain row update failed
  • 3311 WDNS domain copy failed
  • 3312 WDNS new domain exists

40xx – chyba při provádění příkazu – obecné

  • 4000 Internal error
  • 4001 Internal exception
  • 4002 Billing error – credit deduction failed
  • 4003 Billing error – billing failed

42xx – chyba při provádění příkazu – domény

  • 4201 Domain check failed, try again later
  • 4202 Contact owner_c is not available, try again later
  • 4203 Contact admin_c is not available, try again later
  • 4204 NSSET is not available, try again later
  • 4205 Domain info failed, try again later
  • 4206 Domain transfer check failed, try again later
  • 4207 Domain create failed, try again later
  • 4208 Domain renew failed, try again later
  • 4209 Domain transfer failed, try again later
  • 4210 Domain update DNS failed, try again later
  • 4211 Contact check failed, try again later
  • 4212 Contact is not available, try again later
  • 4213 Contact create failed, try again later
  • 4214 Domain send auth info failed, try again later
  • 4215 Contact update failed, try again later
  • 4216 Contact transfer failed, try again later
  • 4217 Contact send auth info failed, try again later
  • 4218 NSSET check failed, try again later
  • 4219 NSSET create failed, try again later
  • 4220 NSSET update failed, try again later
  • 4221 NSSET transfer failed, try again later
  • 4222 NSSET send auth info failed, try again later

5xxx – interní chyby a stavy

  • 5000 Fatal error
  • 5001 Internal authentication error
  • 5002 Internal pricing error
  • 5003 Out of order

Slovníček pojmů

  • Asynchronní příkaz: Příkaz vykonávaný delší dobu, vrací jen hlášku o přijetí, další průběh sledujete prostřednictvím notifikací.
  • API: Application Programming Interface. Rozhraní, které Vám umožňuje vlastním kódem získávat data nebo spravovat aplikaci třetí strany.
  • Data: Obsah některých příkazů specifikující detailní nastavení. Struktura dat je daná konkrétním příkazem.
  • JSON: JavaScript Object Notation. Moderní způsob komunikace s API.
  • Návratový kód: Číslo identifikující odpověď WAPI na příkaz.
  • Notifikace: JSON nebo XML kód se zprávami o průběhu asynchronního příkazu.
  • Příkaz: Požadavek na WAPI.
  • Synchronní příkaz: Příkaz vykonaný prakticky okamžitě. Vrací plnohodnotnou odpověď, nepoužívá notifikace.
  • Systémové notifikace: Speciální druh notifikací o událostech v systému, WAPI je zasílá automaticky v nastaveném formátu.
  • UTF-8: Unicode Transformation Format. Rozšířený mezinárodní standard kódování znaků podporující velké množství písem.
  • WAPI: Rozhraní pro správu některých částí zákaznické administrace (zálohový účet, domény, DNS).
  • XML: eXtended Markup Language. Starší způsob komunikace s API.
Děkujeme za zpětnou vazbu!