Przejdź do głównej treści

Integracje

Integracja z ISPmanager

NexDNS jest w pełni kompatybilny z API DNSmanager, dzięki czemu możesz podłączyć NexDNS do ISPmanager jako pomocniczy (slave) serwer DNS. ISPmanager pozostaje serwerem podstawowym i, gdy zezwolisz na transfer strefy (AXFR) z adresu IP źródłowego NexDNS, przesyła każdą strefę do NexDNS, więc nadal zarządzasz rekordami w ISPmanager. Pełne API domen i rekordów DNSmanager jest również dostępne do bezpośredniego użycia przez pojedynczy endpoint kompatybilności.

Punkt końcowy (endpoint)

Wszystkie wywołania API kompatybilności są kierowane przez pojedynczy endpoint:

https://api.nexdns.tech/dnsmgr

Autoryzacja

API kompatybilności uwierzytelnia się za pomocą dedykowanego loginu i sekretu integracji, które generujesz w NexDNS w sekcji Konto → Integracje (a nie hasłem do konta). ISPmanager wysyła je przy każdym zapytaniu; możesz też otworzyć sesję ręcznie funkcją func=auth i ponownie użyć zwróconego tokenu.

curl -X POST "https://api.nexdns.tech/dnsmgr?func=auth" \
    -d "username=your_integration_login" \
    -d "password=your_integration_secret"

Pomyślna odpowiedź (XML):

<doc><auth id="SESSION_ID"/></doc>

Możesz zażądać formatu wyjściowego JSON, dodając out=json do dowolnego zapytania. Powtarzające się nieudane próby logowania są tymczasowo ograniczane.

Obsługiwane funkcje

API kompatybilności kieruje operacje na podstawie parametru zapytania func:

Funkcja Opis
auth Otwórz sesję za pomocą loginu i sekretu integracji
domain Wyświetl wszystkie domeny uwierzytelnionego konta
domain.edit Utwórz lub zaktualizuj domenę (z sok=ok); gdy ISPmanager wyśle adres IP swojego serwera podstawowego, NexDNS tworzy strefę pomocniczą przesyłaną z ISPmanager. Bez sok zwraca informacje o domenie
domain.delete Usuń domenę (przekaż elid=nazwa.domeny)
domain.refresh Wymuś natychmiastowe ponowne przesłanie strefy pomocniczej z ISPmanager (przekaż elid=nazwa.domeny). ISPmanager wywołuje to po zmianie rekordów
domain.record Wyświetl rekordy domeny (przekaż elid=nazwa.domeny)
domain.record.edit Utwórz lub zaktualizuj rekord (z sok=ok)
domain.record.delete Usuń rekord (przekaż elid i rkey)
dnsparam Pobierz konfigurację serwerów nazw dla Twojego konta
slaveserver Wyświetl serwery nazw przypisane do Twoich stref

Podłączanie ISPmanager do NexDNS

Aby połączyć ISPmanager z NexDNS:

  1. Zarejestruj konto NexDNS na nexdns.tech i wybierz plan obejmujący integrację z ISPmanager oraz pomocniczy DNS.
  2. Skonfiguruj integrację w NexDNS: otwórz Konto → Integracje, kliknij Wygeneruj sekret, a następnie włącz dostęp ISPmanager (domyślnie wyłączony). Ten kanał pomija uwierzytelnianie dwuskładnikowe, więc opcjonalnie ogranicz go do stałego adresu IP.
  3. W ISPmanager dodaj NexDNS jako pomocniczy (slave) serwer DNS dla swoich domen (Nazwy domen → pomocnicze serwery nazw).
  4. Wprowadź dane połączenia:
    • Adres URL: https://api.nexdns.tech/dnsmgr
    • Login: Twój login integracji z sekcji Konto → Integracje
    • Sekret: Twój sekret integracji
  5. Zezwól na transfer strefy (AXFR): na swoim podstawowym serwerze DNS zezwól na transfer strefy z adresu IP źródłowego NexDNS pokazanego w sekcji Konto → Integracje. Bez tego ISPmanager utworzy strefę podrzędną, ale pozostanie ona pusta.

ISPmanager pozostaje serwerem podstawowym i nadal zarządzasz rekordami w nim; NexDNS pobiera każdą strefę jako podrzędną przez AXFR. Jednorazowy krok po Twojej stronie: na swoim podstawowym serwerze DNS zezwól na transfer strefy (AXFR) z adresu IP źródłowego NexDNS pokazanego w sekcji Konto → Integracje, w przeciwnym razie strefy pozostaną puste. Uwierzytelnianie używa loginu i sekretu integracji z Konto → Integracje; upewnij się, że dostęp ISPmanager jest włączony, a Twój plan obejmuje DNS podrzędny.

Parametry rekordów

Podczas tworzenia lub aktualizacji rekordów za pomocą domain.record.edit używane są następujące parametry w zależności od typu rekordu:

Typ Parametry
A / AAAA name, ip (or value), ttl
CNAME / NS / PTR name, value, ttl
MX name, value, priority, ttl
SRV name, value, priority, weight, port, ttl
TXT name, value, ttl
CAA name, caa_value (or value), flag, tag, ttl

Przy aktualizacji przekaż rkey z istniejącym ID rekordu. Pomiń rkey (lub wyślij pusty), aby utworzyć nowy rekord.

Format wyjściowy

Domyślnie wszystkie odpowiedzi są zwracane jako XML. Dodaj out=json do dowolnego zapytania, aby otrzymać odpowiedzi JSON.

Zarządzanie kluczami API

Klucze API służą do autoryzacji zapytań do REST API NexDNS. Każdy klucz ma określony zakres uprawnień i może opcjonalnie mieć datę wygaśnięcia.

Tworzenie klucza API

Klucze API można tworzyć na dwa sposoby:

  • Interfejs panelu: Przejdź do Ustawienia > Klucze API i kliknij „Utwórz klucz API"
  • REST API: POST /v1/account/api-keys (wymaga istniejącego klucza API)

Format klucza

Klucze API mają format nxd_ po którym następuje 40 losowych znaków alfanumerycznych. Pełny klucz jest wyświetlany tylko raz podczas tworzenia. NexDNS przechowuje wyłącznie zahaszowaną postać klucza, więc nie można go odzyskać w razie utraty.

nxd_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcd

Uprawnienia

Każdy klucz API musi mieć przypisane co najmniej jedno uprawnienie. Dostępne uprawnienia:

Uprawnienie Zapewnia dostęp do
zones.read Wyświetlanie stref, szczegółów stref, eksport stref, status DNSSEC
zones.write Tworzenie stref, usuwanie stref, włączanie/wyłączanie DNSSEC
records.read Wyświetlanie rekordów, podgląd poszczególnych rekordów
records.write Tworzenie, aktualizowanie i usuwanie rekordów
webhooks.read Wyświetlanie i podgląd webhooków
webhooks.write Tworzenie, aktualizowanie i usuwanie webhooków

Zalecamy nadawanie każdemu kluczowi tylko tych uprawnień, których potrzebuje.

Wygaśnięcie

Klucze API mogą opcjonalnie mieć datę wygaśnięcia. Po ustawionej dacie klucz przestanie działać (sprawdzane o północy UTC). Wygasłe klucze zwracają odpowiedź 401 Unauthorized.

Unieważnianie klucza

Możesz unieważnić dowolny klucz API w dowolnym momencie ze strony Ustawień lub za pomocą API. Unieważnienie jest natychmiastowe i trwałe – klucz jest usuwany, a nie dezaktywowany.

curl -X DELETE "https://api.nexdns.tech/v1/account/api-keys/{id}" \
    -H "Authorization: Bearer nxd_your_api_key"

Wymagania planu

Dostęp do API wymaga planu subskrypcji zawierającego funkcję api_access.

Limit zapytań

API NexDNS egzekwuje limity zapytań, aby zapewnić sprawiedliwe użytkowanie i stabilność usługi. Limity zapytań są stosowane na konto użytkownika (nie na klucz API), więc używanie wielu kluczy API nie zwiększa limitu.

Limity

Zakres Wartość limitu Okno Polityka
Zapytania API 60 1 minuta Okno przesuwne

Nieuwierzytelnione zapytania (lub zapytania z nieprawidłowymi kluczami) mają limit zapytań oparty na adresie IP.

Nagłówki limitów zapytań

Każda odpowiedź API zawiera nagłówki wskazujące bieżący status limitów zapytań:

Nagłówek Opis
X-RateLimit-Limit Maksymalna liczba zapytań dozwolonych w oknie
X-RateLimit-Remaining Liczba pozostałych zapytań w bieżącym oknie
X-RateLimit-Reset Znacznik czasu Unix, kiedy okno limitu zapytań zostanie zresetowane
Retry-After Sekundy do odczekania przed ponowną próbą (obecny tylko w odpowiedziach 429)

Przekroczenie limitu

Po przekroczeniu limitu zapytań API zwraca 429 Too Many Requests:

{
    "status": "error",
    "error": {
        "code": "rate_limit_exceeded",
        "message": "Too many requests. Please retry after {timestamp}."
    }
}

Używamy cookies, aby zapewnić prawidłowe działanie tej strony i poprawić Twoje doświadczenia. Niektóre cookies są ściśle niezbędne do działania strony, a inne są opcjonalne.

Możesz zaakceptować wszystkie cookies lub ograniczyć wybór do ściśle niezbędnych. Szczegóły znajdziesz w naszej Polityka prywatności i Polityka cookies.