Integrazione ISPmanager
NexDNS è pienamente compatibile con l’API DNSmanager, quindi può collegare NexDNS a ISPmanager come server DNS secondario (slave). ISPmanager rimane il server primario e, una volta consentito il trasferimento di zona (AXFR) dall'IP di origine NexDNS, trasferisce ogni zona a NexDNS, perciò continua a gestire i record in ISPmanager. L’intera API DNSmanager per domini e record è inoltre disponibile per l’uso diretto tramite un unico endpoint di compatibilità.
Endpoint di compatibilità
Tutte le chiamate API di compatibilità vengono instradate tramite un unico endpoint:
https://api.nexdns.tech/dnsmgr
Autenticazione
L’API di compatibilità si autentica con un login e un secret di integrazione dedicati, che genera in NexDNS in Account → Integrazioni (non la password del Suo account). ISPmanager li invia a ogni richiesta; può anche aprire una sessione manualmente con la funzione func=auth e riutilizzare il token restituito.
curl -X POST "https://api.nexdns.tech/dnsmgr?func=auth" \
-d "username=your_integration_login" \
-d "password=your_integration_secret"
Risposta di successo (XML):
<doc><auth id="SESSION_ID"/></doc>
È possibile richiedere l’output JSON aggiungendo out=json a qualsiasi richiesta. I tentativi di login ripetuti e falliti vengono temporaneamente limitati.
Funzioni supportate
L’API di compatibilità invia le operazioni in base al parametro di query func:
| Funzione | Descrizione |
|---|---|
auth |
Apre una sessione con il login e il secret di integrazione |
domain |
Elenca tutti i domini dell’account autenticato |
domain.edit |
Crea o aggiorna un dominio (con sok=ok); quando ISPmanager invia il proprio IP master, NexDNS crea una zona secondaria che si trasferisce da ISPmanager. Senza sok, restituisce le informazioni del dominio |
domain.delete |
Elimina un dominio (inserire elid=nome.dominio) |
domain.refresh |
Forza il ritrasferimento immediato di una zona secondaria da ISPmanager (inserire elid=nome.dominio). ISPmanager la richiama dopo ogni modifica dei record |
domain.record |
Elenca i record per un dominio (inserire elid=nome.dominio) |
domain.record.edit |
Crea o aggiorna un record (con sok=ok) |
domain.record.delete |
Elimina un record (inserire elid e rkey) |
dnsparam |
Ottiene la configurazione dei server dei nomi per il Suo account |
slaveserver |
Elenca i server dei nomi assegnati alle Sue zone |
Collegamento di ISPmanager a NexDNS
Per collegare ISPmanager a NexDNS:
- Registri un account NexDNS su nexdns.tech e scelga un piano che includa l’integrazione ISPmanager e il DNS secondario.
- Configuri l’integrazione in NexDNS: apra Account → Integrazioni, faccia clic su Genera secret, quindi attivi l’accesso ISPmanager (disattivato per impostazione predefinita). Il canale aggira l’autenticazione a due fattori, quindi, se vuole, lo limiti a un indirizzo IP fisso.
- In ISPmanager, aggiunga NexDNS come server DNS secondario (slave) per i Suoi domini (Nomi di dominio → server dei nomi secondari).
-
Inserisca i dettagli di connessione:
- Indirizzo:
https://api.nexdns.tech/dnsmgr - Login: il Suo login di integrazione da Account → Integrazioni
- Secret: il Suo secret di integrazione
- Indirizzo:
- Consenta il trasferimento di zona (AXFR): sul Suo server DNS primario, permetta il trasferimento di zona dall'IP di origine NexDNS mostrato in Account → Integrazioni. Senza questo, ISPmanager crea la zona secondaria ma resta vuota.
ISPmanager resta il primario e tu continui a gestire i record lì; NexDNS preleva ogni zona come secondaria tramite AXFR. Passaggio una tantum dalla tua parte: sul tuo server DNS primario consenti il trasferimento di zona (AXFR) dall'IP di origine NexDNS mostrato in Account → Integrazioni, altrimenti le zone restano vuote. L'autenticazione usa login e secret di integrazione da Account → Integrazioni; assicurati che l'accesso ISPmanager sia attivo e che il tuo piano includa il DNS secondario.
Parametri dei record
Quando si creano o aggiornano record tramite domain.record.edit, vengono utilizzati i seguenti parametri in base al tipo di record:
| Tipo | Parametri |
|---|---|
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 |
Per gli aggiornamenti, inserire rkey con l’ID del record esistente. Omettere rkey (o inviare vuoto) per creare un nuovo record.
Formato di output
Per impostazione predefinita, tutte le risposte vengono restituite come XML. Aggiungere out=json a qualsiasi richiesta per ricevere risposte JSON.
Gestione delle chiavi API
Le chiavi API vengono utilizzate per autenticare le richieste alla REST API NexDNS. Ogni chiave ha un ambito con permessi specifici e può opzionalmente avere una data di scadenza.
Creazione di una chiave API
È possibile creare chiavi API in due modi:
- Interfaccia del pannello: Andare su Impostazioni > Chiavi API e fare clic su "Crea chiave API"
- REST API:
POST /v1/account/api-keys(richiede una chiave API esistente)
Formato della chiave
Le chiavi API seguono il formato nxd_ seguito da 40 caratteri alfanumerici casuali. La chiave completa viene mostrata solo una volta al momento della creazione. NexDNS memorizza solo una forma sottoposta a hash della chiave, quindi non può essere recuperata in caso di smarrimento.
nxd_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcd
Permessi
A ogni chiave API deve essere assegnato almeno un permesso. Permessi disponibili:
| Permesso | Consente l’accesso a |
|---|---|
zones.read |
Elencare zone, visualizzare dettagli delle zone, esportare zone, visualizzare lo stato DNSSEC |
zones.write |
Creare zone, eliminare zone, abilitare/disabilitare DNSSEC |
records.read |
Elencare record, visualizzare singoli record |
records.write |
Creare, aggiornare ed eliminare record |
webhooks.read |
Elencare e visualizzare i webhook |
webhooks.write |
Creare, aggiornare ed eliminare i webhook |
Consigliamo di concedere a ogni chiave solo i permessi di cui ha bisogno.
Scadenza
Le chiavi API possono opzionalmente avere una data di scadenza. Quando impostata, la chiave cesserà di funzionare dopo la data specificata (verificata a mezzanotte UTC). Le chiavi scadute restituiscono una risposta 401 Unauthorized.
Revoca di una chiave
È possibile revocare qualsiasi chiave API in qualsiasi momento dalla pagina delle impostazioni o tramite l’API. La revoca è immediata e permanente – la chiave viene eliminata, non disabilitata.
curl -X DELETE "https://api.nexdns.tech/v1/account/api-keys/{id}" \
-H "Authorization: Bearer nxd_your_api_key"
Requisiti del piano
L’accesso API richiede un piano di abbonamento che includa la funzionalità api_access.
Limitazione delle richieste
L’API NexDNS applica limiti alle richieste per garantire un utilizzo equo e la stabilità del servizio. I limiti vengono applicati per account utente (non per chiave API), quindi l’utilizzo di più chiavi API non aumenta il limite.
Limiti
| Ambito | Limite | Finestra | Politica |
|---|---|---|---|
| Richieste API | 60 |
1 minuto | Finestra scorrevole |
Le richieste non autenticate (o con chiavi non valide) sono limitate per indirizzo IP.
Header di limitazione
Ogni risposta API include header che indicano lo stato attuale della limitazione:
| Intestazione | Descrizione |
|---|---|
X-RateLimit-Limit |
Numero massimo di richieste consentite nella finestra |
X-RateLimit-Remaining |
Numero di richieste rimanenti nella finestra corrente |
X-RateLimit-Reset |
Timestamp Unix di reset della finestra di limitazione |
Retry-After |
Secondi di attesa prima di riprovare (presente solo nelle risposte 429) |
Superamento del limite
Quando il limite viene superato, l’API restituisce 429 Too Many Requests:
{
"status": "error",
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests. Please retry after {timestamp}."
}
}