Vai al contenuto principale

Integrazioni

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:

  1. Registri un account NexDNS su nexdns.tech e scelga un piano che includa l’integrazione ISPmanager e il DNS secondario.
  2. 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.
  3. In ISPmanager, aggiunga NexDNS come server DNS secondario (slave) per i Suoi domini (Nomi di dominio → server dei nomi secondari).
  4. 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
  5. 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}."
    }
}

Utilizziamo cookie per garantire il corretto funzionamento di questo sito web e migliorare la Sua esperienza. Alcuni cookie sono strettamente necessari per il funzionamento del sito, mentre altri sono opzionali.

Può accettare tutti i cookie o limitare la scelta a quelli strettamente necessari. Per maggiori dettagli, consulti la nostra Informativa sulla privacy e la Politica sui cookie.