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 DNS
- Detalles del endpoint DNS:
- GET /domains
- GET /domains/{name}
- GET /domains/info
- GET /domains/check
- GET /domains/{name}/transfer/check
- GET /domains/tld-periods
- POST /domains/create
- POST /domains/{name}/renew
- POST /domains/{name}/transfer
- POST /domains/{name}/auth-info/send
- PATCH /domains/{name}/nsset/update
- PATCH /domains/{name}/keyset/update
- Notas
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étodo | Endpoint | Descripción |
|---|---|---|
| GET | /domains (equivalente a /domains/list) | Lista de los dominios del cliente |
| GET | /domains/{name} | Detalle de un dominio |
| GET | /domains/info | Detalle de uno o varios dominios |
| GET | /domains/check | Comprobar la disponibilidad de dominio(s) para registro |
| GET | /domains/{name}/transfer/check | Comprobar si un dominio se puede transferir |
| GET | /domains/tld-periods | Comprobar un periodo de registro válido para un TLD |
| POST | /domains/create | Registrar un dominio nuevo |
| POST | /domains/{name}/renew | Renovar el registro de un dominio |
| POST | /domains/{name}/transfer | Transferir un dominio desde otro registrador |
| POST | /domains/{name}/auth-info/send | Enviar el código de autorización al contacto del titular del dominio |
| PATCH | /domains/{name}/nsset/update | Cambiar los servidores DNS / el NSSET del dominio |
| PATCH | /domains/{name}/keyset/update | Configurar 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 correctamente2000– autenticación (token Bearer de OAuth2) ausente o no válida2004– 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 soportado4001– la validación de los datos de entrada ha fallado4005– no hay ningún ejemplo definido para la forma de URL actual en el modoexample=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– OK2101– formato no válido del parámetrostatus2242– estado de dominio desconocido5001– no hay ninguna sesión iniciada
Datos de la respuesta:
domain– array de los dominios del cliente; cada elemento contiene:name– nombre de dominiostatus– 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– OK2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido3216– error al cargar la información del dominio3222– no se ha podido cargar el objeto del dominio3223– el dominio está en otra cuenta de cliente4205– error de conexión con el registro
Datos de la respuesta:
domain– objeto con la información del dominio:name– nombre de dominiostatus– estado del dominio en el registroreg_owner,reg_creator,reg_update– identificadores del registrador (nuestro/otro)setup_date,expiration,updated_date,transfer_date– fechas de registro/expiración/actualizaciónowner_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 obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido3216,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áscode(el código de retorno del procesamiento de ese dominio) yresult(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ámetronameno indicado2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido2250– se ha superado el límite de comprobaciones (bloqueado)2251– la comprobación del límite ha fallado3201– el dominio ya está registrado3203– el dominio no está disponible3204– el dominio está en cuarentena3205– el dominio está reservado3206– 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 camposcode/msg) - Para varios dominios: un array de objetos, cada uno con
name,code(el resultado de la comprobación de ese dominio) yresult(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 transferencia2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido3207– el dominio ya está registrado con nosotros3208– no se puede transferir porque la expiración está demasiado próxima3266– no se puede transferir, el dominio ha expirado4206– 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 TLD2100– falta un parámetro de entrada2101– parámetros de entrada no válidos2203– 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 registrarperiod– obligatorio, integer – duración del registro en añosowner_c– obligatorio, string – identificador (handle) del contacto del titular del dominioadmin_c– opcional, string – identificador del contacto administrativodns– opcional, array – array de servidores DNS con el formato[{"name":"ns1.example.com","addr_ipv4":"1.2.3.4","addr_ipv6":"..."},...](addr_ipv4/addr_ipv6son opcionales para cada servidor); mutuamente excluyente connssetnsset– opcional, string – handle de un NSSET existente que se asignará al dominio (solo en los registros que admiten NSSET, p. ej. .cz); mutuamente excluyente condnsrules– 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 registrado1001– solicitud aceptada, se completará de forma asíncrona2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido2203– periodo no válido2204– parámetroowner_cno indicado2207– formato no válido deowner_c2208– formato no válido deadmin_c2209– error de sintaxis del NSSET2210– error de sintaxis del servidor DNS2211– demasiados servidores DNS2245– no se ha dado el consentimiento a las condiciones de registro3001– moneda no válida3002– crédito insuficiente3211– contactoowner_cno disponible3212– contactoadmin_cno disponible3221– la creación del dominio ha fallado4002– 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 pedidoexpiration– fecha de expiración del dominiocredit– 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 dominioperiod– obligatorio, integer – número de años de renovación
Códigos de retorno:
1000– OK1001– solicitud aceptada, se completará de forma asíncrona2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2203– periodo no válido2269– ya existe un periodo (nuevo) sin pagar3001– moneda no válida3002– crédito insuficiente3222– no se ha podido abrir el dominio3223– el dominio no pertenece a esta cuenta de cliente3224– la renovación del dominio ha fallado3265– el dominio no se puede renovar ahora – el número de días hasta la expiración supera el límite permitido4208– la renovación ha fallado – error de conexión
Datos de la respuesta:
num– número de pedidoexpiration– nueva fecha de expiración del dominiocredit– 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 dominioauth_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/createrules– 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 correctamente1001– solicitud aceptada, se ejecutará de forma asíncrona2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido2204– falta el identificador del contacto del titular2207– identificador del contacto del titular no válido2210– formato de servidor DNS no válido2215–auth_infono indicado, siendo obligatorio para este TLD3001– moneda no válida3207– el dominio ya está registrado con nosotros3208– no se puede transferir porque la expiración está demasiado próxima3219– existe una solicitud de transferencia pendiente para este dominio3220– el dominio ya consta en nuestros registros3226– la transferencia del dominio ha fallado3227– error de autorización en el registro de dominios3266– 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 pedidoexpiration– fecha de expiración del dominiocredit– 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 dominio2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– formato de nombre de dominio no válido2243– el envío del código de autorización no está permitido para este dominio3209– el envío del código de autorización ha fallado3210– el envío ha fallado – el dominio no está disponible3222– no se ha podido cargar el dominio3223– el dominio no pertenece a esta cuenta de cliente4214– 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 dominiodns– opcional, array – array de servidores DNS con el mismo formato que en POST /domains/create; mutuamente excluyente connssetnsset– opcional, string – handle de un NSSET existente; mutuamente excluyente condns
Códigos de retorno:
1000– OK1001– OK, ejecutado de forma asíncrona2100– falta un parámetro obligatorio (no se ha indicado nidnsninsset)2101– parámetros no válidos (se han indicado a la vezdnsynsset, o el formato no es válido)2201– TLD no soportado2202– nombre de dominio no válido2209– error de sintaxis del NSSET2210– error de sintaxis del servidor DNS2211– demasiados servidores DNS3214– NSSET no disponible3222– no se ha podido abrir el dominio3223– el dominio pertenece a otra cuenta de cliente3225– la actualización del DNS/NSSET ha fallado3315– el dominio ya tiene configurados los mismos servidores NS4204– 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 dominiokeyset– obligatorio – configuración del DNSSEC:0– DNSSEC desactivado1– DNSSEC gestionado por WEDOS- cualquier otra cadena – handle del KEYSET propio del cliente
Códigos de retorno:
1000– OK2100– falta un parámetro obligatorio2101– formato de parámetro no válido2201– TLD no soportado2202– 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/contactsy/v2/nssetslos 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 elementosaddr_ipv4yaddr_ipv6son 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: sidnsno 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 camposcode/resultde su elemento endata. - 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.
