REST API – Dominios

WEDOS REST API está todavía en desarrollo. El acceso y las funciones pueden cambiar sin previo aviso.

Este artículo cubre parcialmente el endpoint Domains de WEDOS REST API. Contactos de dominio y NSSETs tienen sus propios artículos. Para WEDOS API (WAPI), consulte WAPI – WEDOS Dominios.

Encontrará información básica sobre WEDOS REST API en el artículo WEDOS REST API Manual.

En este artículo encontrará la siguiente información:


Acceso al endpoint de dominios

Esta API cubre la gestión de dominios bajo el /v2/domains prefijo de URL. Los contactos de dominio y los NSSET se documentan en artículos aparte.

URL base y autenticación

La URL base de los endpoints de dominios es: https://api.wedos.com/v2

Toda la comunicación se realiza mediante HTTPS y la autenticación usa únicamente OAuth2: envíe la cabecera Authorization: Bearer <TOKEN> en cada solicitud. El token debe tener el scope domains (un único scope compartido para dominios, contactos y NSSET). Sin una autenticación válida, la API devuelve un error.

Las solicitudes con datos (POST/PATCH) se envían como JSON (Content-Type: application/json).

Puede añadir el parámetro example=1 a cualquier endpoint (p. ej. ?example=1, o &example=1 si la URL ya contiene otros parámetros de consulta). En lugar de ejecutar la solicitud, la API devuelve entonces un comando curl de ejemplo para esa llamada. Incluso en este modo se requiere una autenticación válida.

Resumen de endpoints

MétodoEndpointDescripción
GET/domains (equivalente a /domains/list)Lista de los dominios del cliente
GET/domains/{name}Detalle de un dominio
GET/domains/infoDetalle de uno o varios dominios
GET/domains/checkComprobar la disponibilidad de dominio(s) para registro
GET/domains/{name}/transfer/checkComprobar si un dominio se puede transferir
GET/domains/tld-periodsComprobar un periodo de registro válido para un TLD
POST/domains/createRegistrar un dominio nuevo
POST/domains/{name}/renewRenovar el registro de un dominio
POST/domains/{name}/transferTransferir un dominio desde otro registrador
POST/domains/{name}/auth-info/sendEnviar el código de autorización al contacto del titular del dominio
PATCH/domains/{name}/nsset/updateCambiar los servidores DNS / el NSSET del dominio
PATCH/domains/{name}/keyset/updateConfigurar el DNSSEC (KEYSET) del dominio

Formato de la respuesta

La respuesta de la API es siempre un objeto JSON con las claves code (código de retorno), msg (descripción textual), request_id (identificador de la solicitud) y, cuando proceda, data (datos devueltos en caso de éxito).

Además de los códigos de retorno específicos (de negocio) indicados más abajo en cada llamada, todos los endpoints pueden devolver también estos códigos generales de la capa REST:

  • 1000 – la solicitud se ha ejecutado correctamente
  • 2000 – autenticación (token Bearer de OAuth2) ausente o no válida
  • 2004 – se ha superado el tamaño máximo permitido de la solicitud (URL o cuerpo de la solicitud)
  • 4000 – método o acción de la API desconocido o no soportado
  • 4001 – la validación de los datos de entrada ha fallado
  • 4005 – no hay ningún ejemplo definido para la forma de URL actual en el modo example=1 .
  • 6000 – error interno al inicializar el procesamiento de la solicitud

GET /domains

Devuelve una lista de todos los dominios del cliente con la sesión iniciada, filtrada opcionalmente por estado. La ruta equivalente GET /domains/list hace lo mismo (sin cambios de comportamiento, solo una forma alternativa de la URL).

Parámetros:

  • status – opcional, query, string – devuelve solo los dominios con el estado indicado; si no se especifica, se devuelven los dominios de todos los estados

Códigos de retorno:

  • 1000 – OK
  • 2101 – formato no válido del parámetro status
  • 2242 – estado de dominio desconocido
  • 5001 – no hay ninguna sesión iniciada

Datos de la respuesta:

  • domain – array de los dominios del cliente; cada elemento contiene:
    • name – nombre de dominio
    • status – estado del dominio

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains?status=active'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d4",
  "data": {
    "domain": [
      { "name": "domain1.tld", "status": "active" },
      { "name": "domain2.tld", "status": "active" }
    ]
  }
}

GET /domains/{name}

Devuelve información detallada sobre un dominio a partir de su nombre en la ruta de la URL.

Parámetros:

  • name – obligatorio, path – nombre de dominio

Códigos de retorno:

  • 1000 – OK
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 3216 – error al cargar la información del dominio
  • 3222 – no se ha podido cargar el objeto del dominio
  • 3223 – el dominio está en otra cuenta de cliente
  • 4205 – error de conexión con el registro

Datos de la respuesta:

  • domain – objeto con la información del dominio:
    • name – nombre de dominio
    • status – estado del dominio en el registro
    • reg_owner, reg_creator, reg_update – identificadores del registrador (nuestro/otro)
    • setup_date, expiration, updated_date, transfer_date – fechas de registro/expiración/actualización
    • owner_c, admin_c, tech_c – identificadores de los contactos asociados (según el registro)
    • dns.server – array de los servidores DNS configurados (name, addr_ipv4, addr_ipv6)
    • dnssec_keys – claves DNSSEC configuradas (si las hay)
    • own_* (own_name, own_company, own_email, own_addr_street, …) – instantánea de los datos del contacto del titular en el momento de la consulta

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domena1.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d5",
  "data": {
    "domain": {
      "name": "domena1.tld",
      "status": "active",
      "reg_owner": "WEDOS",
      "setup_date": "2024-01-10",
      "expiration": "2027-01-10",
      "owner_c": "CONTACT-1",
      "dns": {
        "server": [
          { "name": "ns.wedos.com", "addr_ipv4": null, "addr_ipv6": null },
          { "name": "ns.wedos.org", "addr_ipv4": null, "addr_ipv6": null }
        ]
      },
      "own_name": "Esmeralda Excavadora",
      "own_email": "esmeralda@wedos.com"
    }
  }
}

GET /domains/info

Funcionalmente igual que GET /domains/{name}, pero permite consultar información de varios dominios a la vez (nombres separados por comas) mediante un parámetro de consulta.

Parámetros:

  • name – obligatorio, query, string – nombre de dominio, o varios nombres separados por comas (sin espacios)

Códigos de retorno:

  • 1000 – OK (en las consultas de varios dominios la API devuelve siempre este código; el resultado de cada dominio está en su propio nodo, véase más abajo)
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 3216, 3222, 3223, 4205 – véase GET /domains/{name}

Datos de la respuesta:

  • Para un dominio: domain – un objeto con la misma estructura que GET /domains/{name}
  • Para varios dominios: domain – un array de objetos; cada uno contiene además code (el código de retorno del procesamiento de ese dominio) y result (su descripción textual). En una consulta por lotes el estado del procesamiento se registra por dominio, no en el nivel de la respuesta completa.

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/info?name=domain1.tld,domain2.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d6",
  "data": {
    "domain": [
      { "name": "domain1.tld", "status": "active", "expiration": "2027-01-10" },
      { "name": "domain2.tld", "code": 3223, "result": "Domain belongs to another account" }
    ]
  }
}

GET /domains/check

Comprueba si uno o varios dominios están disponibles para registro (con nosotros o, en general, según la disponibilidad en el registro).

Parámetros:

  • name – obligatorio, query, string – nombre de dominio, o varios nombres separados por comas

Códigos de retorno:

  • 1000 – el dominio está disponible para registro (en las consultas de varios dominios la API devuelve siempre este código; el resultado de cada dominio está en su propio nodo, véase más abajo)
  • 2100 – parámetro name no indicado
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 2250 – se ha superado el límite de comprobaciones (bloqueado)
  • 2251 – la comprobación del límite ha fallado
  • 3201 – el dominio ya está registrado
  • 3203 – el dominio no está disponible
  • 3204 – el dominio está en cuarentena
  • 3205 – el dominio está reservado
  • 3206 – el dominio está bloqueado (el motivo – premium/marca registrada/reserva/nombre corto – se indica en la descripción textual)
  • 4201 – la comprobación ha fallado – error de conexión con el registro
  • otros códigos de estado específicos de la comprobación de disponibilidad

Datos de la respuesta:

  • Para un dominio: name – el nombre de dominio consultado (el resultado de la comprobación está directamente en los campos code/msg)
  • Para varios dominios: un array de objetos, cada uno con name, code (el resultado de la comprobación de ese dominio) y result (su descripción textual)

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/check?name=domain1.tld,domain2.tld'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d7",
  "data": [
    { "name": "domain1.tld", "code": 3201, "result": "Domain is already registered" },
    { "name": "domain2.tld", "code": 1000, "result": "OK" }
  ]
}

GET /domains/{name}/transfer/check

Comprueba si el dominio se puede transferir a nosotros desde otro registrador, sin necesidad de conocer el código de autorización.

Parámetros:

  • name – obligatorio, path – nombre de dominio

Códigos de retorno:

  • 1000 – el dominio está disponible para la transferencia
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 3207 – el dominio ya está registrado con nosotros
  • 3208 – no se puede transferir porque la expiración está demasiado próxima
  • 3266 – no se puede transferir, el dominio ha expirado
  • 4206 – error de conexión con el registro

Datos de la respuesta: Ninguno – el resultado lo transmiten directamente los campos code/msg.

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domain1.tld/transfer/check'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d8"
}

GET /domains/tld-periods

Comprueba si un dominio bajo el TLD indicado se puede registrar/renovar por el número de años indicado.

Parámetros:

  • tld – obligatorio, query, string – TLD (sin el punto, p. ej. cz)
  • period – obligatorio, query, integer – periodo solicitado en años

Códigos de retorno:

  • 1000 – OK, el periodo es válido para el TLD
  • 2100 – falta un parámetro de entrada
  • 2101 – parámetros de entrada no válidos
  • 2203 – el periodo no es válido para el TLD

Datos de la respuesta: Ninguno – el resultado lo transmiten directamente los campos code/msg.

Ejemplo:

curl -X GET -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/tld-periods?tld=eu&period=1'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3d9"
}

POST /domains/create

Registra un dominio nuevo. Debe indicar exactamente uno de los parámetros dns o nsset (para configurar el DNS/NSSET del dominio), nunca ambos.

Parámetros:

  • name – obligatorio, string – nombre del dominio que se va a registrar
  • period – obligatorio, integer – duración del registro en años
  • owner_c – obligatorio, string – identificador (handle) del contacto del titular del dominio
  • admin_c – opcional, string – identificador del contacto administrativo
  • dns – opcional, array – array de servidores DNS con el formato [{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...] (addr_ipv4/addr_ipv6 son opcionales para cada servidor); mutuamente excluyente con nsset
  • nsset – opcional, string – handle de un NSSET existente que se asignará al dominio (solo en los registros que admiten NSSET, p. ej. .cz); mutuamente excluyente con dns
  • rules – opcional, array – confirmación del consentimiento a las reglas de registro (obligatorio solo en los TLD que lo exigen)

Códigos de retorno:

  • 1000 – OK, dominio registrado
  • 1001 – solicitud aceptada, se completará de forma asíncrona
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 2203 – periodo no válido
  • 2204 – parámetro owner_c no indicado
  • 2207 – formato no válido de owner_c
  • 2208 – formato no válido de admin_c
  • 2209 – error de sintaxis del NSSET
  • 2210 – error de sintaxis del servidor DNS
  • 2211 – demasiados servidores DNS
  • 2245 – no se ha dado el consentimiento a las condiciones de registro
  • 3001 – moneda no válida
  • 3002 – crédito insuficiente
  • 3211 – contacto owner_c no disponible
  • 3212 – contacto admin_c no disponible
  • 3221 – la creación del dominio ha fallado
  • 4002 – el cargo del crédito en la cuenta ha fallado
  • otros códigos de error específicos del registro de dominios

Datos de la respuesta:

  • num – número de pedido
  • expiration – fecha de expiración del dominio
  • credit – saldo de crédito tras el pago

Ejemplo:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/create' \
  --data '{
    "name": "domain1.tld",
    "period": 1,
    "owner_c": "CONTACT-1",
    "dns": [
      { "name": "ns.wedos.com" },
      { "name": "ns.wedos.org" }
    ]
  }'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e1",
  "data": {
    "num": "202610010001",
    "expiration": "2027-10-01",
    "credit": "1234.50"
  }
}

POST /domains/{name}/renew

Renueva el registro del dominio por el número de años indicado. Esto no se puede hacer en los dominios .eu, que se renuevan automáticamente.

Parámetros:

  • name – obligatorio, path – nombre de dominio
  • period – obligatorio, integer – número de años de renovación

Códigos de retorno:

  • 1000 – OK
  • 1001 – solicitud aceptada, se completará de forma asíncrona
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2203 – periodo no válido
  • 2269 – ya existe un periodo (nuevo) sin pagar
  • 3001 – moneda no válida
  • 3002 – crédito insuficiente
  • 3222 – no se ha podido abrir el dominio
  • 3223 – el dominio no pertenece a esta cuenta de cliente
  • 3224 – la renovación del dominio ha fallado
  • 3265 – el dominio no se puede renovar ahora – el número de días hasta la expiración supera el límite permitido
  • 4208 – la renovación ha fallado – error de conexión

Datos de la respuesta:

  • num – número de pedido
  • expiration – nueva fecha de expiración del dominio
  • credit – saldo de crédito tras el pago

Ejemplo:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/renew' \
  --data '{"period": 1}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e2",
  "data": {
    "num": "202610010002",
    "expiration": "2028-10-01",
    "credit": "1134.50"
  }
}

POST /domains/{name}/transfer

Transfiere un dominio a nosotros desde otro registrador. El parámetro dns funciona así: si no se incluye en la solicitud, se adoptan automáticamente los ajustes actuales de los servidores DNS del dominio; false o un array vacío configura los servidores WEDOS predeterminados; un array de objetos configura servidores concretos.

Parámetros:

  • name – obligatorio, path – nombre de dominio
  • auth_info – obligatorio, string – el código de autorización del dominio (código de transferencia)
  • owner_c – opcional, string – identificador del contacto del titular (obligatorio solo en los TLD en los que el registro lo exige)
  • dns – opcional, array – array de servidores DNS con el mismo formato que en POST /domains/create
  • rules – opcional, array – confirmación del consentimiento a las reglas (solo en los TLD que lo exigen)

Códigos de retorno:

  • 1000 – la transferencia se ha completado correctamente
  • 1001 – solicitud aceptada, se ejecutará de forma asíncrona
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 2204 – falta el identificador del contacto del titular
  • 2207 – identificador del contacto del titular no válido
  • 2210 – formato de servidor DNS no válido
  • 2215 – auth_info no indicado, siendo obligatorio para este TLD
  • 3001 – moneda no válida
  • 3207 – el dominio ya está registrado con nosotros
  • 3208 – no se puede transferir porque la expiración está demasiado próxima
  • 3219 – existe una solicitud de transferencia pendiente para este dominio
  • 3220 – el dominio ya consta en nuestros registros
  • 3226 – la transferencia del dominio ha fallado
  • 3227 – error de autorización en el registro de dominios
  • 3266 – no se puede transferir, el dominio ha expirado
  • otros códigos de error específicos de la transferencia de dominios

Datos de la respuesta:

  • num – número de pedido
  • expiration – fecha de expiración del dominio
  • credit – saldo de crédito tras el pago

Ejemplo:

curl -X POST -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/transfer' \
  --data '{"auth_info": "AUTHCODE123", "owner_c": "CONTACT-1"}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e3",
  "data": {
    "num": "202610010003",
    "expiration": "2027-10-01",
    "credit": "1134.50"
  }
}

POST /domains/{name}/auth-info/send

Envía el código de autorización del dominio (código de transferencia) al correo electrónico del contacto del titular del dominio.

Parámetros:

  • name – obligatorio, path – nombre de dominio

Códigos de retorno:

  • 1000 – OK, código de autorización enviado al correo electrónico del titular del dominio
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • 2243 – el envío del código de autorización no está permitido para este dominio
  • 3209 – el envío del código de autorización ha fallado
  • 3210 – el envío ha fallado – el dominio no está disponible
  • 3222 – no se ha podido cargar el dominio
  • 3223 – el dominio no pertenece a esta cuenta de cliente
  • 4214 – el envío ha fallado – error de conexión

Datos de la respuesta: Ninguno – el resultado lo transmiten directamente los campos code/msg.

Ejemplo:

curl -X POST -H 'Authorization: Bearer <TOKEN>' \
  'https://api.wedos.com/v2/domains/domain1.cz/auth-info/send'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e4"
}

PATCH /domains/{name}/nsset/update

Configura nuevos servidores DNS para el dominio o lo vincula a un NSSET existente. Debe indicar exactamente uno de los parámetros dns o nsset, nunca ambos.

Parámetros:

  • name – obligatorio, path – nombre de dominio
  • dns – opcional, array – array de servidores DNS con el mismo formato que en POST /domains/create; mutuamente excluyente con nsset
  • nsset – opcional, string – handle de un NSSET existente; mutuamente excluyente con dns

Códigos de retorno:

  • 1000 – OK
  • 1001 – OK, ejecutado de forma asíncrona
  • 2100 – falta un parámetro obligatorio (no se ha indicado ni dns ni nsset )
  • 2101 – parámetros no válidos (se han indicado a la vez dns y nsset , o el formato no es válido)
  • 2201 – TLD no soportado
  • 2202 – nombre de dominio no válido
  • 2209 – error de sintaxis del NSSET
  • 2210 – error de sintaxis del servidor DNS
  • 2211 – demasiados servidores DNS
  • 3214 – NSSET no disponible
  • 3222 – no se ha podido abrir el dominio
  • 3223 – el dominio pertenece a otra cuenta de cliente
  • 3225 – la actualización del DNS/NSSET ha fallado
  • 3315 – el dominio ya tiene configurados los mismos servidores NS
  • 4204 – error de conexión (NSSET)
  • 4210 – error de conexión (DNS)

Datos de la respuesta: Ninguno – el resultado lo transmiten directamente los campos code/msg.

Ejemplo:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/nsset/update' \
  --data '{
    "dns": [
      { "name": "ns.wedos.com" },
      { "name": "ns.wedos.org" }
    ]
  }'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e5"
}

PATCH /domains/{name}/keyset/update

Configura, desactiva o cambia el DNSSEC del dominio.

Parámetros:

  • name – obligatorio, path – nombre de dominio
  • keyset – obligatorio – configuración del DNSSEC:
    • 0 – DNSSEC desactivado
    • 1 – DNSSEC gestionado por WEDOS
    • cualquier otra cadena – handle del KEYSET propio del cliente

Códigos de retorno:

  • 1000 – OK
  • 2100 – falta un parámetro obligatorio
  • 2101 – formato de parámetro no válido
  • 2201 – TLD no soportado
  • 2202 – formato de nombre de dominio no válido
  • otros códigos de error específicos de la configuración del DNSSEC

Datos de la respuesta: Ninguno – el resultado lo transmiten directamente los campos code/msg.

Ejemplo:

curl -X PATCH -H 'Authorization: Bearer <TOKEN>' -H 'Content-Type: application/json' \
  'https://api.wedos.com/v2/domains/domain1.tld/keyset/update' \
  --data '{"keyset": 1}'
{
  "code": 1000,
  "msg": "OK",
  "request_id": "a1b2c3e6"
}

Notas

  • Los endpoints bajo /v2/domains, /v2/contacts y /v2/nssets los gestiona una única clase de servidor compartida y todos comparten un mismo scope de OAuth2, domains. Desde el punto de vista del cliente, son tres API lógicamente separadas, pero unificadas administrativamente.
  • El parámetro dns (para dominios y NSSET) se indica como un array simple de objetos {"name": "...", "addr_ipv4": "...", "addr_ipv6": "..."}. Internamente se convierte al formato legacy que usan las versiones anteriores de la API antes de la llamada WAPI. Los elementos addr_ipv4 y addr_ipv6 son opcionales para cada servidor.
  • En POST /domains/create, PATCH /domains/{name}/nsset/update y POST /domains/{name}/transfer debe indicarse exactamente uno de los parámetros dns/nsset . Además, en la transferencia: si dns no se incluye en la solicitud, la API detecta y conserva automáticamente los ajustes actuales de los servidores DNS del dominio.
  • En las consultas de varios dominios (GET /domains/info, GET /domains/check con varios nombres separados por comas), el código de retorno de toda la respuesta es siempre 1000. El resultado del procesamiento de cada dominio se lee en los campos code/result de su elemento en data.
  • En GET /domains/{name} también se pueden poner, en teoría, varios nombres separados por comas directamente en el segmento de la ruta (la API pasa este valor al mismo comando WAPI que GET /domains/info). En la práctica, use GET /domains/info para las consultas de varios dominios, porque un único dominio en la ruta es más legible.
  • Esta documentación no cubre intencionadamente los endpoints bajo /v2/domains/{name}/miniweb/... (el servicio adicional Miniweb). Los gestiona una clase aparte y se documentarán por separado.

¿Le ha resultado útil?

¡Gracias por su valoración!
Selectores genéricos
Solo coincidencias exactas
Buscar en el título
Buscar en el contenido
Selectores de tipo de entrada