API de cliente FastDDNS

Actualiza automáticamente tu nombre de host DNS dinámico cada vez que cambie tu dirección IP.

Resumen

La API Cliente FastDDNS permite que cualquier dispositivo compatible con HTTP — routers, cámaras IP, scripts o software dedicado de actualización — mantenga tu nombre DNS apuntando a tu dirección IP actual. La API sigue un diseño sencillo de petición GET: tu cliente envía credenciales y un nombre de host, y el servidor responde con un breve código de estado que indica el resultado.

El servidor detecta automáticamente la dirección IP pública del cliente a partir de la conexión entrante. No se necesitan parámetros adicionales para especificar tu IP.

i️ Tanto HTTP como HTTPS son compatibles. Se recomienda encarecidamente HTTPS para proteger tus credenciales durante el tránsito.

Autenticación

La API soporta dos métodos de autenticación. Ambos son aceptados por igual: elige el que sea más fácil de configurar en tu dispositivo o router.

🔑 Credenciales por nombre de anfitrión: Cada nombre de host que crees en FastDDNS recibe su propio user_name y user_pass dedicados. Estas credenciales pueden solo actualiza ese nombre de host específico y no puede usarse para iniciar sesión en el panel de gestión de FastDDNS. Este diseño limita el impacto si las credenciales de un dispositivo se ven comprometidas.

Método 1 — Autenticación básica HTTP (URL-embedded)

Las credenciales se incrustan en la URL usando el formato estándar user:password@host. Esto está ampliamente soportado por routers, cámaras y bibliotecas de clientes HTTP. Usa la clave del cliente Updater de tu panel como contraseña.

https://{user_name}:{user_pass}@client.fastddns.net/?hostname={hostname}


Campo Descripción Dónde encontrarlo
{user_name} El nombre de usuario asignado a este nombre de host específico en el momento de la creación. Panel → nombres de host → Detalles del Panel de FastDDNS
{user_pass} La contraseña asignada a este nombre de host específico en el momento de la creación. Panel → nombres de host → Detalles del Panel de FastDDNS
{hostname} El nombre de host totalmente cualificado para actualizar, por ejemplo, testhost.fastddns.org. Panel → nombres de host → Detalles del Panel de FastDDNS

Método 2 — Consultar parámetros de cadena

Las credenciales se transmiten como parámetros de consulta simples junto con hostname. Esto es útil para dispositivos y firmware que no pueden configurar cabeceras HTTP Basic Auth pero permiten una cadena de URL completamente personalizada.

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}
Parámetro Tipo Descripción
{user_name}
 

string El nombre de usuario asignado a este nombre de host cuando se creó.
{user_pass} string La contraseña asignada a este nombre de host cuando se creó.
{hostname} string El nombre de host totalmente cualificado para actualizar, por ejemplo, testhost.fastddns.org.

Ejemplo usando autenticación de la cadena de consulta:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832
⚠️ Al usar autenticación de cadenas de consulta, siempre prefiere HTTPS para que las credenciales no se transmitan en texto plano. HTTP está disponible pero solo debe usarse en redes locales de confianza o para pruebas.

Actualización de Perform

Envía una sola solicitud GET para actualizar la dirección IP de un nombre de host registrado en tu cuenta. Cada solicitud actualiza un nombre de host a la vez.

Punto final

GET https://client.fastddns.net/
También accesible vía HTTP simple — sustituye https por http.

Formato URL — Método 1: Autenticación básica HTTP

https://{user_name}:{user_pass}@client.fastddns.net/?hostname={hostname}

Formato URL — Método 2: Cadena de consulta

https://client.fastddns.net/?hostname={hostname}&user_name={user_name}&user_pass={user_pass}

Parámetros de consulta

Parámetro Tipo Descripción
hostname Obligatorio string El nombre de host totalmente calificado (FQDN) para actualizar, por ejemplo, myhome.fastddns.net o testhost.fastddns.org. Solo se admite un nombre de host por solicitud.
user_name Método 2 string El nombre de usuario de este nombre de host. Es necesario al usar autenticación por cadena de consulta (Método 2). No es necesario cuando se usa autenticación HTTP Basic (Método 1).
user_pass Método 2 string La contraseña de este nombre de host. Es necesario al usar autenticación por cadena de consulta (Método 2). No es necesario cuando se usa autenticación HTTP Basic (Método 1).
Autodetección IP: El servidor utiliza la IP de origen de la conexión TCP entrante para determinar tu dirección IP pública. No necesitas proporcionar un parámetro myip.

Ejemplos de solicitudes

Método 1 — Autenticación básica HTTP sobre HTTPS:

https://fastddnstest:569832@client.fastddns.net/?hostname=testhost.fastddns.org

Método 2 — Consulta cadena sobre HTTPS:

https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832

Usando HTTP simple (solo pruebas / redes confiables):

http://fastddnstest:569832@client.fastddns.net/?hostname=testhost.fastddns.org

Códigos de retorno

Todas las respuestas de actualización devolven el estado HTTP 200 OK con un cuerpo de texto plano. Tu cliente debe analizar el cuerpo de este texto para determinar el resultado real de la actualización.

good {ip}

Actualización exitosa

El registro del nombre de host se ha actualizado a la dirección IP detectada. La IP real se incluye en la respuesta, por ejemplo, good 203.0.113.45. Esta es la respuesta esperada cuando tu IP ha cambiado.

nochg {ip}

No se requiere ningún cambio

El nombre de host ya apunta a la dirección IP detectada — no fue necesaria ninguna actualización. Se incluye la IP actual, por ejemplo, nochg 203.0.113.45. Esta es una respuesta normal, que no es un error.

badauth

Autenticación fallida

El nombre de usuario o la clave del cliente del actualizador son incorrectos o han sido revocados. Verifica tus credenciales en el panel de control de FastDDNS. No lo intentes automáticamente — arregla primero las credenciales.

nohost

Nombre de anfitrión no encontrado

El nombre de host especificado no existe en tu cuenta o no es elegible para actualizaciones dinámicas. Revisa la ortografía del nombre de host y confirma que está registrado en tu cuenta.

911

Error del servidor

Se produjo un error interno en el lado del servidor FastDDNS. Espera al menos 5 minutos antes de volver a intentarlo. Si el problema persiste, consulta la página de estado de FastDDNS o contacta con el soporte.

Resumen de la respuesta

Texto de respuesta Estado HTTP Significado Acción requerida
good {ip} 200 IP actualizado con éxito Ninguno — actualización completada
nochg {ip} 200 IP sin cambios, sin actualización Ninguno — ya está vigente
badauth 200 Credenciales inválidas Comprobar nombre de usuario / clave de cliente
nohost 200 Nombre de host no registrado Verificar nombre de host en el panel de control
911 200 Error en el lado del servidor Vuelve a intentarlo después de 5+ minutos
⚠️ Importante para la automatización: Siempre analiza el Texto principal de la respuesta , no solo el código de estado HTTP. La API siempre devuelve 200 — el cuerpo del texto te indica si la actualización realmente tuvo éxito.

Obtener IP del cliente

FastDDNS proporciona un punto final de utilidad sencillo que devuelve la dirección IP pública tal y como la ve el servidor. Esto es útil para depuración, para verificar desde qué IP envía tu dispositivo o para usarse en scripts personalizados antes de llamar al endpoint de actualización.

Punto final

GET https://client.fastddns.net/dyndns/getip
No se requiere autenticación. También accesible mediante HTTP simple.

Respuesta

Devuelve HTTP 200 OK con la dirección IP pública detectada como texto plano en el cuerpo de respuesta.

# Example response body
203.0.113.45RESPONSE

Ejemplos de solicitudes

https://client.fastddns.net/dyndns/getip
http://client.fastddns.net/dyndns/getip

Usando curl:

curl https://client.fastddns.net/dyndns/getipSHELL

Ejemplos de código

Shell / cURL

# Method 1: HTTP Basic Auth (HTTPS, IP auto-detected)
curl "https://fastddnstest:[email protected]/?hostname=testhost.fastddns.org"
# Method 2: Query string credentials
curl "https://client.fastddns.net/?hostname=testhost.fastddns.org&user_name=fastddnstest&user_pass=569832"
# Check what IP the server sees from your device
curl "https://client.fastddns.net/dyndns/getip"SHELL

Python

import requests
HOSTNAME  = "testhost.fastddns.org"
USER_NAME = "fastddnstest"
USER_PASS = "569832"
# Method 1: HTTP Basic Auth
resp = requests.get(
    "https://client.fastddns.net/",
    auth=(USER_NAME, USER_PASS),
    params={"hostname": HOSTNAME}
)
# Method 2: Query string
# resp = requests.get("https://client.fastddns.net/", params={
#     "hostname": HOSTNAME, "user_name": USER_NAME, "user_pass": USER_PASS
# })
body = resp.text.strip()
if body.startswith("good"):
    print(f"Updated successfully: {body}")
elif body.startswith("nochg"):
    print(f"No change needed: {body}")
elif body == "badauth":
    print("Authentication failed. Check credentials.")
elif body == "nohost":
    print("Hostname not found.")
elif body == "911":
    print("Server error. Try again later.")PYTHON

PHP

<?php
$hostname  = 'testhost.fastddns.org';
$user_name = 'fastddnstest';
$user_pass = '569832';
// Method 1: HTTP Basic Auth embedded in URL
$url = "https://{$user_name}:{$user_pass}@client.fastddns.net/?hostname=" . urlencode($hostname);
// Method 2: Query string credentials
// $url = "https://client.fastddns.net/?hostname=" . urlencode($hostname)
//      . "&user_name=" . urlencode($user_name)
//      . "&user_pass=" . urlencode($user_pass);
$ctx = stream_context_create(['http' => ['timeout' => 10]]);
$body = trim(file_get_contents($url, false, $ctx));
switch (true) {
    case str_starts_with($body, 'good'):
        echo "Updated: {$body}\n"; break;
    case str_starts_with($body, 'nochg'):
        echo "No change: {$body}\n"; break;
    case $body === 'badauth':
        echo "Auth failed. Check hostname credentials.\n"; break;
    case $body === 'nohost':
        echo "Hostname not found.\n"; break;
    case $body === '911':
        echo "Server error, retry later.\n"; break;
}PHP

Bash (Cron / Script de router)

#!/bin/bash
HOSTNAME="testhost.fastddns.org"
USER_NAME="fastddnstest"
USER_PASS="569832"
# Method 1: HTTP Basic Auth
RESULT=$(curl -s "https://${USER_NAME}:${USER_PASS}@client.fastddns.net/?hostname=${HOSTNAME}")
# Method 2: Query string (uncomment to use instead)
# RESULT=$(curl -s "https://client.fastddns.net/?hostname=${HOSTNAME}&user_name=${USER_NAME}&user_pass=${USER_PASS}")
case "$RESULT" in
  good*)   echo "[OK] $RESULT" ;;
  nochg*)  echo "[OK] $RESULT" ;;
  badauth) echo "[ERR] Bad credentials — check hostname user/pass"; exit 1 ;;
  nohost)  echo "[ERR] Hostname not found"; exit 1 ;;
  911)     echo "[ERR] Server error, retry later"; exit 1 ;;
  *)       echo "[WARN] Unknown response: $RESULT" ;;
esacBASH

Resolución de problemas

Recibo badauth

Los user_name o user_pass proporcionados no coinciden con las credenciales asignadas a ese nombre de host. Cada nombre de host tiene sus propias credenciales independientes — encuéntralas en tu panel de control bajo Nombres de host → detalles . Ten en cuenta que estas credenciales son específicas del nombre de host y no pueden usarse para iniciar sesión en el portal de gestión de FastDDNS. Si has restablecido recientemente las credenciales, actualiza todos los dispositivos que usan ese nombre de host.

Yo recibo nohost

El nombre de host en el parámetro hostname no existe o no pertenece a la cuenta identificada por las credenciales proporcionadas. Revisa si hay errores tipográficos en el nombre de host, confirma que está listado en tu panel de control y verifica que el user_name y el user_pass coincidan ese nombre de host específico .

El servidor detecta la IP incorrecta

El servidor utiliza la IP de origen de la conexión TCP. Si tu dispositivo está detrás de un router NAT, la IP pública del router será detectada — que suele ser el comportamiento deseado. Si estás en una VPN o proxy, el servidor verá la IP de salida de la VPN/proxy. Usa el getip endpoint para verificar qué IP ve el servidor desde tu dispositivo.

Recibo 911

Esto indica un problema temporal en el lado del servidor. Espera al menos 5 minutos antes de volver a intentarlo. No hacer repeticiones rápidamente: esto puede desencadenar la limitación de tasas. Consulta la página de estado de FastDDNS para ver si hay incidentes activos.

¿Con qué frecuencia debería consultar el endpoint de actualización?

Recomendamos comprobar si hay cambios de IP cada 5 minutos. Cuando tu IP no ha cambiado, el servidor devuelve nochg, que es un no-op ligero. Se desaconseja hacer encuestas con más frecuencia de una vez por minuto y puede resultar en limitaciones de tasas.