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.
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.
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.
| 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.
| 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:
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
https por http.Formato URL — Método 1: Autenticación básica HTTP
Formato URL — Método 2: Cadena de consulta
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). |
myip.
Ejemplos de solicitudes
Método 1 — Autenticación básica HTTP sobre HTTPS:
Método 2 — Consulta cadena sobre HTTPS:
Usando HTTP simple (solo pruebas / redes confiables):
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.
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.
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.
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.
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.
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 |
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
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
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.