WEDOS REST API jest wciąż w fazie rozwoju. Dostęp i funkcje mogą ulec zmianie bez wcześniejszego powiadomienia.
Ten artykuł opisuje częściowo endpoint Domains WEDOS REST API. Domeny i Kontakty domen mają własne artykuły. Informacje o WEDOS API (WAPI) zawiera artykuł WAPI – Domeny WEDOS.
Podstawowe informacje o WEDOS REST API zawiera artykuł Podręcznik WEDOS REST API.
W tym artykule znajdują się następujące informacje:
- Dostęp do endpointu DNS
- Szczegóły endpointu DNS:
- Uwagi
Dostęp do endpointu NSSETs
NSSET to nazwany zestaw serwerów DNS, którym można zarządzać osobno i przypisać go do kilku domen naraz (używany głównie dla domen .cz). To API obejmuje zarządzanie NSSET-ami pod prefiksem /v2/nssets w adresie URL.
Podstawowy adres URL i uwierzytelnianie
Bazowy adres URL endpointów NSSETs to: https://api.wedos.com/v2
Cała komunikacja odbywa się przez HTTPS, a uwierzytelnianie wykorzystuje wyłącznie OAuth2: w każdym żądaniu należy wysłać nagłówek Authorization: Bearer <TOKEN> . Token musi mieć scope domains (jeden wspólny scope dla domen, kontaktów i NSSET-ów). Bez prawidłowego uwierzytelnienia API zwraca błąd.
Żądania z danymi (POST/PATCH) są wysyłane jako JSON (Content-Type: application/json).
Można dodać parametr example=1 do dowolnego endpointu (np. ?example=1, lub &example=1 jeśli adres URL zawiera już inne parametry zapytania). Zamiast wykonać żądanie, API zwraca wówczas przykładowe polecenie curl dla danego wywołania. Nawet w tym trybie wymagane jest prawidłowe uwierzytelnienie.
Przegląd endpointów
| Metoda | Endpoint | Opis |
|---|---|---|
| GET | /nssets/check | Sprawdzenie dostępności/istnienia NSSET-u |
| GET | /nssets/{name} | Informacje o NSSET-cie |
| POST | /nssets | Utworzenie NSSET-u |
| POST | /nssets/{name}/transfer | Transfer NSSET-u |
| POST | /nssets/{name}/auth-info/send | Wysłanie kodu autoryzacyjnego NSSET-u |
| PATCH | /nssets/{name} | Modyfikacja NSSET-u |
Format odpowiedzi
Odpowiedź API jest zawsze obiektem JSON z kluczami code (kod zwrotny), msg (opis tekstowy), request_id (identyfikator żądania) oraz, jeśli dotyczy, data (dane zwracane przy powodzeniu).
Oprócz specyficznych (biznesowych) kodów zwrotnych wymienionych niżej przy każdym wywołaniu wszystkie endpointy mogą zwrócić także te ogólne kody warstwy REST:
1000– żądanie zostało wykonane pomyślnie2000– brak lub nieprawidłowe uwierzytelnienie (token OAuth2 Bearer)2004– przekroczono maksymalny dopuszczalny rozmiar żądania (adres URL lub treść żądania)4000– nieznana/nieobsługiwana metoda lub akcja API4001– walidacja danych wejściowych nie powiodła się4005– brak zdefiniowanego przykładu dla bieżącej postaci adresu URL w trybieexample=1.6000– wewnętrzny błąd inicjalizacji przetwarzania żądania
GET /nssets/check
Sprawdza, czy handle NSSET-u jest wolny do użycia i jaki ma status w rejestrze.
Parametry:
tld– wymagany, query, string – TLD, dla której sprawdzany jest NSSETname– wymagany, query, string – handle NSSET-ureg_key– opcjonalny, query, string – identyfikator konkretnego rejestru
Kody zwrotne:
1000– NSSET jest dostępny do rejestracji2100– brak wymaganego parametru2101– nieprawidłowe parametry wejściowe2201– nieprawidłowa TLD2247– nieobsługiwany format NSSET-u3242– NSSET jest niedostępny3245– NSSET jest już zarejestrowany3248– NSSET niedostępny – kwarantanna3249– NSSET niedostępny – zarezerwowany3250– NSSET niedostępny – zablokowany3251– NSSET jest już zarejestrowany u nas4218– sprawdzenie nie powiodło się – błąd komunikacji5001– wewnętrzny błąd uwierzytelnienia
Dane odpowiedzi: Brak – wynik przekazują bezpośrednio pola odpowiedzi code/msg.
Przykład:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/nssets/check?tld=cz&name=NSSET'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g1"
}
GET /nssets/{name}
Zwraca szczegółowe informacje o NSSET-cie wraz z jego serwerami DNS.
Parametry:
name– wymagany, path – handle NSSET-utld– wymagany, query, string – TLDreg_key– opcjonalny, query, string – identyfikator konkretnego rejestru
Kody zwrotne:
1000– OK2100– brak wymaganego parametru2101– nieprawidłowe parametry wejściowe2201– nieprawidłowa TLD2209– błąd składni2247– nieobsługiwany format NSSET-u3214– nie udało się wczytać NSSET-u3242– NSSET jest niedostępny4204– błąd połączenia
Dane odpowiedzi:
nsset– obiekt z danymi NSSET-u:name– handle NSSET-ustatus– status NSSET-u w rejestrzereg_owner,reg_creator,reg_update– identyfikatory rejestratoracreated_date,updated_date,transfer_date– daty utworzenia/aktualizacji/transferutech_c– identyfikator kontaktu technicznegodns.server– tablica serwerów DNS NSSET-u (name,addr_ipv4,addr_ipv6)
Przykład:
curl -X GET -H 'Authorization: Bearer <TOKEN>' \
'https://api.wedos.com/v2/nssets/NSSET?tld=cz'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g2",
"data": {
"nsset": {
"name": "NSSET",
"status": "ok",
"tech_c": "CONTACT",
"created_date": "2024-01-10",
"dns": {
"server": [
{ "name": "ns.wedos.com", "addr_ipv4": null, "addr_ipv6": null },
{ "name": "ns.wedos.org", "addr_ipv4": null, "addr_ipv6": null }
]
}
}
}
}
POST /nssets
Tworzy nowy NSSET.
Parametry:
tld– wymagany, string – TLD, dla której tworzony jest NSSETname– opcjonalny, string – żądany handle NSSET-u; jeśli nie zostanie podany, jest generowany automatyczniedns– wymagany, array – tablica serwerów DNS w postaci[{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...](addr_ipv4/addr_ipv6są opcjonalne dla każdego serwera; ta sama postać co w POST /domains/create)tech_c– opcjonalny, string – identyfikator kontaktu technicznego; jeśli nie zostanie podany, używany jest domyślnyreg_key– opcjonalny, string – identyfikator konkretnego rejestru
Kody zwrotne:
1000– OK, NSSET utworzony2100– brak wymaganego parametru2101– nieprawidłowy format parametru wejściowego2201– nieprawidłowo podana TLD2210– nieprawidłowy format tablicy serwerów DNS2211– zbyt wiele serwerów DNS2216– nieprawidłowa składnia kontaktu2247– nieobsługiwany format NSSET-u3228– rejestr nie obsługuje kontaktów3229– błąd wczytywania kontaktu3242– NSSET jest niedostępny3244– utworzenie NSSET-u nie powiodło się3245– NSSET jest już zarejestrowany4212– błąd połączenia4218,4219– sprawdzenie/utworzenie nie powiodło się – błąd komunikacji
Dane odpowiedzi:
nsset– handle utworzonego NSSET-u
Przykład:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/nssets' \
--data '{
"tld": "cz",
"dns": [
{ "name": "ns.wedos.com" },
{ "name": "ns.wedos.org" }
]
}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g3",
"data": {
"nsset": "NSSET"
}
}
POST /nssets/{name}/transfer
Przenosi NSSET do nas od innego rejestratora.
Parametry:
name– wymagany, path – handle NSSET-utld– wymagany, string – TLDauth_info– wymagany, string – kod autoryzacyjny NSSET-ureg_key– opcjonalny, string – identyfikator konkretnego rejestru
Kody zwrotne:
1000– OK2100– brak wymaganego parametru2101– nieprawidłowe parametry wejściowe2201– nieobsługiwana TLD2215–auth_infonie został podany2247– nieprawidłowa nazwa NSSET-u2249– transfer NSSET-u nie jest dozwolony dla tej TLD3214– nie udało się wczytać NSSET-u3242– NSSET nie jest obsługiwany3251– NSSET jest już zarejestrowany u docelowego rejestratora3255– błąd autoryzacji3256– transfer NSSET-u nie powiódł się4221– transfer nie powiódł się – błąd połączenia
Dane odpowiedzi: Brak – wynik przekazują bezpośrednio pola odpowiedzi code/msg.
Przykład:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/nssets/NSSET/transfer' \
--data '{"tld": "cz", "auth_info": "AUTHCODE123"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g4"
}
POST /nssets/{name}/auth-info/send
Wysyła kod autoryzacyjny NSSET-u na adres e-mail kontaktu technicznego.
Parametry:
name– wymagany, path – handle NSSET-utld– wymagany, string – TLDreg_key– opcjonalny, string – identyfikator konkretnego rejestru
Kody zwrotne:
1000– OK, kod autoryzacyjny wysłany na adres e-mail kontaktu2100– brak wymaganego parametru2101– nieprawidłowe parametry wejściowe2201– nieobsługiwana TLD2243– wysłanie kodu autoryzacyjnego nie jest dozwolone dla tego NSSET-u3214– nie udało się wczytać NSSET-u3217– wysłanie kodu autoryzacyjnego nie powiodło się3242– NSSET jest niedostępny4222– wysłanie nie powiodło się – błąd połączenia5001– wewnętrzny błąd autoryzacji
Dane odpowiedzi: Brak – wynik przekazują bezpośrednio pola odpowiedzi code/msg.
Przykład:
curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/nssets/NSSET/auth-info/send' \
--data '{"tld": "cz"}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g5"
}
PATCH /nssets/{name}
Modyfikuje istniejący NSSET – jego serwery DNS, kontakt techniczny lub zakres testów.
Parametry:
name– wymagany, path – handle NSSET-utld– wymagany, string – TLDdns– wymagany, array – tablica serwerów DNS w tej samej postaci co w POST /nssetsauth_info– wymagany, string – kod autoryzacyjny NSSET-utech_c– opcjonalny, string – identyfikator kontaktu technicznego; jeśli nie zostanie podany, pozostaje bez zmianreg_key– opcjonalny, string – identyfikator konkretnego rejestrureport_level– opcjonalny – zakres testów wykonywanych przez rejestr podczas modyfikacji
Kody zwrotne:
1000– OK2100– brak wymaganego parametru2101– nieprawidłowe parametry wejściowe2201– nieprawidłowo podana TLD2209– błąd składni2210– nieprawidłowy format tablicy serwerów DNS2211– zbyt wiele serwerów DNS2216– nieprawidłowa składnia kontaktu2247– nieprawidłowy NSSET3214– nie udało się wczytać NSSET-u3242– NSSET nie jest obsługiwany przez tę domenę/ten rejestr3252– błąd autoryzacji3254– modyfikacja NSSET-u nie powiodła się4204,4220– NSSET niedostępny/modyfikacja nie powiodła się – błąd połączenia4212– kontakt niedostępny – błąd połączenia
Dane odpowiedzi: Brak – wynik przekazują bezpośrednio pola odpowiedzi code/msg.
Przykład:
curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
'https://api.wedos.com/v2/nssets/NSSET-1' \
--data '{
"tld": "cz",
"auth_info": "AUTHCODE123",
"dns": [
{ "name": "ns.wedos.com" },
{ "name": "ns.wedos.org" }
]
}'
{
"code": 1000,
"msg": "OK",
"request_id": "a1b2c3g6"
}
Uwagi
- Endpointy pod
/v2/domains,/v2/contactsi/v2/nssetssą obsługiwane przez jedną wspólną klasę serwera i korzystają ze wspólnego scope OAuth2,domains. Z punktu widzenia klienta są to trzy logicznie odrębne, ale administracyjnie zjednoczone API. - Parametr
dnspodawany jest jako zwykła tablica obiektów{"name": "...", "addr_ipv4": "...", "addr_ipv6": "..."}. Wewnętrznie, przed wywołaniem WAPI, jest konwertowany do starszego formatu używanego przez wcześniejsze wersje API. Elementyaddr_ipv4iaddr_ipv6są opcjonalne dla każdego serwera. - W przypadku NSSET-ów parametr
tldjest zawsze wymagany, ponieważ ten sam handle (name) może teoretycznie istnieć w kilku rejestrach, a walidacja/format danych różni się w zależności od TLD/rejestru.
