Saltar al contenido principal

Integraciones

Integración con ISPmanager

NexDNS es totalmente compatible con la API de DNSmanager, por lo que puedes conectar NexDNS a ISPmanager como servidor DNS secundario (esclavo). ISPmanager sigue siendo el primario y, una vez que permitas la transferencia de zona (AXFR) desde la IP de origen de NexDNS, transfiere cada zona a NexDNS, de modo que continúas gestionando los registros en ISPmanager. La API completa de dominios y registros de DNSmanager también está disponible para uso directo a través de un único endpoint de compatibilidad.

Punto de acceso

Todas las llamadas a la API de compatibilidad se enrutan a través de un único endpoint:

https://api.nexdns.tech/dnsmgr

Autenticación

La API de compatibilidad se autentica con un inicio de sesión de integración y un secreto dedicados que generas en NexDNS en Cuenta → Integraciones (no la contraseña de tu cuenta). ISPmanager los envía en cada solicitud; también puedes abrir una sesión manualmente con la función func=auth y reutilizar el token devuelto.

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

Respuesta exitosa (XML):

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

Puedes solicitar la salida en JSON agregando out=json a cualquier solicitud. Los intentos de inicio de sesión fallidos repetidos se limitan temporalmente.

Funciones compatibles

La API de compatibilidad despacha operaciones basándose en el parámetro de consulta func:

Función Descripción
auth Abrir una sesión con el inicio de sesión de integración y el secreto
domain Listar todos los dominios de la cuenta autenticada
domain.edit Crear o actualizar un dominio (con sok=ok); cuando ISPmanager envía la IP de su maestro, NexDNS crea una zona secundaria que se transfiere desde ISPmanager. Sin sok, devuelve la información del dominio
domain.delete Eliminar un dominio (pase elid=domain.name)
domain.refresh Forzar a una zona secundaria a volver a transferirse desde ISPmanager de inmediato (pase elid=domain.name). ISPmanager llama a esto después de que cambian los registros
domain.record Listar registros de un dominio (pase elid=domain.name)
domain.record.edit Crear o actualizar un registro (con sok=ok)
domain.record.delete Eliminar un registro (pase elid y rkey)
dnsparam Obtener la configuración de servidores de nombres de tu cuenta
slaveserver Listar los servidores de nombres asignados a tus zonas

Conectar ISPmanager a NexDNS

Para conectar ISPmanager a NexDNS:

  1. Registra una cuenta NexDNS en nexdns.tech y elige un plan que incluya la integración con ISPmanager y DNS secundario.
  2. Configura la integración en NexDNS: abre Cuenta → Integraciones, haz clic en Generar secreto y luego activa el acceso de ISPmanager (desactivado por defecto). El canal omite la autenticación de dos factores, así que, opcionalmente, fíjalo a una dirección IP fija.
  3. En ISPmanager, añade NexDNS como servidor DNS secundario (esclavo) para tus dominios (Nombres de dominio → servidores de nombres secundarios).
  4. Introduce los datos de conexión:
    • Introduce la URL: https://api.nexdns.tech/dnsmgr
    • Inicio de sesión: tu inicio de sesión de integración de Cuenta → Integraciones
    • Secreto: tu secreto de integración
  5. Permite la transferencia de zona (AXFR): en tu servidor DNS primario, autoriza la transferencia de zona desde la IP de origen de NexDNS que se muestra en Cuenta → Integraciones. Sin esto, ISPmanager crea la zona secundaria pero permanece vacía.

ISPmanager sigue siendo el primario y usted continúa gestionando los registros allí; NexDNS obtiene cada zona como secundaria mediante AXFR. Paso único por su parte: en su servidor DNS primario, permita la transferencia de zona (AXFR) desde la IP de origen de NexDNS que se muestra en Cuenta → Integraciones; de lo contrario, las zonas aparecerán vacías. La autenticación usa el login y el secreto de integración de Cuenta → Integraciones; asegúrese de que el acceso de ISPmanager esté activado y de que su plan incluya DNS secundario.

Parámetros de registros

Al crear o actualizar registros a través de domain.record.edit, se utilizan los siguientes parámetros dependiendo del tipo de registro:

Tipo Parámetros
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

Para actualizaciones, pasa rkey con el ID del registro existente. Omite rkey (o envíalo vacío) para crear un nuevo registro.

Formato de salida

De forma predeterminada, todas las respuestas se devuelven como XML. Añade out=json a cualquier solicitud para recibir respuestas en JSON en su lugar.

Gestión de claves API

Las claves API se utilizan para autenticar solicitudes a la REST API de NexDNS. Cada clave tiene permisos específicos asignados y puede tener opcionalmente una fecha de expiración.

Crear una clave API

Puedes crear claves API de dos maneras:

  • Panel UI: ve a Settings > API Keys y haz clic en "Create API Key"
  • REST API: POST /v1/account/api-keys (requiere una clave API existente)

Formato de clave

Las claves API siguen el formato nxd_ seguido de 40 caracteres alfanuméricos aleatorios. La clave completa se muestra solo una vez en el momento de la creación. NexDNS almacena únicamente una forma hasheada de la clave, por lo que no puede recuperarse si se pierde.

nxd_aBcDeFgHiJkLmNoPqRsTuVwXyZ0123456789abcd

Permisos

Cada clave API debe tener asignado al menos un permiso. Permisos disponibles:

Permiso Otorga acceso a
zones.read Listar zonas, ver detalles de zonas, exportar zonas, ver estado DNSSEC
zones.write Crear zonas, eliminar zonas, habilitar/deshabilitar DNSSEC
records.read Listar registros, ver registros individuales
records.write Crear, actualizar y eliminar registros
webhooks.read Listar y ver webhooks
webhooks.write Crear, actualizar y eliminar webhooks

Recomendamos otorgar a cada clave solo los permisos que necesita.

Expiración

Las claves API pueden tener opcionalmente una fecha de expiración. Cuando se establece, la clave dejará de funcionar después de la fecha especificada (verificada a medianoche UTC). Las claves expiradas devuelven una respuesta 401 Unauthorized.

Revocar una clave

Puedes revocar cualquier clave API en cualquier momento desde la página de Ajustes o a través de la API. La revocación es inmediata y permanente – la clave se elimina, no se deshabilita.

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

Requisitos de plan

El acceso a la API requiere un plan de suscripción que incluya la función api_access.

Limitación de velocidad

La API de NexDNS aplica límites de velocidad para garantizar un uso justo y la estabilidad del servicio. Los límites se aplican por cuenta de usuario (no por clave API), por lo que usar múltiples claves API no aumenta tu límite.

Límites

Alcance Límite Ventana Política
Solicitudes API 60 1 minuto Ventana deslizante

Las solicitudes no autenticadas (o con claves inválidas) se limitan por dirección IP.

Encabezados de límite de velocidad

Cada respuesta de la API incluye encabezados que indican el estado actual de tu límite de velocidad:

Encabezado Descripción
X-RateLimit-Limit Número máximo de solicitudes permitidas en la ventana
X-RateLimit-Remaining Número de solicitudes restantes en la ventana actual
X-RateLimit-Reset Marca de tiempo Unix cuando se reinicia la ventana de límite de velocidad
Retry-After Segundos a esperar antes de reintentar (solo presente en respuestas 429)

Exceder el límite

Cuando se excede el límite de velocidad, la API devuelve 429 Too Many Requests:

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

Utilizamos cookies para garantizar el correcto funcionamiento de este sitio web y mejorar su experiencia. Algunas cookies son estrictamente necesarias para el funcionamiento del sitio, mientras que otras son opcionales.

Puede aceptar todas las cookies o limitar su elección a las estrictamente necesarias. Para más información, consulte nuestra Política de privacidad y nuestra Política de cookies.