NAV navbar
logo
jsonxml

Virtualname API

version v1
baseUri https://api.virtualname.net/v1/
protocols HTTPS
mediaType application/json,application/xml

Introducción

Bienvenido a la referencia del API de Virtualname.

Entorno

Tienes dos entornos de API con los que trabajar. Desarrollo y Producción. Ten en cuenta que no todas las operaciones que se pueden llevar a cabo en Producción pueden ser correctamente gestionadas en Desarrollo. En la documentación de cada petición de API podrás encontrar una referencia a los posibles problemas que haya en el entorno de Desarrollo para esa petición específica de API.

  • Desarrollo
    • Host: dev.api.virtualname.net.
  • Producción
    • Host: api.virtualname.net. Toda la comunicación se realizará detrás del protocolo SSL/TLS. Conéctate a la API utilizando https o conéctate a través del puerto 443.

Rutas

Una ruta típica de la API es del estilo: https://api.virtualname.net/v1/domains/contacts.json. This breaks down to the following components:

  • Protocol: https
  • Host: https://api.virtualname.net
  • Versión PRINCIPAL: v1
  • Módulo: domains
  • Recurso: contacts
  • Formato: json

Toda la comunicación se realizará detrás del protocolo SSL/TLS. Conéctate a la API utilizando https o conéctate a través del puerto 443.

Versionado

La API está versionada. En la ruta de la petición encontrarás la versión PRINCIPAL (v1). Por ejemplo:

  • https://api.virtualname.net/v1/domains/contacts.json

Estos son los cambios que pueden ser realizados a una versión PRINCIPAL ya publicada:

  • Añadir un módulo completamente nuevo.
    • Esto no afectará a tu integración de ningún modo. ¡Simplemente un módulo nuevo con el que integrarte! ¡Yuju!
  • Añadir nuevas rutas o recursos a módulos existentes.
    • Las nuevas rutas de API no afectarán a tu código de integración. Si decides implementarla, tu integración será más completa.
  • Añadir parámetros opcionales a rutas existentes de API.
    • El comportamiento no cambiará si sigues pasando los parámetros anteriores.
  • Añadir nuevos atributos a las respuestas de algunos recursos.
    • Puedes seguir accediendo a los atributos como antes, simplemente ignorarás los recientemente introducidos.
  • Cambiar de orden atributos de las respuestas.
    • Nunca deberías asumir ningún tipo de orden en las respuestas de la API. En caso de JSON siempre deberías leer los atributos por nombre, y en caso de XML deberías usar XPath o utilizar los nombres de los atributos de forma jerárquica.

Cualquier otro cambio nos obligará a crear una versión PRINCIPAL nueva. Esto significará que estaremos trabajando muy duramente en esta nueva versión. Una vez hayamos publicado una nueva versión PRINCIPAL te recomendamos que te integres con ella. Será mejor, más rápida, más inteligente y todos los adjetivos molones que se te ocurran.

Versión PRINCIPAL actual

VersiónEstado actualFecha de publicación
/v1AlfaNo publicada todavía

Autenticación

Toda petición requiere autenticación.

Lo único que tienes que hacer para autenticar una petición es añadir una cabecera HTTP X-TCpanel-Token especificando el token que quieres utilizar. Ten en cuenta que cada token puede tener un conjunto de direcciones IP autorizadas a utilizar ese token. En caso de que el token no tenga ninguna dirección IP explícita se considerará que el acceso por IP no está restringido.

Puedes gestionar los tokens de tu cuenta desde aquí.

curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.json"

Formato

Todos los recursos entienden JSON y XML. Nos encanta la simplicidad de JSON, pero si tienes una buena herramienta de intercomunicación en XML, ¡estaremos encantados de hablarlo!

El formato que se usará viene especificado en la ruta de la petición.

curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.json"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/hello.xml"

Parámetros

A lo largo de toda la documentación verás que en los ejemplos de curl los parámetros que se pasan a las llamadas son siempre objetos en formato JSON. Esto es así únicamente por brevedad, ya que JSON es habitualmente más breve que XML.

Verás como en todos los ejemplos que incluyen datos pasaremos la cabecera Content-Type a curl, con valor application/json. Esto lo que permite a la API es saber interpretar los parámetros que le damos. Todos los ejemplos podrían hacerse con XML de la misma forma, pero estableciendo un valor application/xml a Content-Type, y adaptando apropiadamente el contenido del parámetro. La estructura del XML que se le pasaría en ese caso es exactamente igual que en JSON.

No es necesario indentar el XML que le proporcionas a la API, lo indentamos y lo formateamos para mejorar la legibilidad en el ejemplo.

JSON

{
"contact": {
  "name": "Anne",
  "lastname": "Doe",
  "hobbies": ["programming", "tennis"]
}
}

XML

<?xml version="1.0" encoding="UTF-8"?>
<contact>
<name>Anne</name>
<lastname>Doe</lastname>
<hobbies>
<hobby>programming</hobby>
<hobby>tennis</hobby>
</hobbies>
</contact>

Verbos HTTP

La API soporta varios verbos HTTP, definiendo así una API RESTful. Son los siguientes:

VerboDescripción
GETUtilizado típicamente para obtener información sobre un recurso. El resultado suele ser un recurso o lista de recursos
HEADEs equivalente a GET en que las cabeceras y el código de estado HTTP que se devuelven son iguales, la única diferencia es que con HEAD el cuerpo de la respuesta está vacío. Se utiliza, por ejemplo, para saber si un recurso existe o no, sin importarnos el cuerpo del recurso en caso de que exista, sino simplemente su existencia
POSTCrea un recurso nuevo
PATCHActualiza un recurso existente. Método preferido
PUTActualiza un recurso existente. Es preferible usar el verbo PATCH, aunque no existe ninguna diferencia operativa
DELETEElimina un recurso existente

Codificación HTTP

La codificación siempre será UTF-8.

Límite de peticiones

La API tiene un límite de peticiones por cliente, independientemente de la dirección IP y del token utilizado. El límite de peticiones por cliente es el siguiente:

Tipo de peticiónVerbos HTTP asociadosLímiteVentana
InformativaGET, HEAD1000 peticiones1 hora
OperativaPOST, PATCH, PUT, DELETE1000 peticiones1 hora

Cada tipo de petición únicamente resta crédito del tipo que sea. Es decir, en una hora se pueden hacer 1000 peticiones de tipo informativa, y 1000 peticiones de tipo operativa. Sin embargo, no es posible efectuar más de 1000 peticiones por hora de ninguno de los dos tipos.

Toda respuesta de la API incluye una serie de cabeceras HTTP que te indican el estado del límite de peticiones:

  • X-RateLimit: Límite de peticiones para la ventana actual.
  • X-RateLimit-Remaining: Número de peticiones disponibles para la ventana actual.
  • X-RateLimit-Reset: Timestamp en UTC en el que entra una nueva ventana en funcionamiento.

Si ya has superado el número de peticiones para la ventana actual, la API devolverá un error HTTP 429 (Too many requests). Adicionalmente este error contendrá la cabecera Retry-After que te indicará el número de segundos que quedan para que puedas reintentar la petición. Es decir, es el número de segundos que quedan para que entre otra nueva ventana en vigor.

Peticiones asíncronas

Cualquier petición puede ser ejecutada de forma asíncrona.

Lo único que tienes que hacer es añadir la cabecera HTTP X-TCpanel-Callback para la petición que quieres que se ejecute de forma asíncrona. El valor de esta cabecera será la URI completa donde se debería hacer el callback. Todos los callbacks son ejecutados con un verbo POST y con un User-Agent establecido a TCpanel Async Callback.

Todas las peticiones asíncronas correctamente ejecutadas devuelven un código HTTP 202 y retornan de forma inmediata devolviendo la información sobre la referencia de la petición asíncrona. Esto significa que la petición se ha programado para próxima ejecución en la cola de peticiones asíncronas.

El cuerpo del callback que haremos a la URI con verbo POST que especificaste con la cabecera X-TCpanel-Callback es igual que si la petición fuera síncrona. El código HTTP que hubieras recibido haciendo la petición síncrona (200, 201, 400...) lo recibirás en la petición POST en la cabecera X-TCpanel-Status-Code.

Puedes referirte a la documentación del detalle de petición asíncrona para más información.

curl -vvv -H 'X-TCpanel-Token: token' -H 'X-TCpanel-Callback: https://mysite.com/callback.php?order=1000' -X POST -d '{ "contact" : { "name": "Other" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.json"
curl -vvv -H 'X-TCpanel-Token: token' -H 'X-TCpanel-Callback: https://mysite.com/callback.php?order=1000' -X POST -d '{ "contact" : { "name": "Other" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.xml"

Respuestas de la API

El código de estado HTTP que se devolverá para cada petición será uno de los siguientes:

Código de estado HTTPDescripción
200Éxito
201Éxito. Recurso creado
202Éxito. Petición pendiente de ser ejecutada en segundo plano. Este código solo será devuelto con las peticiones asíncronas
400Petición inválida. Esto suele ocurrir cuando falta algún parámetro necesario de primer nivel. Revisa la documentación de la petición que está fallando
401Petición no autorizada. El token proporcionado no es válido, o la dirección IP desde la que se está accediendo no está autorizada
402No tienes suficiente saldo para ejecutar la operación. Recarga tu depósito para poder realizar la petición
404Recurso no encontrado
422Entidad no procesable. Ocurre cuando no se puede operar sobre un recurso por falta de datos o datos incorrectos. Revisa la documentación de la petición que está fallando
429Límite de peticiones excedido
500Error interno del servidor. ¡No deberías recibir este error nunca!. Hemos recibido toda la información necesaria para solucionar la incidencia, y ya estaremos trabajando en solucionarla
502Los procesos que deberían estar atendiendo a tu petición no están ahí. ¡No debería ocurrir!, pero reintenta la petición
503La API está en mantenimiento, reintenta la petición más tarde

Descripción de errores

Siempre que no sea posible realizar alguna acción se devolverá un error con uno de los códigos descritos en respuestas de la API, y además, si es posible se devolverá en el cuerpo de la respuesta la razón del error en el formato especificado según se describe en formato.

Creación incorrecta de un contacto, faltan campos obligatorios

curl -vvv -H 'X-TCpanel-Token: token' -X POST -d '{ "contact" : { "name" : "" } }' -H 'Content-Type: application/json' 
curl -vvv -H 'X-TCpanel-Token: token' -X POST -d '{ "contact" : { "name" : "" } }' -H 'Content-Type: application/json' "https://api.virtualname.net/v1/domains/contacts.xml"

Actualización de datos

Soportamos dos verbos HTTP diferentes para actualizar datos: PUT y PATCH.

En teoría, PUT espera que se especifique el objeto entero, mientras que PATCH permite que solo se especifiquen los campos que se vayan a actualizar.

En la práctica, utilizando ambos verbos se pueden especificar todos o solo los atributos que vayan a cambiar. Los atributos que no se especifiquen se quedarán igual.

Internacionalización y localización

Forzar idioma inglés independientemente del idioma establecido por el usuario

Mediante la API en algunas ocasiones se exponen cadenas de caracteres internacionalizadas y/o localizadas. Es posible forzar un idioma mediante la cabecera HTTP Accept-Language. Si no se especifica dicha cabecera se aplicará el idioma por defecto del usuario con el que se está accediendo a la API.

Idiomas soportados actualmente:

  • en: Inglés
  • es: Español
  • ca: Catalán
curl -vvv -H 'X-TCpanel-Token: token' -H 'Accept-Language: en' "https://api.virtualname.net/v1/hello.json"
curl -vvv -H 'X-TCpanel-Token: token' -H 'Accept-Language: en' "https://api.virtualname.net/v1/hello.xml"

Listados

Todos los listados soportan al menos los siguientes parámetros. Si algún listado soporta más parámetros estará especificado en la documentación de esa petición.

AtributoTipoDescripción
limitintegerLímite de resultados a devolver
offsetintegerOffset a partir de donde devolver resultados
untildatetimeSolo devolver los elementos creados antes de la fecha especificada

Los listados que pertenezcan a productos o servicios se podrán filtrar también por status y technical_status. En caso de que un producto o servicio permita filtrar por más campos, éstos estarán documentados en la sección correspondiente.

AtributoTipoDescripción
statusstringFiltra por los elementos que tengan uno de los estados especificados (separados por comas)
technical_statusstringFiltra por los elementos que tengan uno de los estados técnicos especificados (separados por comas)

En la documentación se incluirán todos los listados con el distintivo Listado, indicando que permite paginar, y en caso de productos o servicios filtrar al menos por los campos descritos en esta sección. Si un recurso permite filtrar por más campos de los aquí descritos, la documentación del recurso en particular describirá los campos adicionales.

status

ValorDescripción
pendingPendiente de pago
paidPagado
activeActivo
suspendedSuspendido por el sistema
operator_suspendedSuspendido por un operador
user_suspendedSuspendido por un usuario
subuser_suspendedSuspendido por un subusuario
cancelledCancelado
deletion_requestedEliminación solicitada
inactiveInactivo
destroyingEn proceso de ser eliminado
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.json?status=active,pending&limit=5"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/domains/domains.xml?status=active,pending&limit=5"

Detalle de cualquier producto o servicio

Todos los productos o servicios susceptibles de ser facturados incluyen una sección product_info (información de producto), formada por cuatro campos:

AtributoTipoDescripción
product_statusstringEstado del producto o servicio
product_technical_statusstringEstado técnico del producto o servicio. Normalmente será NULL excepto en los recursos en los que se especifique su función en la documentación
product_periodicitystringPeriodicidad o recurrencia del producto o servicio
product_expirationdateFecha de expiración del producto o servicio

product_status

Este campo puede adoptar más estados de los listados aquí, dependiendo del producto o servicio al que se refiera. En caso de que haya más estados de los aquí listados en algún servicio o producto accesible por la API, la documentación listará los estados de producto que extiende.

ValorDescripción
pendingPendiente de pago
paidPagado
activeActivo
suspendedSuspendido por el sistema
operator_suspendedSuspendido por un operador
user_suspendedSuspendido por un usuario
subuser_suspendedSuspendido por un subusuario
cancelledCancelado
deletion_requestedEliminación solicitada
inactiveInactivo
destroyingEn proceso de ser eliminado

product_periodicity

ValorDescripción
not_recurrentNo existe recurrencia. Los dominios o certificados entran dentro de este grupo, por ejemplo.
monthlyMensual
bimonthlyBimestral
quarterlyCuatrimestral
halfyearlySemestral
yearlyAnual

También es muy habitual que encuentres un campo created_at y otro llamado updated_at en muchos de los objetos que consultes.

AtributoTipoDescripción
created_atdatetimeCreación del objeto
updated_atdatetimeÚltima actualización del objeto

Balance del depósito


GET: /deposit/balance (secured)


Possible Responses

200


CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/deposit/balance" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "balance" : 5425.3,
  "currency" : "EUR"
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<deposit>
  <balance>5425.3</balance>
  <currency>EUR</currency>
</deposit>
Type
any

Transacciones de tu depósito


GET: /deposit/transactions (secured)

Listado

AtributoTipoDescripción
invoice_idintegerPedido relacionado con la transacción. No es NULL si es un uso del depósito, y referencia el pedido que restó saldo
order_idintegerOrden relacionada con la transacción. No es NULL si es una recarga de saldo, y referencia la orden que recargó saldo
balancedecimalEstado del depósito tras aplicar el coste de la transacción

Query Parameters

limit

Límite de resultados a devolver

PropertyValue
requiredfalse
typeinteger

until

Solo devolver los elementos creados antes de la fecha especificada

PropertyValue
requiredfalse
typedatetime

offset

Offset a partir de donde devolver resultados

PropertyValue
requiredfalse
typeinteger

Possible Responses

200


CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/deposit/transactions" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 507,
    "invoice_id" : 610,
    "created_at" : "2015-04-17T19:59:17.000+02:00",
    "updated_at" : "2015-04-17T19:59:17.000+02:00",
    "order_id" : null,
    "balance" : 9950.0
  },
  {
    "id" : 508,
    "invoice_id" : 611,
    "created_at" : "2015-04-17T19:59:18.000+02:00",
    "updated_at" : "2015-04-17T19:59:18.000+02:00",
    "order_id" : null,
    "balance" : 9900.0
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<transactions>
  <transaction>
    <id>507</id>
    <invoice-id>610</invoice-id>
    <created-at>2015-04-17T19:59:17+02:00</created-at>
    <updated-at>2015-04-17T19:59:17+02:00</updated-at>
    <order-id nil="true"/>
    <balance>9950.0</balance>
  </transaction>
  <transaction>
    <id>508</id>
    <invoice-id>611</invoice-id>
    <created-at>2015-04-17T19:59:18+02:00</created-at>
    <updated-at>2015-04-17T19:59:18+02:00</updated-at>
    <order-id nil="true"/>
    <balance>9900.0</balance>
  </transaction>
</transactions>
Type
any

Pedidos y facturas


Lista de pedidos y facturas

GET: /invoices (secured)

Listado

Refiérete a la documentación del detalle de pedido o factura para saber más acerca de cada atributo.


Query Parameters

limit

Límite de resultados a devolver

PropertyValue
requiredfalse
typeinteger

until

Solo devolver los elementos creados antes de la fecha especificada

PropertyValue
requiredfalse
typedatetime

offset

Offset a partir de donde devolver resultados

PropertyValue
requiredfalse
typeinteger

Possible Responses

200


Lista de pedidos y facturas

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/invoices" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 609,
    "status" : "skipped",
    "processed_with" : "skip",
    "closed_at" : null,
    "company" : "Neodigit",
    "company_id" : "B82753625",
    "name" : "API",
    "lastname" : "Documentation",
    "ic" : "",
    "email" : "info@neodigit.es",
    "phonecc" : "34",
    "phone" : "910059090",
    "address" : "Calle Agosto, 6",
    "zipcode" : "28022",
    "city" : "Madrid",
    "state" : "Madrid",
    "country" : "ES",
    "emitter_company" : "Tecnocrática Centro de Datos S.L.",
    "emitter_company_id" : "B86333523",
    "emitter_email" : "clientes@tecnocratica.net",
    "emitter_phonecc" : "34",
    "emitter_phone" : "910059045",
    "emitter_address" : "Calle Salvatierra, 4, 3ºD",
    "emitter_zipcode" : "28034",
    "emitter_city" : "Madrid",
    "emitter_state" : "Madrid",
    "emitter_country" : "ES",
    "legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
    "checkout_at" : "2015-04-17T19:58:11.000+02:00",
    "rejected_at" : null,
    "reference" : null,
    "subtotal" : 10000.0,
    "subtotal_with_discount" : 10000.0,
    "total" : 10000.0,
    "orders" : [
      {
        "id" : 617,
        "status" : "pending",
        "quantity" : 1,
        "created_at" : "2015-04-17T19:56:41.000+02:00",
        "updated_at" : "2015-04-17T19:58:09.000+02:00",
        "invoice_id" : 609,
        "from" : "2015-09-21",
        "to" : "2015-09-21",
        "fixed_discount" : null,
        "proportional_discount" : null,
        "amount" : 10000.0,
        "product_periodicity" : "not_recurrent",
        "source_amount" : 10000.0,
        "source_currency" : "EUR",
        "exchange_rate" : 1,
        "method" : "manual",
        "description" : "Añadir fondos a depósito (10000.00 €)",
        "subtotal" : 10000.0,
        "subtotal_with_discount" : 10000.0
      }
    ],
    "vat_concepts" : [

    ]
  },
  {
    "id" : 610,
    "status" : "paid",
    "processed_with" : "deposit",
    "closed_at" : null,
    "company" : "Neodigit",
    "company_id" : "B82753625",
    "name" : "API",
    "lastname" : "Documentation",
    "ic" : "",
    "email" : "info@neodigit.es",
    "phonecc" : "34",
    "phone" : "910059090",
    "address" : "Calle Agosto, 6",
    "zipcode" : "28022",
    "city" : "Madrid",
    "state" : "Madrid",
    "country" : "ES",
    "emitter_company" : "Tecnocrática Centro de Datos S.L.",
    "emitter_company_id" : "B86333523",
    "emitter_email" : "clientes@tecnocratica.net",
    "emitter_phonecc" : "34",
    "emitter_phone" : "910059045",
    "emitter_address" : "Calle Salvatierra, 4, 3ºD",
    "emitter_zipcode" : "28034",
    "emitter_city" : "Madrid",
    "emitter_state" : "Madrid",
    "emitter_country" : "ES",
    "legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
    "checkout_at" : "2015-04-17T19:59:17.000+02:00",
    "rejected_at" : null,
    "reference" : null,
    "subtotal" : 50.0,
    "subtotal_with_discount" : 50.0,
    "total" : 50.0,
    "orders" : [
      {
        "id" : 618,
        "status" : "paid",
        "quantity" : 5,
        "created_at" : "2015-04-17T19:59:17.000+02:00",
        "updated_at" : "2015-04-17T19:59:18.000+02:00",
        "invoice_id" : 610,
        "from" : "2015-04-17",
        "to" : "2020-04-17",
        "fixed_discount" : 0.0,
        "proportional_discount" : 0.0,
        "amount" : 10.0,
        "product_periodicity" : "not_recurrent",
        "source_amount" : 10.0,
        "source_currency" : "EUR",
        "exchange_rate" : 1.0,
        "method" : "api",
        "description" : "Registro del dominio domain-pasotkvhcp.com por 5 años",
        "subtotal" : 50.0,
        "subtotal_with_discount" : 50.0
      }
    ],
    "vat_concepts" : [

    ]
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<invoices>
  <invoice>
    <id>609</id>
    <status>skipped</status>
    <processed-with>skip</processed-with>
    <closed-at nil="true"/>
    <company>Neodigit</company>
    <company-id>B82753625</company-id>
    <name>API</name>
    <lastname>Documentation</lastname>
    <ic></ic>
    <email>info@neodigit.es</email>
    <phonecc>34</phonecc>
    <phone>910059090</phone>
    <address>Calle Agosto, 6</address>
    <zipcode>28022</zipcode>
    <city>Madrid</city>
    <state>Madrid</state>
    <country>ES</country>
    <emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
    <emitter-company-id>B86333523</emitter-company-id>
    <emitter-email>clientes@tecnocratica.net</emitter-email>
    <emitter-phonecc>34</emitter-phonecc>
    <emitter-phone>910059045</emitter-phone>
    <emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
    <emitter-zipcode>28034</emitter-zipcode>
    <emitter-city>Madrid</emitter-city>
    <emitter-state>Madrid</emitter-state>
    <emitter-country>ES</emitter-country>
    <legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
    <checkout-at>2015-04-17T19:58:11+02:00</checkout-at>
    <rejected-at nil="true"/>
    <reference nil="true"/>
    <subtotal>10000.0</subtotal>
    <subtotal-with-discount>10000.0</subtotal-with-discount>
    <total>10000.0</total>
    <orders>
      <order>
        <id>617</id>
        <status>pending</status>
        <quantity>1</quantity>
        <created-at>2015-04-17T19:56:41+02:00</created-at>
        <updated-at>2015-04-17T19:58:09+02:00</updated-at>
        <invoice-id>609</invoice-id>
        <from>2015-09-21</from>
        <to>2015-09-21</to>
        <fixed-discount nil="true"/>
        <proportional-discount nil="true"/>
        <amount>10000.0</amount>
        <product-periodicity>not_recurrent</product-periodicity>
        <source-amount>10000.0</source-amount>
        <source-currency>EUR</source-currency>
        <exchange-rate>1</exchange-rate>
        <method>manual</method>
        <description>Añadir fondos a depósito (10000.00 €)</description>
        <subtotal>10000.0</subtotal>
        <subtotal-with-discount>10000.0</subtotal-with-discount>
      </order>
    </orders>
    <vat-concepts/>
  </invoice>
  <invoice>
    <id>610</id>
    <status>paid</status>
    <processed-with>deposit</processed-with>
    <closed-at nil="true"/>
    <company>Neodigit</company>
    <company-id>B82753625</company-id>
    <name>API</name>
    <lastname>Documentation</lastname>
    <ic></ic>
    <email>info@neodigit.es</email>
    <phonecc>34</phonecc>
    <phone>910059090</phone>
    <address>Calle Agosto, 6</address>
    <zipcode>28022</zipcode>
    <city>Madrid</city>
    <state>Madrid</state>
    <country>ES</country>
    <emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
    <emitter-company-id>B86333523</emitter-company-id>
    <emitter-email>clientes@tecnocratica.net</emitter-email>
    <emitter-phonecc>34</emitter-phonecc>
    <emitter-phone>910059045</emitter-phone>
    <emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
    <emitter-zipcode>28034</emitter-zipcode>
    <emitter-city>Madrid</emitter-city>
    <emitter-state>Madrid</emitter-state>
    <emitter-country>ES</emitter-country>
    <legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
    <checkout-at>2015-04-17T19:59:17+02:00</checkout-at>
    <rejected-at nil="true"/>
    <reference nil="true"/>
    <subtotal>50.0</subtotal>
    <subtotal-with-discount>50.0</subtotal-with-discount>
    <total>50.0</total>
    <orders>
      <order>
        <id>618</id>
        <status>paid</status>
        <quantity>5</quantity>
        <created-at>2015-04-17T19:59:17+02:00</created-at>
        <updated-at>2015-04-17T19:59:18+02:00</updated-at>
        <invoice-id>610</invoice-id>
        <from>2015-04-17</from>
        <to>2020-04-17</to>
        <fixed-discount>0.0</fixed-discount>
        <proportional-discount>0.0</proportional-discount>
        <amount>10.0</amount>
        <product-periodicity>not_recurrent</product-periodicity>
        <source-amount>10.0</source-amount>
        <source-currency>EUR</source-currency>
        <exchange-rate>1.0</exchange-rate>
        <method>api</method>
        <description>Registro del dominio domain-pasotkvhcp.com por 5 años</description>
        <subtotal>50.0</subtotal>
        <subtotal-with-discount>50.0</subtotal-with-discount>
      </order>
    </orders>
    <vat-concepts/>
  </invoice>
</invoices>
Type
any


Detalle de pedido o factura

GET: /invoices/{invoiceId} (secured)

AtributoTipoDescripción
idintegerIdentificador
statusstringEstado
processed_withstringMedio de pago con el que se procesó el pedido o factura
closed_atdatetimeMomento en el que se cerró el pedido o factura
companystringRazón social de la emprea, si hubiere
company_idstringCIF de la empresa, si hubiere
namestringNombre del cliente
lastnamestringApellidos del cliente
icstringNIF/NIE o cualquier otro documento que identifica al cliente como persona física
emailstringDirección de correo electrónico
phoneccstringCódigo de país del número de teléfono
phonestringNúmero de teléfono
addressstringDirección postal
zipcodestringCódigo postal
citystringCiudad
statestringProvincia o estado
countrystringPaís en formato ISO 3166-1 alpha-2
checkout_atdatetimeMomento en el que se hizo checkout del pedido o factura
rejected_atdatetimeMomento en el que el pago fue rechazado. No es NULL únicamente si el pago fue rechazado y el tipo de pago fue por transferencia bancaria
referencestringNúmero de factura. En el caso de un pedido será NULL
subtotaldecimalSubtotal del pedido o factura. No incluye descuentos
subtotal_with_discountdecimalSubtotal del pedido o factura, descuentos incluídos
totaldecimalTotal de la factura. Incluyendo descuentos e impuestos
vat_conceptslistLista de impuestos aplicados a la factura
orderslistLista de órdenes. Refiérete a la documentación del detalle de orden para saber más acerca de cada atributo

vat_concepts

vat_concepts es una lista de impuestos, cada uno contiene los siguientes atributos:

AtributoTipoDescripción
conceptstringConcepto del impuesto
amountdecimalValor del impuesto aplicado

URI Parameters

invoiceId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de pedido o factura

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/invoices/{invoiceId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 609,
  "status" : "skipped",
  "processed_with" : "skip",
  "closed_at" : null,
  "company" : "Neodigit",
  "company_id" : "B82753625",
  "name" : "API",
  "lastname" : "Documentation",
  "ic" : "",
  "email" : "info@neodigit.es",
  "phonecc" : "34",
  "phone" : "910059090",
  "address" : "Calle Agosto, 6",
  "zipcode" : "28022",
  "city" : "Madrid",
  "state" : "Madrid",
  "country" : "ES",
  "emitter_company" : "Tecnocrática Centro de Datos S.L.",
  "emitter_company_id" : "B86333523",
  "emitter_email" : "clientes@tecnocratica.net",
  "emitter_phonecc" : "34",
  "emitter_phone" : "910059045",
  "emitter_address" : "Calle Salvatierra, 4, 3ºD",
  "emitter_zipcode" : "28034",
  "emitter_city" : "Madrid",
  "emitter_state" : "Madrid",
  "emitter_country" : "ES",
  "legal_notice" : "Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043",
  "checkout_at" : "2015-04-17T19:58:11.000+02:00",
  "rejected_at" : null,
  "reference" : null,
  "subtotal" : 10000.0,
  "subtotal_with_discount" : 10000.0,
  "total" : 10000.0,
  "orders" : [
    {
      "id" : 617,
      "status" : "pending",
      "quantity" : 1,
      "created_at" : "2015-04-17T19:56:41.000+02:00",
      "updated_at" : "2015-04-17T19:58:09.000+02:00",
      "invoice_id" : 609,
      "from" : "2015-09-21",
      "to" : "2015-09-21",
      "fixed_discount" : null,
      "proportional_discount" : null,
      "amount" : 10000.0,
      "product_periodicity" : "not_recurrent",
      "source_amount" : 10000.0,
      "source_currency" : "EUR",
      "exchange_rate" : 1,
      "method" : "manual",
      "description" : "Añadir fondos a depósito (10000.00 €)",
      "subtotal" : 10000.0,
      "subtotal_with_discount" : 10000.0
    }
  ],
  "vat_concepts" : [

  ]
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<invoices>
  <invoice>
    <id>609</id>
    <status>skipped</status>
    <processed-with>skip</processed-with>
    <closed-at nil="true"/>
    <company>Neodigit</company>
    <company-id>B82753625</company-id>
    <name>API</name>
    <lastname>Documentation</lastname>
    <ic></ic>
    <email>info@neodigit.es</email>
    <phonecc>34</phonecc>
    <phone>910059090</phone>
    <address>Calle Agosto, 6</address>
    <zipcode>28022</zipcode>
    <city>Madrid</city>
    <state>Madrid</state>
    <country>ES</country>
    <emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
    <emitter-company-id>B86333523</emitter-company-id>
    <emitter-email>clientes@tecnocratica.net</emitter-email>
    <emitter-phonecc>34</emitter-phonecc>
    <emitter-phone>910059045</emitter-phone>
    <emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
    <emitter-zipcode>28034</emitter-zipcode>
    <emitter-city>Madrid</emitter-city>
    <emitter-state>Madrid</emitter-state>
    <emitter-country>ES</emitter-country>
    <legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
    <checkout-at>2015-04-17T19:58:11+02:00</checkout-at>
    <rejected-at nil="true"/>
    <reference nil="true"/>
    <subtotal>10000.0</subtotal>
    <subtotal-with-discount>10000.0</subtotal-with-discount>
    <total>10000.0</total>
    <orders>
      <order>
        <id>617</id>
        <status>pending</status>
        <quantity>1</quantity>
        <created-at>2015-04-17T19:56:41+02:00</created-at>
        <updated-at>2015-04-17T19:58:09+02:00</updated-at>
        <invoice-id>609</invoice-id>
        <from>2015-09-21</from>
        <to>2015-09-21</to>
        <fixed-discount nil="true"/>
        <proportional-discount nil="true"/>
        <amount>10000.0</amount>
        <product-periodicity>not_recurrent</product-periodicity>
        <source-amount>10000.0</source-amount>
        <source-currency>EUR</source-currency>
        <exchange-rate>1</exchange-rate>
        <method>manual</method>
        <description>Añadir fondos a depósito (10000.00 €)</description>
        <subtotal>10000.0</subtotal>
        <subtotal-with-discount>10000.0</subtotal-with-discount>
      </order>
    </orders>
    <vat-concepts/>
  </invoice>
  <invoice>
    <id>610</id>
    <status>paid</status>
    <processed-with>deposit</processed-with>
    <closed-at nil="true"/>
    <company>Neodigit</company>
    <company-id>B82753625</company-id>
    <name>API</name>
    <lastname>Documentation</lastname>
    <ic></ic>
    <email>info@neodigit.es</email>
    <phonecc>34</phonecc>
    <phone>910059090</phone>
    <address>Calle Agosto, 6</address>
    <zipcode>28022</zipcode>
    <city>Madrid</city>
    <state>Madrid</state>
    <country>ES</country>
    <emitter-company>Tecnocrática Centro de Datos S.L.</emitter-company>
    <emitter-company-id>B86333523</emitter-company-id>
    <emitter-email>clientes@tecnocratica.net</emitter-email>
    <emitter-phonecc>34</emitter-phonecc>
    <emitter-phone>910059045</emitter-phone>
    <emitter-address>Calle Salvatierra, 4, 3ºD</emitter-address>
    <emitter-zipcode>28034</emitter-zipcode>
    <emitter-city>Madrid</emitter-city>
    <emitter-state>Madrid</emitter-state>
    <emitter-country>ES</emitter-country>
    <legal-notice>Tecnocrática Centro de Datos, S.L. inscrita en el Registro Mercantil de Madrid, tomo 29392, folio 11, hoja M-529043</legal-notice>
    <checkout-at>2015-04-17T19:59:17+02:00</checkout-at>
    <rejected-at nil="true"/>
    <reference nil="true"/>
    <subtotal>50.0</subtotal>
    <subtotal-with-discount>50.0</subtotal-with-discount>
    <total>50.0</total>
    <orders>
      <order>
        <id>618</id>
        <status>paid</status>
        <quantity>5</quantity>
        <created-at>2015-04-17T19:59:17+02:00</created-at>
        <updated-at>2015-04-17T19:59:18+02:00</updated-at>
        <invoice-id>610</invoice-id>
        <from>2015-04-17</from>
        <to>2020-04-17</to>
        <fixed-discount>0.0</fixed-discount>
        <proportional-discount>0.0</proportional-discount>
        <amount>10.0</amount>
        <product-periodicity>not_recurrent</product-periodicity>
        <source-amount>10.0</source-amount>
        <source-currency>EUR</source-currency>
        <exchange-rate>1.0</exchange-rate>
        <method>api</method>
        <description>Registro del dominio domain-pasotkvhcp.com por 5 años</description>
        <subtotal>50.0</subtotal>
        <subtotal-with-discount>50.0</subtotal-with-discount>
      </order>
    </orders>
    <vat-concepts/>
  </invoice>
</invoices>
Type
any

Detalle de orden


GET: /orders/{orderId} (secured)

Cualquier pedido o factura está compuesto de una o varias líneas de órdenes. Esta petición muestra el detalle de una línea de pedido o factura.

AtributoTipoDescripción
idintegerIdentificador
statusstringEstado
quantityintegerCantidad
invoice_idintegerPedido o factura a la que pertenece
fromdateDesde cuándo referencia la orden
todateHasta cuándo referencia la orden
fixed_discountdecimalDescuento fijo
proportional_discountdecimalDescuento proporcional
amountdecimalPrecio unitario
product_periodicitystringPeriodicidad del servicio
source_amountdecimalPrecio unitario en la moneda de origen
source_currencystringMoneda de origen
exchange_ratedecimalCambio aplicado para esta orden desde la moneda de origen
descriptionstringDescripción del servicio relacionado con esta orden
subtotaldecimalSubtotal para esta orden

URI Parameters

orderId

PropertyValue
requiredtrue
typestring

Possible Responses

200


CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/orders/{orderId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 617,
  "status" : "pending",
  "quantity" : 1,
  "created_at" : "2015-04-17T19:56:41.000+02:00",
  "updated_at" : "2015-04-17T19:58:09.000+02:00",
  "invoice_id" : 609,
  "from" : "2015-09-21",
  "to" : "2015-09-21",
  "fixed_discount" : null,
  "proportional_discount" : null,
  "amount" : 10000.0,
  "product_periodicity" : "not_recurrent",
  "source_amount" : 10000.0,
  "source_currency" : "EUR",
  "exchange_rate" : 1,
  "method" : "manual",
  "description" : "Añadir fondos a depósito (10000.00 €)",
  "subtotal" : 10000.0,
  "subtotal_with_discount" : 10000.0
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<order>
  <id>617</id>
  <status>pending</status>
  <quantity>1</quantity>
  <created-at>2015-04-17T19:56:41+02:00</created-at>
  <updated-at>2015-04-17T19:58:09+02:00</updated-at>
  <invoice-id>609</invoice-id>
  <from>2015-09-21</from>
  <to>2015-09-21</to>
  <fixed-discount nil="true"/>
  <proportional-discount nil="true"/>
  <amount>10000.0</amount>
  <product-periodicity>not_recurrent</product-periodicity>
  <source-amount>10000.0</source-amount>
  <source-currency>EUR</source-currency>
  <exchange-rate>1</exchange-rate>
  <method>manual</method>
  <description>Añadir fondos a depósito (10000.00 €)</description>
  <subtotal>10000.0</subtotal>
  <subtotal-with-discount>10000.0</subtotal-with-discount>
</order>
Type
any

Conversión de divisas


GET: /exchange-rates (secured)

Obtiene las conversiones entre divisas que serán aplicadas a las transacciones que requieran cambio de divisa.

La respuesta es una lista de elementos, que describimos a continuación:

AtributoTipoDescripción
source_currencystringCódigo de la divisa de origen (ISO 4217)
target_currencystringCódigo de la divisa destino (ISO 4217)
exchange_ratedecimalCambio efectivo unitario

Possible Responses

200


CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/exchange-rates" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "source_currency" : "USD",
    "target_currency" : "EUR",
    "exchange_rate" : 0.92498
  },
  {
    "source_currency" : "RUB",
    "target_currency" : "EUR",
    "exchange_rate" : 0.01725
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<exchange-rates>
  <exchange-rate>
    <source-currency>USD</source-currency>
    <target-currency>EUR</target-currency>
    <exchange-rate>0.92498</exchange-rate>
  </exchange-rate>
  <exchange-rate>
    <source-currency>RUB</source-currency>
    <target-currency>EUR</target-currency>
    <exchange-rate>0.01725</exchange-rate>
  </exchange-rate>
</exchange-rates>
Type
any

Peticiones asíncronas

Refiérete a la documentación del detalle de petición asíncrona para saber más acerca de cada atributo.


Lista de peticiones asíncronas

GET: /async-calls (secured)


Possible Responses

200


Lista de peticiones asíncronas

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/async-calls" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 70,
    "path" : "/v1/domains/contacts.json",
    "verb" : "POST",
    "callback" : "https://mysite.com/callback.php?order=1000",
    "status" : "pending",
    "callback_status" : "pending",
    "callback_retries" : 0,
    "started_execution_at" : null,
    "finished_execution_at" : null,
    "ack_at" : null,
    "created_at" : "2015-04-17T19:59:12.000+02:00",
    "updated_at" : "2015-04-17T19:59:12.000+02:00",
    "parameters" : {
      "contact" : {
        "name" : "Other"
      }
    }
  },
  {
    "id" : 71,
    "path" : "/v1/domains/contacts.xml",
    "verb" : "POST",
    "callback" : "https://mysite.com/callback.php?order=1000",
    "status" : "pending",
    "callback_status" : "pending",
    "callback_retries" : 0,
    "started_execution_at" : null,
    "finished_execution_at" : null,
    "ack_at" : null,
    "created_at" : "2015-04-17T19:59:12.000+02:00",
    "updated_at" : "2015-04-17T19:59:12.000+02:00",
    "parameters" : {
      "contact" : {
        "name" : "Other"
      }
    }
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<async-calls>
  <async-call>
    <id>70</id>
    <path>/v1/domains/contacts.json</path>
    <verb>POST</verb>
    <callback>https://mysite.com/callback.php?order=1000</callback>
    <status>pending</status>
    <callback-status>pending</callback-status>
    <callback-retries>0</callback-retries>
    <started-execution-at nil="true"/>
    <finished-execution-at nil="true"/>
    <ack-at nil="true"/>
    <created-at>2015-04-17T19:59:12+02:00</created-at>
    <updated-at>2015-04-17T19:59:12+02:00</updated-at>
    <parameters>
      <contact>
        <name>Other</name>
      </contact>
    </parameters>
  </async-call>
  <async-call>
    <id>71</id>
    <path>/v1/domains/contacts.xml</path>
    <verb>POST</verb>
    <callback>https://mysite.com/callback.php?order=1000</callback>
    <status>pending</status>
    <callback-status>pending</callback-status>
    <callback-retries>0</callback-retries>
    <started-execution-at nil="true"/>
    <finished-execution-at nil="true"/>
    <ack-at nil="true"/>
    <created-at>2015-04-17T19:59:12+02:00</created-at>
    <updated-at>2015-04-17T19:59:12+02:00</updated-at>
    <parameters>
      <contact>
        <name>Other</name>
      </contact>
    </parameters>
  </async-call>
</async-calls>
Type
any


Detalle de petición asíncrona

GET: /async-calls/{asyncCallId} (secured)

AtributoTipoDescripción
idintegerIdentificador
tokenstringToken utilizado con la petición original
pathstringRuta a la que se realizó la petición original
verbstringMétodo HTTP con el que se llamó a la API
callbackstringDirección de callback especificado por la petición asíncrona
statusstringEstado de la petición asíncrona
callback_statusstringEstado del callback
callback_retriesintegerNúmero de reintentos realizados al llamar al callback. Se reintentará 5 veces como máximo de forma automática
started_execution_atdatetimeMomento en el que el trabajo ha sido tomado para ejecución
finished_execution_atdatetimeMomento en el que la petición ha terminado de ejecutarse. En este momento todavía no hemos enviado ningún callback
ack_atdatetimeMomento en el que recibimos por parte del callback un estado HTTP 200
parametersobjectRepresenta los parámetros de la petición original

status

ValorDescripción
pendingEs su valor inicial. La petición asíncrona está en la cola para ser ejecutada
executingLa petición asíncrona se está ejecutando en estos momentos
successLa petición ya se ha ejecutado. Pasamos a procesar el callback y a partir de ahora el atributo callback_status es el que indica el final del proceso

callback_status

ValorDescripción
pendingEs su valor inicial. El callback está pendiente de ser ejecutado
executingEn estos momentos estamos realizando la petición de callback
successEl callback se ejecutó y devolvió un estado HTTP 200. El proceso para esta petición asíncrona ya ha terminado
gaveupEl callback se intentó llamar 5 veces, con una diferencia de 10 segundos entre peticiones, y ninguna de ellas devolvió un estado HTTP 200. El callback no se reintentará más de forma automática

URI Parameters

asyncCallId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de petición asíncrona

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/async-calls/{asyncCallId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 70,
  "path" : "/v1/domains/contacts.json",
  "verb" : "POST",
  "callback" : "https://mysite.com/callback.php?order=1000",
  "status" : "pending",
  "callback_status" : "pending",
  "callback_retries" : 0,
  "started_execution_at" : null,
  "finished_execution_at" : null,
  "ack_at" : null,
  "created_at" : "2015-04-17T19:59:12.000+02:00",
  "updated_at" : "2015-04-17T19:59:12.000+02:00",
  "parameters" : {
    "contact" : {
      "name" : "Other"
    }
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<async-call>
  <id>70</id>
  <path>/v1/domains/contacts.json</path>
  <verb>POST</verb>
  <callback>https://mysite.com/callback.php?order=1000</callback>
  <status>pending</status>
  <callback-status>pending</callback-status>
  <callback-retries>0</callback-retries>
  <started-execution-at nil="true"/>
  <finished-execution-at nil="true"/>
  <ack-at nil="true"/>
  <created-at>2015-04-17T19:59:12+02:00</created-at>
  <updated-at>2015-04-17T19:59:12+02:00</updated-at>
  <parameters>
    <contact>
      <name>Other</name>
    </contact>
  </parameters>
</async-call>
Type
any

Dominios


Lista de contactos

GET: /domains/contacts (secured)

Listado

Refiérete a la documentación del detalle de contacto para saber más acerca de cada atributo.


Possible Responses

200


Lista de contactos

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/contacts" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 233,
    "name" : "Nómbre",
    "company" : "Neodigit",
    "email" : "info@neodigit.es",
    "address" : "Calle Agosto, 6 b",
    "city" : "Madrid",
    "state" : "Madrid",
    "country" : "ES",
    "zipcode" : "28022",
    "phonecc" : "34",
    "phone" : "34910059090",
    "created_at" : "2015-04-17T19:56:10.000+02:00",
    "updated_at" : "2015-07-29T15:24:44.000+02:00",
    "ic" : "N/A",
    "faxcc" : "34",
    "fax" : "910059090",
    "lastname" : "Apéllidossafdasd",
    "birthdate" : null,
    "birthplace" : null,
    "passport" : null
  },
  {
    "id" : 370,
    "name" : "Test",
    "company" : null,
    "email" : "test@test.com",
    "address" : "Test",
    "city" : "Test",
    "state" : "Test",
    "country" : "US",
    "zipcode" : "00000",
    "phonecc" : "34",
    "phone" : "123456789",
    "created_at" : "2015-04-22T19:37:28.000+02:00",
    "updated_at" : "2015-04-22T19:37:28.000+02:00",
    "ic" : "Identification number",
    "faxcc" : null,
    "fax" : null,
    "lastname" : "Test",
    "birthdate" : null,
    "birthplace" : null,
    "passport" : null
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domains-contacts>
  <domains-contact>
    <id>233</id>
    <name>Nómbre</name>
    <company>Neodigit</company>
    <email>info@neodigit.es</email>
    <address>Calle Agosto, 6 b</address>
    <city>Madrid</city>
    <state>Madrid</state>
    <country>ES</country>
    <zipcode>28022</zipcode>
    <phonecc>34</phonecc>
    <phone>34910059090</phone>
    <created-at>2015-04-17T19:56:10+02:00</created-at>
    <updated-at>2015-07-29T15:24:44+02:00</updated-at>
    <ic>N/A</ic>
    <faxcc>34</faxcc>
    <fax>910059090</fax>
    <lastname>Apéllidossafdasd</lastname>
    <birthdate nil="true"/>
    <birthplace nil="true"/>
    <passport nil="true"/>
  </domains-contact>
  <domains-contact>
    <id>370</id>
    <name>Test</name>
    <company nil="true"/>
    <email>test@test.com</email>
    <address>Test</address>
    <city>Test</city>
    <state>Test</state>
    <country>US</country>
    <zipcode>00000</zipcode>
    <phonecc>34</phonecc>
    <phone>123456789</phone>
    <created-at>2015-04-22T19:37:28+02:00</created-at>
    <updated-at>2015-04-22T19:37:28+02:00</updated-at>
    <ic>Identification number</ic>
    <faxcc nil="true"/>
    <fax nil="true"/>
    <lastname>Test</lastname>
    <birthdate nil="true"/>
    <birthplace nil="true"/>
    <passport nil="true"/>
  </domains-contact>
</domains-contacts>
Type
any

Crear contacto

POST: /domains/contacts (secured)

Atributos obligatorios

name, email, country, state, city, address, zipcode, phonecc, phone

Atributos opcionales

lastname, ic, company, legal_form, faxcc, fax, birthdate, birthplace, passport

Refiérete a la documentación del detalle de contacto para saber más acerca de cada atributo.


Possible Responses

201


Crear contacto

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/contacts" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "contact" : { "name" : "Test", "lastname" : "Test", "ic" : "Identification number", "email" : "test@test.com", "country": "US", "state" : "Test", "city" : "Test", "address": "Test", "zipcode" : "00000", "phonecc" : "34", "phone" : "123456789" } }
Type
any

{ "contact" : { "name" : "Test", "lastname" : "Test", "ic" : "Identification number", "email" : "test@test.com", "country": "US", "state" : "Test", "city" : "Test", "address": "Test", "zipcode" : "00000", "phonecc" : "34", "phone" : "123456789" } }
Type
any

RESPONSE BODY

201

{
  "id" : 233,
  "name" : "Nómbre",
  "company" : "Neodigit",
  "email" : "info@neodigit.es",
  "address" : "Calle Agosto, 6 b",
  "city" : "Madrid",
  "state" : "Madrid",
  "country" : "ES",
  "zipcode" : "28022",
  "phonecc" : "34",
  "phone" : "34910059090",
  "created_at" : "2015-04-17T19:56:10.000+02:00",
  "updated_at" : "2015-07-29T15:24:44.000+02:00",
  "ic" : "N/A",
  "faxcc" : "34",
  "fax" : "910059090",
  "lastname" : "Apéllidossafdasd",
  "birthdate" : null,
  "birthplace" : null,
  "passport" : null
}
Type
any

201

<?xml version="1.0" encoding="UTF-8"?>
<contact>
  <id>233</id>
  <name>Nómbre</name>
  <company>Neodigit</company>
  <email>info@neodigit.es</email>
  <address>Calle Agosto, 6 b</address>
  <city>Madrid</city>
  <state>Madrid</state>
  <country>ES</country>
  <zipcode>28022</zipcode>
  <phonecc>34</phonecc>
  <phone>34910059090</phone>
  <created-at>2015-04-17T19:56:10+02:00</created-at>
  <updated-at>2015-07-29T15:24:44+02:00</updated-at>
  <ic>N/A</ic>
  <faxcc>34</faxcc>
  <fax>910059090</fax>
  <lastname>Apéllidossafdasd</lastname>
  <birthdate nil="true"/>
  <birthplace nil="true"/>
  <passport nil="true"/>
</contact>
Type
any


Detalle de contacto

GET: /domains/contacts/{contactId} (secured)

AtributoTipoDescripción
idintegerIdentificador
namestringNombre
lastnamestringApellidos
companystringEmpresa
legal_formstringForma jurídica
emailstringCorreo electrónico
addressstringDirección postal
citystringCiudad
statestringProvincia o estado
countrystringPaís en formato ISO 3166-1 alpha-2
zipcodestringCódigo postal
phoneccstringCódigo de país del número de teléfono
phonestringNúmero de teléfono
icstringNIF/NIE o cualquier otro documento que identifica al contacto como persona física
faxccstringCódigo de país del número de fax
faxstringNúmero de fax
birthdatedateFecha de nacimiento
birthplacedateLugar de nacimiento
passportstringPasaporte

La disponibilidad de formas jurídicas depende del código de país del contacto.

CountryValueDescription
ESeconomic_interest_groupAgrupación de interés económico
ESassociationAsociación
ESsports_associationAsociación deportiva
EStrade_associationAsociación gremial
ESsavingsCaja de ahorros
EScommunity_propertyComunidad de bienes
EScommunity_of_ownersComunidad de propietarios
EScongregation_or_religious_institutionCongregación o institución religiosa
ESdesignation_of_origin_control_boardConsejo regulador de denominación de origen
ESconsulateConsulado
ESpublic_corporationCorporación de derecho público
ESembassyEmbajada
ESlocal_organizationEntidad local
ESsports_federationFederación deportiva
ESfoundationFundación
ESmutual_insuranceMutua de seguros
ESnatural_space_agency_managerOrganismo gestor de espacio natural
ESautonomous_public_organizationOrganismo público autonómico
ESstate_public_agencyOrganismo público estatal
ESlocal_public_agencyOrganismo público local
ESotherOtras
ESpolitical_partyPartido político
ESnatural_person_or_individualPersona física o particular
ESunionSindicato
ESagrarian_transformationSociedad agraria de la transformación
EScorporationSociedad anónima
ESsports_corporationSociedad anónima deportiva
ESeducation_corporationSociedad anónima laboral
EScivil_societySociedad civil
ESpartnershipSociedad colectiva
ESlimited_partnershipSociedad comanditaria
EScooperative_societySociedad cooperativa
ESlabour_society_limitedSociedad laboral limitada
ESlimited_societySociedad limitada
ESbranch_in_spainSucursal en España
ESconsortiumUnión temporal de empresas
ESorgan_of_the_state_administrationÓrgano de la administración del estado
ESorgan_of_the_regional_administrationÓrgano de la administración pública

URI Parameters

contactId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de contacto

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 233,
  "name" : "Nómbre",
  "company" : "Neodigit",
  "email" : "info@neodigit.es",
  "address" : "Calle Agosto, 6 b",
  "city" : "Madrid",
  "state" : "Madrid",
  "country" : "ES",
  "zipcode" : "28022",
  "phonecc" : "34",
  "phone" : "34910059090",
  "created_at" : "2015-04-17T19:56:10.000+02:00",
  "updated_at" : "2015-07-29T15:24:44.000+02:00",
  "ic" : "N/A",
  "faxcc" : "34",
  "fax" : "910059090",
  "lastname" : "Apéllidossafdasd",
  "birthdate" : null,
  "birthplace" : null,
  "passport" : null
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<contact>
  <id>233</id>
  <name>Nómbre</name>
  <company>Neodigit</company>
  <email>info@neodigit.es</email>
  <address>Calle Agosto, 6 b</address>
  <city>Madrid</city>
  <state>Madrid</state>
  <country>ES</country>
  <zipcode>28022</zipcode>
  <phonecc>34</phonecc>
  <phone>34910059090</phone>
  <created-at>2015-04-17T19:56:10+02:00</created-at>
  <updated-at>2015-07-29T15:24:44+02:00</updated-at>
  <ic>N/A</ic>
  <faxcc>34</faxcc>
  <fax>910059090</fax>
  <lastname>Apéllidossafdasd</lastname>
  <birthdate nil="true"/>
  <birthplace nil="true"/>
  <passport nil="true"/>
</contact>
Type
any

Actualizar contacto (PUT)

PUT: /domains/contacts/{contactId} (secured)

Refiérete a la documentación del detalle de contacto para saber más acerca de cada atributo.

Refiérete a la documentación de crear contacto para saber qué atributos son obligatorios y cuáles son opcionales.


URI Parameters

contactId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar contacto (PUT)

CURL EXAMPLE

curl -X PUT "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "contact" : { "name" : "Update Test" } }
Type
any

{ "contact" : { "name" : "Update Test" } }
Type
any

RESPONSE BODY

200

{
  "id" : 479,
  "name" : "Update Test",
  "company" : null,
  "email" : "test@test.com",
  "address" : "Test",
  "city" : "Test",
  "state" : "Test",
  "country" : "US",
  "zipcode" : "00000",
  "phonecc" : "34",
  "phone" : "123456789",
  "created_at" : "2015-09-21T14:40:16.000+02:00",
  "updated_at" : "2015-09-21T14:40:17.084+02:00",
  "ic" : "Identification number",
  "faxcc" : null,
  "fax" : null,
  "lastname" : "Test",
  "birthdate" : null,
  "birthplace" : null,
  "passport" : null
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<contact>
  <id>479</id>
  <name>Update Test</name>
  <company nil="true"/>
  <email>test@test.com</email>
  <address>Test</address>
  <city>Test</city>
  <state>Test</state>
  <country>US</country>
  <zipcode>00000</zipcode>
  <phonecc>34</phonecc>
  <phone>123456789</phone>
  <created-at>2015-09-21T14:40:16+02:00</created-at>
  <updated-at>2015-09-21T14:40:17+02:00</updated-at>
  <ic>Identification number</ic>
  <faxcc nil="true"/>
  <fax nil="true"/>
  <lastname>Test</lastname>
  <birthdate nil="true"/>
  <birthplace nil="true"/>
  <passport nil="true"/>
</contact>
Type
any

Actualizar contacto (PATCH)

PATCH: /domains/contacts/{contactId} (secured)

Refiérete a la documentación del detalle de contacto para saber más acerca de cada atributo.

Refiérete a la documentación de crear contacto para saber qué atributos son obligatorios y cuáles son opcionales.


URI Parameters

contactId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar contacto (PATCH)

CURL EXAMPLE

curl -X PATCH "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "contact" : { "name" : "Update Test" } }
Type
any

{ "contact" : { "name" : "Update Test" } }
Type
any

RESPONSE BODY

200

{
  "id" : 479,
  "name" : "Update Test",
  "company" : null,
  "email" : "test@test.com",
  "address" : "Test",
  "city" : "Test",
  "state" : "Test",
  "country" : "US",
  "zipcode" : "00000",
  "phonecc" : "34",
  "phone" : "123456789",
  "created_at" : "2015-09-21T14:40:16.000+02:00",
  "updated_at" : "2015-09-21T14:40:17.084+02:00",
  "ic" : "Identification number",
  "faxcc" : null,
  "fax" : null,
  "lastname" : "Test",
  "birthdate" : null,
  "birthplace" : null,
  "passport" : null
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<contact>
  <id>479</id>
  <name>Update Test</name>
  <company nil="true"/>
  <email>test@test.com</email>
  <address>Test</address>
  <city>Test</city>
  <state>Test</state>
  <country>US</country>
  <zipcode>00000</zipcode>
  <phonecc>34</phonecc>
  <phone>123456789</phone>
  <created-at>2015-09-21T14:40:16+02:00</created-at>
  <updated-at>2015-09-21T14:40:17+02:00</updated-at>
  <ic>Identification number</ic>
  <faxcc nil="true"/>
  <fax nil="true"/>
  <lastname>Test</lastname>
  <birthdate nil="true"/>
  <birthplace nil="true"/>
  <passport nil="true"/>
</contact>
Type
any

Eliminar contacto

DELETE: /domains/contacts/{contactId} (secured)


URI Parameters

contactId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Eliminar contacto

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/domains/contacts/{contactId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "base" : [
    "Tiene dominios (domain-pasotkvhcp.com, domain-btcknuweuh.com, domain-bydonsosdc.com, domain-aqzxblhmeb.com, domain-nfbdfcpxmx.com, domain-jhkmitlqik.com, domain-dheusggyko.com, domain-tletzjclgp.com, domain-mhleslikpb.com, domain-yirwrrebxr.com, domain-ngwfzrnnmf.com, domain-hhbvtubzmb.com, ajdadfasadf-dfasdfasdffkasdflaasdfasdfadsfsdf.com, domain-qpcjcuegfo.com, domain-hfammybgir.com, domain-wzpwirzjhw.com, domain-bmksgukfho.com, domain-wgndotoqeq.com, domain-caylrfskvb.com, domain-yiskfszugx.com, domain-cybkigrkys.com, domain-apjrfhvcvj.com, domain-shvtiwueuc.com, domain-rbbxpqpbfc.com, domain-egqxwnhxvw.com, domain-yuabwiiptw.com, domain-lpkjqeqrqk.com, domain-frxhbogtce.com, domain-etjphwwldc.com, domain-hmwunelvdx.com, domain-oconojssyb.com, domain-htosnqqkst.com, domain-tsffkleuad.com, domain-rldnotpxsw.com, domain-vdvjbxucnc.com, domain-lqniqtbubb.com, domain-zmwdhluxen.com, domain-kdrgobjsvq.com, domain-kyiawzcaak.com, domain-kkwogkcsik.com, domain-zvayvvidxe.com, domain-kpwsukpfeg.com, domain-ycxfuaqmkx.com, domain-qrexocdntp.com, domain-upqbeiixpu.com, domain-zxsoxbesxk.com, domain-pxbkgczpjt.com, domain-tfaihagvxv.com, domain-ztwttnbxpm.com, domain-yasodizcbz.com, domain-vcrkeikici.com, domain-jlwarjhwbp.com, domain-ypxmkkeswv.com, domain-iocoeusyth.com, domain-ivbxiktijv.com, domain-uvhblgkhlm.com, domain-bazjwizedc.com, domain-xnpaovzfby.com, domain-taqmxjzatf.com, domain-slzptykfga.com, domain-krznzjhqor.com, domain-txozjangxx.com, domain-bsaxokkzoz.com, domain-zwaifamqvr.com, domain-cbrwqvfdea.com, domain-dyjdrfclbe.com, domain-nmagnqjtjd.com, domain-ypbiohfjeu.com, domain-hxpprojezz.com, domain-dyadfjdrfclbe.com, doadfmain-dyadfjdrfclbe.com, domain-uiigtkuksy.com, domain-sesuszlcai.com, domain-yhwfiusnnw.com, domain-mdwzlwepxl.com, domain-zttgehurwm.com, domain-uvekvbaqoz.com, domain-prdqcilbvc.com, domain-xddnkojtgf.com, domain-kenlpempje.com, domain-oozzcmyesz.com, domain-ovdelzqyim.com, domain-dmykrylmid.com, domain-zojznkkefo.com, domain-wqzqxpkzgx.com, domain-kckpyonvct.com, domain-asiygqrbwa.com, domain-mizcpqohrm.com, domain-clmkfudexr.com, domain-gtenluuges.com, domain-qbezgpesqo.com, domain-ktjvtfvkuo.com, domain-nhyfhpmbth.com, domain-iwodglnjmh.com, domain-qkjxwoimsb.com, domain-xcplaruxbm.com, domain-qzemwjcroo.com, domain-puppdqjvjo.com, domain-ecdmjbimsj.com, domain-cvzguopzos.com, domain-iixewimokv.com, domain-abjapdodma.com, domain-stmjydqmme.com, domain-nymlhknvug.com, domain-gxfjxjqllj.com, domain-cazqlazrgu.com) relacionados con este contacto, así que no se ha podido eliminar"
  ]
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<errors>
  <error>Tiene dominios (domain-pasotkvhcp.com, domain-btcknuweuh.com, domain-bydonsosdc.com, domain-aqzxblhmeb.com, domain-nfbdfcpxmx.com, domain-jhkmitlqik.com, domain-dheusggyko.com, domain-tletzjclgp.com, domain-mhleslikpb.com, domain-yirwrrebxr.com, domain-ngwfzrnnmf.com, domain-hhbvtubzmb.com, ajdadfasadf-dfasdfasdffkasdflaasdfasdfadsfsdf.com, domain-qpcjcuegfo.com, domain-hfammybgir.com, domain-wzpwirzjhw.com, domain-bmksgukfho.com, domain-wgndotoqeq.com, domain-caylrfskvb.com, domain-yiskfszugx.com, domain-cybkigrkys.com, domain-apjrfhvcvj.com, domain-shvtiwueuc.com, domain-rbbxpqpbfc.com, domain-egqxwnhxvw.com, domain-yuabwiiptw.com, domain-lpkjqeqrqk.com, domain-frxhbogtce.com, domain-etjphwwldc.com, domain-hmwunelvdx.com, domain-oconojssyb.com, domain-htosnqqkst.com, domain-tsffkleuad.com, domain-rldnotpxsw.com, domain-vdvjbxucnc.com, domain-lqniqtbubb.com, domain-zmwdhluxen.com, domain-kdrgobjsvq.com, domain-kyiawzcaak.com, domain-kkwogkcsik.com, domain-zvayvvidxe.com, domain-kpwsukpfeg.com, domain-ycxfuaqmkx.com, domain-qrexocdntp.com, domain-upqbeiixpu.com, domain-zxsoxbesxk.com, domain-pxbkgczpjt.com, domain-tfaihagvxv.com, domain-ztwttnbxpm.com, domain-yasodizcbz.com, domain-vcrkeikici.com, domain-jlwarjhwbp.com, domain-ypxmkkeswv.com, domain-iocoeusyth.com, domain-ivbxiktijv.com, domain-uvhblgkhlm.com, domain-bazjwizedc.com, domain-xnpaovzfby.com, domain-taqmxjzatf.com, domain-slzptykfga.com, domain-krznzjhqor.com, domain-txozjangxx.com, domain-bsaxokkzoz.com, domain-zwaifamqvr.com, domain-cbrwqvfdea.com, domain-dyjdrfclbe.com, domain-nmagnqjtjd.com, domain-ypbiohfjeu.com, domain-hxpprojezz.com, domain-dyadfjdrfclbe.com, doadfmain-dyadfjdrfclbe.com, domain-uiigtkuksy.com, domain-sesuszlcai.com, domain-yhwfiusnnw.com, domain-mdwzlwepxl.com, domain-zttgehurwm.com, domain-uvekvbaqoz.com, domain-prdqcilbvc.com, domain-xddnkojtgf.com, domain-kenlpempje.com, domain-oozzcmyesz.com, domain-ovdelzqyim.com, domain-dmykrylmid.com, domain-zojznkkefo.com, domain-wqzqxpkzgx.com, domain-kckpyonvct.com, domain-asiygqrbwa.com, domain-mizcpqohrm.com, domain-clmkfudexr.com, domain-gtenluuges.com, domain-qbezgpesqo.com, domain-ktjvtfvkuo.com, domain-nhyfhpmbth.com, domain-iwodglnjmh.com, domain-qkjxwoimsb.com, domain-xcplaruxbm.com, domain-qzemwjcroo.com, domain-puppdqjvjo.com, domain-ecdmjbimsj.com, domain-cvzguopzos.com, domain-iixewimokv.com, domain-abjapdodma.com, domain-stmjydqmme.com, domain-nymlhknvug.com, domain-gxfjxjqllj.com, domain-cazqlazrgu.com) relacionados con este contacto, así que no se ha podido eliminar</error>
</errors>
Type
any


Extensiones

GET: /domains/extensions (secured)

Devuelve la lista de extensiones soportadas para tu cuenta de cliente, junto con los precios. La estructura tiene un primer nivel de TLD. Este contiene currency, que representa la divisa en la que se cobran las acciones del mismo (ISO 4217). Al mismo nivel que currency se encuentra pricing, que incluye una lista de acciones disponibles: register (registrar), renew (renovar), transfer (transferir) o restore (restaurar). Cada una de estas acciones incluye el precio para los años solicitados, con precio de acción por año. Es decir: com -> pricing -> register -> 5 contendría el precio por año de registrar un dominio .com por 5 años (precio por año).


Extensiones

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/extensions" \
	-H "X-TCpanel-Token: token"


Lista de dominios

GET: /domains/domains (secured)

Listado

Refiérete a la documentación del detalle de dominio para saber más acerca de cada atributo.

Además de filtrar por los atributos documentados en listados, es posible filtrar por el campo name, que es el nombre completo del dominio.


Possible Responses

200


Lista de dominios

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/domains" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 366,
    "name" : "domain-pasotkvhcp.com",
    "created_at" : "2015-04-17T19:59:17.000+02:00",
    "updated_at" : "2015-09-21T12:19:03.000+02:00",
    "auto_renew" : null,
    "privacy" : false,
    "protection" : true,
    "authcode" : "1t5q1stjB",
    "transfer_date_requested" : null,
    "nameservers" : [
      "dns3.debian.org",
      "dns4.debian.org"
    ],
    "contacts" : {
      "registrant" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "administrative" : {
        "id" : 473,
        "name" : "Nómbre",
        "company" : null,
        "email" : "PruebaWelcome3@PruebaWelcome.com",
        "address" : "PruebaWelcome3",
        "city" : "fsds",
        "state" : "Avila",
        "country" : "ES",
        "zipcode" : "22222",
        "phonecc" : "0",
        "phone" : "676767676",
        "created_at" : "2015-07-29T15:25:33.000+02:00",
        "updated_at" : "2015-09-21T12:18:35.000+02:00",
        "ic" : "N/A",
        "faxcc" : null,
        "fax" : null,
        "lastname" : "Apéllidos",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "billing" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "technical" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      }
    },
    "product_info" : {
      "product_status" : "active",
      "product_technical_status" : null,
      "product_periodicity" : "not_recurrent",
      "product_expiration" : "2055-04-17"
    }
  },
  {
    "id" : 367,
    "name" : "domain-btcknuweuh.com",
    "created_at" : "2015-04-17T19:59:18.000+02:00",
    "updated_at" : "2015-04-17T19:59:20.000+02:00",
    "auto_renew" : null,
    "privacy" : false,
    "protection" : true,
    "authcode" : "5No651D57",
    "transfer_date_requested" : null,
    "nameservers" : [
      "ns1.tecnocratica.net",
      "ns2.tecnocratica.net"
    ],
    "contacts" : {
      "registrant" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "administrative" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "billing" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      },
      "technical" : {
        "id" : 233,
        "name" : "Nómbre",
        "company" : "Neodigit",
        "email" : "info@neodigit.es",
        "address" : "Calle Agosto, 6 b",
        "city" : "Madrid",
        "state" : "Madrid",
        "country" : "ES",
        "zipcode" : "28022",
        "phonecc" : "34",
        "phone" : "34910059090",
        "created_at" : "2015-04-17T19:56:10.000+02:00",
        "updated_at" : "2015-07-29T15:24:44.000+02:00",
        "ic" : "N/A",
        "faxcc" : "34",
        "fax" : "910059090",
        "lastname" : "Apéllidossafdasd",
        "birthdate" : null,
        "birthplace" : null,
        "passport" : null
      }
    },
    "product_info" : {
      "product_status" : "active",
      "product_technical_status" : null,
      "product_periodicity" : "not_recurrent",
      "product_expiration" : "2022-04-17"
    }
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domains>
  <domain>
    <id>366</id>
    <name>domain-pasotkvhcp.com</name>
    <created-at>2015-04-17T19:59:17+02:00</created-at>
    <updated-at>2015-09-21T12:19:03+02:00</updated-at>
    <auto-renew nil="true"/>
    <privacy>false</privacy>
    <protection>true</protection>
    <authcode>1t5q1stjB</authcode>
    <transfer-date-requested nil="true"/>
    <nameservers>
      <nameserver>dns3.debian.org</nameserver>
      <nameserver>dns4.debian.org</nameserver>
    </nameservers>
    <contacts>
      <registrant>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </registrant>
      <administrative>
        <id>473</id>
        <name>Nómbre</name>
        <company nil="true"/>
        <email>PruebaWelcome3@PruebaWelcome.com</email>
        <address>PruebaWelcome3</address>
        <city>fsds</city>
        <state>Avila</state>
        <country>ES</country>
        <zipcode>22222</zipcode>
        <phonecc>0</phonecc>
        <phone>676767676</phone>
        <created-at>2015-07-29T15:25:33+02:00</created-at>
        <updated-at>2015-09-21T12:18:35+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc nil="true"/>
        <fax nil="true"/>
        <lastname>Apéllidos</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </administrative>
      <billing>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </billing>
      <technical>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </technical>
    </contacts>
    <product-info>
      <product-status>active</product-status>
      <product-technical-status nil="true"/>
      <product-periodicity>not_recurrent</product-periodicity>
      <product-expiration>2055-04-17</product-expiration>
    </product-info>
  </domain>
  <domain>
    <id>367</id>
    <name>domain-btcknuweuh.com</name>
    <created-at>2015-04-17T19:59:18+02:00</created-at>
    <updated-at>2015-04-17T19:59:20+02:00</updated-at>
    <auto-renew nil="true"/>
    <privacy>false</privacy>
    <protection>true</protection>
    <authcode>5No651D57</authcode>
    <transfer-date-requested nil="true"/>
    <nameservers>
      <nameserver>ns1.tecnocratica.net</nameserver>
      <nameserver>ns2.tecnocratica.net</nameserver>
    </nameservers>
    <contacts>
      <registrant>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </registrant>
      <administrative>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </administrative>
      <billing>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </billing>
      <technical>
        <id>233</id>
        <name>Nómbre</name>
        <company>Neodigit</company>
        <email>info@neodigit.es</email>
        <address>Calle Agosto, 6 b</address>
        <city>Madrid</city>
        <state>Madrid</state>
        <country>ES</country>
        <zipcode>28022</zipcode>
        <phonecc>34</phonecc>
        <phone>34910059090</phone>
        <created-at>2015-04-17T19:56:10+02:00</created-at>
        <updated-at>2015-07-29T15:24:44+02:00</updated-at>
        <ic>N/A</ic>
        <faxcc>34</faxcc>
        <fax>910059090</fax>
        <lastname>Apéllidossafdasd</lastname>
        <birthdate nil="true"/>
        <birthplace nil="true"/>
        <passport nil="true"/>
      </technical>
    </contacts>
    <product-info>
      <product-status>active</product-status>
      <product-technical-status nil="true"/>
      <product-periodicity>not_recurrent</product-periodicity>
      <product-expiration>2022-04-17</product-expiration>
    </product-info>
  </domain>
</domains>
Type
any


Detalle de dominio

GET: /domains/domains/{domainId} (secured)

AtributoTipoDescripción
idintegerIdentificador
namestringNombre del dominio (incluyendo el TLD)
auto_renewbooleanAuto renovación
privacybooleanPrivacidad de contactos (no está soportado por todos los TLD's)
protectionbooleanProtección de transferencia (no está soportado por todos los TLD's)
authcodestringAuthcode del dominio
transfer_date_requesteddatetimeEn caso de que el dominio sea una transferencia entrante, la fecha y hora de la última solicitud de transferencia
contactsobjectIncluye los identificadores de los dominios (registrant: registrante, administrative: administrativo, technical: técnico, billing: facturación)

product_status

Además de los estados documentados en el detalle de cualquier producto o servicio, los dominios pueden adoptar varios valores nuevos, que pasamos a documentar:

ValorDescripción
transferringEl dominio está siendo transferido hacia tu cuenta de cliente
transfer_expiredLa transferencia del dominio caducó o fue cancelada por el cliente o el proveedor saliente. Puedes reiniciar la transferencia para probar de nuevo. Reiniciar la transferencia no conlleva ningún coste adicional
outbound_transferEl dominio fue transferido hacia otro proveedor y ya hemos perdido el control sobre él
expiredEl dominio está expirado. Mientras el dominio tenga este estado es posible solicitar su renovación
redemptionEl dominio está en redención. Es posible solicitar su recuperación

URI Parameters

domainId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de dominio

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/domains/{domainId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 366,
  "name" : "domain-pasotkvhcp.com",
  "created_at" : "2015-04-17T19:59:17.000+02:00",
  "updated_at" : "2015-09-21T12:19:03.000+02:00",
  "auto_renew" : null,
  "privacy" : false,
  "protection" : true,
  "authcode" : "1t5q1stjB",
  "transfer_date_requested" : null,
  "nameservers" : [
    "dns3.debian.org",
    "dns4.debian.org"
  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 473,
      "name" : "Nómbre",
      "company" : null,
      "email" : "PruebaWelcome3@PruebaWelcome.com",
      "address" : "PruebaWelcome3",
      "city" : "fsds",
      "state" : "Avila",
      "country" : "ES",
      "zipcode" : "22222",
      "phonecc" : "0",
      "phone" : "676767676",
      "created_at" : "2015-07-29T15:25:33.000+02:00",
      "updated_at" : "2015-09-21T12:18:35.000+02:00",
      "ic" : "N/A",
      "faxcc" : null,
      "fax" : null,
      "lastname" : "Apéllidos",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "active",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : "2055-04-17"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>366</id>
  <name>domain-pasotkvhcp.com</name>
  <created-at>2015-04-17T19:59:17+02:00</created-at>
  <updated-at>2015-09-21T12:19:03+02:00</updated-at>
  <auto-renew nil="true"/>
  <privacy>false</privacy>
  <protection>true</protection>
  <authcode>1t5q1stjB</authcode>
  <transfer-date-requested nil="true"/>
  <nameservers>
    <nameserver>dns3.debian.org</nameserver>
    <nameserver>dns4.debian.org</nameserver>
  </nameservers>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>473</id>
      <name>Nómbre</name>
      <company nil="true"/>
      <email>PruebaWelcome3@PruebaWelcome.com</email>
      <address>PruebaWelcome3</address>
      <city>fsds</city>
      <state>Avila</state>
      <country>ES</country>
      <zipcode>22222</zipcode>
      <phonecc>0</phonecc>
      <phone>676767676</phone>
      <created-at>2015-07-29T15:25:33+02:00</created-at>
      <updated-at>2015-09-21T12:18:35+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc nil="true"/>
      <fax nil="true"/>
      <lastname>Apéllidos</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>active</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration>2055-04-17</product-expiration>
  </product-info>
</domain>
Type
any

Actualizar dominio (PUT)

PUT: /domains/domains/{domainId} (secured)


URI Parameters

domainId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar dominio (PUT)

CURL EXAMPLE

curl -X PUT "https://api.virtualname.net/v1/domains/domains/{domainId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any

{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any

RESPONSE BODY

200

{
  "id" : 366,
  "name" : "domain-pasotkvhcp.com",
  "created_at" : "2015-04-17T19:59:17.000+02:00",
  "updated_at" : "2015-09-21T14:40:22.000+02:00",
  "auto_renew" : null,
  "privacy" : false,
  "protection" : true,
  "authcode" : "1t5q1stjB",
  "transfer_date_requested" : null,
  "nameservers" : [
    "dns3.debian.org",
    "dns4.debian.org"
  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 473,
      "name" : "Nómbre",
      "company" : null,
      "email" : "PruebaWelcome3@PruebaWelcome.com",
      "address" : "PruebaWelcome3",
      "city" : "fsds",
      "state" : "Avila",
      "country" : "ES",
      "zipcode" : "22222",
      "phonecc" : "0",
      "phone" : "676767676",
      "created_at" : "2015-07-29T15:25:33.000+02:00",
      "updated_at" : "2015-09-21T12:18:35.000+02:00",
      "ic" : "N/A",
      "faxcc" : null,
      "fax" : null,
      "lastname" : "Apéllidos",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "active",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : "2055-04-17"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>366</id>
  <name>domain-pasotkvhcp.com</name>
  <created-at>2015-04-17T19:59:17+02:00</created-at>
  <updated-at>2015-09-21T14:40:22+02:00</updated-at>
  <auto-renew nil="true"/>
  <privacy>false</privacy>
  <protection>true</protection>
  <authcode>1t5q1stjB</authcode>
  <transfer-date-requested nil="true"/>
  <nameservers>
    <nameserver>dns3.debian.org</nameserver>
    <nameserver>dns4.debian.org</nameserver>
  </nameservers>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>473</id>
      <name>Nómbre</name>
      <company nil="true"/>
      <email>PruebaWelcome3@PruebaWelcome.com</email>
      <address>PruebaWelcome3</address>
      <city>fsds</city>
      <state>Avila</state>
      <country>ES</country>
      <zipcode>22222</zipcode>
      <phonecc>0</phonecc>
      <phone>676767676</phone>
      <created-at>2015-07-29T15:25:33+02:00</created-at>
      <updated-at>2015-09-21T12:18:35+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc nil="true"/>
      <fax nil="true"/>
      <lastname>Apéllidos</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>active</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration>2055-04-17</product-expiration>
  </product-info>
</domain>
Type
any

Actualizar dominio (PATCH)

PATCH: /domains/domains/{domainId} (secured)


URI Parameters

domainId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar dominio (PATCH)

CURL EXAMPLE

curl -X PATCH "https://api.virtualname.net/v1/domains/domains/{domainId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any

{ "domain" : { "nameservers" : ["dns3.debian.org", "dns4.debian.org"] } }
Type
any

RESPONSE BODY

200

{
  "id" : 366,
  "name" : "domain-pasotkvhcp.com",
  "created_at" : "2015-04-17T19:59:17.000+02:00",
  "updated_at" : "2015-09-21T14:40:22.000+02:00",
  "auto_renew" : null,
  "privacy" : false,
  "protection" : true,
  "authcode" : "1t5q1stjB",
  "transfer_date_requested" : null,
  "nameservers" : [
    "dns3.debian.org",
    "dns4.debian.org"
  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 473,
      "name" : "Nómbre",
      "company" : null,
      "email" : "PruebaWelcome3@PruebaWelcome.com",
      "address" : "PruebaWelcome3",
      "city" : "fsds",
      "state" : "Avila",
      "country" : "ES",
      "zipcode" : "22222",
      "phonecc" : "0",
      "phone" : "676767676",
      "created_at" : "2015-07-29T15:25:33.000+02:00",
      "updated_at" : "2015-09-21T12:18:35.000+02:00",
      "ic" : "N/A",
      "faxcc" : null,
      "fax" : null,
      "lastname" : "Apéllidos",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "active",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : "2055-04-17"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>366</id>
  <name>domain-pasotkvhcp.com</name>
  <created-at>2015-04-17T19:59:17+02:00</created-at>
  <updated-at>2015-09-21T14:40:22+02:00</updated-at>
  <auto-renew nil="true"/>
  <privacy>false</privacy>
  <protection>true</protection>
  <authcode>1t5q1stjB</authcode>
  <transfer-date-requested nil="true"/>
  <nameservers>
    <nameserver>dns3.debian.org</nameserver>
    <nameserver>dns4.debian.org</nameserver>
  </nameservers>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>473</id>
      <name>Nómbre</name>
      <company nil="true"/>
      <email>PruebaWelcome3@PruebaWelcome.com</email>
      <address>PruebaWelcome3</address>
      <city>fsds</city>
      <state>Avila</state>
      <country>ES</country>
      <zipcode>22222</zipcode>
      <phonecc>0</phonecc>
      <phone>676767676</phone>
      <created-at>2015-07-29T15:25:33+02:00</created-at>
      <updated-at>2015-09-21T12:18:35+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc nil="true"/>
      <fax nil="true"/>
      <lastname>Apéllidos</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>active</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration>2055-04-17</product-expiration>
  </product-info>
</domain>
Type
any


Renovar dominio

POST: /domains/domains/{domainId}/renew (secured)

Para renovar un dominio es necesario que especifiques el año de caducidad actual y los años que quieres renovar el dominio. Si por alguna razón pensabas que no habías renovado el dominio y si se renovó la acción no se ejecutará, y se devolverá un error, ya que el parámetro expiration_year que habrás especificado no coincidirá con la expiración real del dominio.

AtributoTipoDescripción
expiration_yearintegerAño de la expiración actual del dominio
yearsintegerAños que se renovará el dominio

URI Parameters

domainId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Renovar dominio

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/renew" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "expiration_year" : 1990, "years" : 1 } }
Type
any

{ "domain" : { "expiration_year" : 1990, "years" : 1 } }
Type
any

RESPONSE BODY

200

{
  "id" : 366,
  "name" : "domain-pasotkvhcp.com",
  "created_at" : "2015-04-17T19:59:17.000+02:00",
  "updated_at" : "2015-09-21T14:40:22.000+02:00",
  "auto_renew" : null,
  "privacy" : false,
  "protection" : true,
  "authcode" : "1t5q1stjB",
  "transfer_date_requested" : null,
  "nameservers" : [
    "dns3.debian.org",
    "dns4.debian.org"
  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 473,
      "name" : "Nómbre",
      "company" : null,
      "email" : "PruebaWelcome3@PruebaWelcome.com",
      "address" : "PruebaWelcome3",
      "city" : "fsds",
      "state" : "Avila",
      "country" : "ES",
      "zipcode" : "22222",
      "phonecc" : "0",
      "phone" : "676767676",
      "created_at" : "2015-07-29T15:25:33.000+02:00",
      "updated_at" : "2015-09-21T12:18:35.000+02:00",
      "ic" : "N/A",
      "faxcc" : null,
      "fax" : null,
      "lastname" : "Apéllidos",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "active",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : "2055-04-17"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>366</id>
  <name>domain-pasotkvhcp.com</name>
  <created-at>2015-04-17T19:59:17+02:00</created-at>
  <updated-at>2015-09-21T14:40:22+02:00</updated-at>
  <auto-renew nil="true"/>
  <privacy>false</privacy>
  <protection>true</protection>
  <authcode>1t5q1stjB</authcode>
  <transfer-date-requested nil="true"/>
  <nameservers>
    <nameserver>dns3.debian.org</nameserver>
    <nameserver>dns4.debian.org</nameserver>
  </nameservers>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>473</id>
      <name>Nómbre</name>
      <company nil="true"/>
      <email>PruebaWelcome3@PruebaWelcome.com</email>
      <address>PruebaWelcome3</address>
      <city>fsds</city>
      <state>Avila</state>
      <country>ES</country>
      <zipcode>22222</zipcode>
      <phonecc>0</phonecc>
      <phone>676767676</phone>
      <created-at>2015-07-29T15:25:33+02:00</created-at>
      <updated-at>2015-09-21T12:18:35+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc nil="true"/>
      <fax nil="true"/>
      <lastname>Apéllidos</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>active</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration>2055-04-17</product-expiration>
  </product-info>
</domain>
Type
any


Restaurar dominio

POST: /domains/domains/{domainId}/restore (secured)


URI Parameters

domainId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Restaurar dominio

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/{domainId}/restore" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

[object Object]
Type
any

[object Object]
Type
any

RESPONSE BODY

200

[object Object]
Type
any

200

[object Object]
Type
any


Disponibilidad de dominios para registro

POST: /domains/domains/register/available (secured)

Comprueba si una lista de dominios está disponible para registro.


Possible Responses

200


Disponibilidad de dominios para registro

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/register/available" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domains" : ["domain-hdacfnemxz.com", "domain-zapdklsvjo.net", "api.org"] }
Type
any

{ "domains" : ["domain-hdacfnemxz.com", "domain-zapdklsvjo.net", "api.org"] }
Type
any

RESPONSE BODY

200

{
  "domain-hdacfnemxz.com" : true,
  "domain-zapdklsvjo.net" : false,
  "api.org" : false
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<register-available>
  <domain-hdacfnemxz.com>true</domain-hdacfnemxz.com>
  <domain-zapdklsvjo.net>false</domain-zapdklsvjo.net>
  <api.org>false</api.org>
</register-available>
Type
any


Registrar dominio

POST: /domains/domains/register (secured)


Possible Responses

200


Registrar dominio

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/register" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "name" : "domain-cemrvupvtu.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "auto_renew" : true, "years" : 5, "nameservers" : ["dns1.debian.org", "dns2.debian.org"] } }
Type
any

{ "domain" : { "name" : "domain-cemrvupvtu.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "auto_renew" : true, "years" : 5, "nameservers" : ["dns1.debian.org", "dns2.debian.org"] } }
Type
any

RESPONSE BODY

200

{
  "id" : 746,
  "name" : "domain-cemrvupvtu.com",
  "created_at" : "2015-09-21T14:40:20.000+02:00",
  "updated_at" : "2015-09-21T14:40:20.000+02:00",
  "auto_renew" : true,
  "privacy" : null,
  "protection" : null,
  "authcode" : null,
  "transfer_date_requested" : null,
  "nameservers" : [
    "dns1.debian.org",
    "dns2.debian.org"
  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "paid",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : null
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>747</id>
  <name>domain-ypotqqjgaz.com</name>
  <created-at>2015-09-21T14:40:20+02:00</created-at>
  <updated-at>2015-09-21T14:40:21+02:00</updated-at>
  <auto-renew>true</auto-renew>
  <privacy nil="true"/>
  <protection nil="true"/>
  <authcode nil="true"/>
  <transfer-date-requested nil="true"/>
  <nameservers>
    <nameserver>dns1.debian.org</nameserver>
    <nameserver>dns2.debian.org</nameserver>
  </nameservers>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>paid</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration nil="true"/>
  </product-info>
</domain>
Type
any


Disponibilidad de dominios para transferir

POST: /domains/domains/transfer/availabile (secured)

Comprueba si una lista de dominios está disponible para transferencia.

Dependiendo del tipo de dominio, se comprobará si el dominio registrado ya, y en caso de estar registrado si su estado permite la transferencia.


Possible Responses

200


Disponibilidad de dominios para transferir

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/transfer/availabile" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any

{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any

RESPONSE BODY

200

{
  "domain-dxetkovqwa.com" : true,
  "domain-pqapprykdg.net" : false,
  "api.org" : false,
  "hello.es" : false
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<transfer-available>
  <domain-dxetkovqwa.com>true</domain-dxetkovqwa.com>
  <domain-pqapprykdg.net>false</domain-pqapprykdg.net>
  <api.org>false</api.org>
  <hello.es>false</hello.es>
</transfer-available>
Type
any


Transferir dominio

POST: /domains/domains/transfer (secured)


Possible Responses

200


Transferir dominio

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/domains/transfer" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any

{ "domain" : { "name" : "domain-dqwvnwnkgm.com", "contacts" : { "registrant" : 233, "administrative" : 233, "technical" : 233, "billing" : 233 }, "authcode" : "e^u23$!", "auto_renew" : true } }
Type
any

RESPONSE BODY

200

{
  "id" : 748,
  "name" : "domain-bloeviyprk.com",
  "created_at" : "2015-09-21T14:40:21.000+02:00",
  "updated_at" : "2015-09-21T14:40:21.000+02:00",
  "auto_renew" : true,
  "privacy" : null,
  "protection" : null,
  "authcode" : "y3%",
  "transfer_date_requested" : null,
  "nameservers" : [

  ],
  "contacts" : {
    "registrant" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "administrative" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "billing" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    },
    "technical" : {
      "id" : 233,
      "name" : "Nómbre",
      "company" : "Neodigit",
      "email" : "info@neodigit.es",
      "address" : "Calle Agosto, 6 b",
      "city" : "Madrid",
      "state" : "Madrid",
      "country" : "ES",
      "zipcode" : "28022",
      "phonecc" : "34",
      "phone" : "34910059090",
      "created_at" : "2015-04-17T19:56:10.000+02:00",
      "updated_at" : "2015-07-29T15:24:44.000+02:00",
      "ic" : "N/A",
      "faxcc" : "34",
      "fax" : "910059090",
      "lastname" : "Apéllidossafdasd",
      "birthdate" : null,
      "birthplace" : null,
      "passport" : null
    }
  },
  "product_info" : {
    "product_status" : "paid",
    "product_technical_status" : null,
    "product_periodicity" : "not_recurrent",
    "product_expiration" : null
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<domain>
  <id>749</id>
  <name>domain-dqwvnwnkgm.com</name>
  <created-at>2015-09-21T14:40:21+02:00</created-at>
  <updated-at>2015-09-21T14:40:21+02:00</updated-at>
  <auto-renew>true</auto-renew>
  <privacy nil="true"/>
  <protection nil="true"/>
  <authcode>e^u23$!</authcode>
  <transfer-date-requested nil="true"/>
  <nameservers/>
  <contacts>
    <registrant>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </registrant>
    <administrative>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </administrative>
    <billing>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </billing>
    <technical>
      <id>233</id>
      <name>Nómbre</name>
      <company>Neodigit</company>
      <email>info@neodigit.es</email>
      <address>Calle Agosto, 6 b</address>
      <city>Madrid</city>
      <state>Madrid</state>
      <country>ES</country>
      <zipcode>28022</zipcode>
      <phonecc>34</phonecc>
      <phone>34910059090</phone>
      <created-at>2015-04-17T19:56:10+02:00</created-at>
      <updated-at>2015-07-29T15:24:44+02:00</updated-at>
      <ic>N/A</ic>
      <faxcc>34</faxcc>
      <fax>910059090</fax>
      <lastname>Apéllidossafdasd</lastname>
      <birthdate nil="true"/>
      <birthplace nil="true"/>
      <passport nil="true"/>
    </technical>
  </contacts>
  <product-info>
    <product-status>paid</product-status>
    <product-technical-status nil="true"/>
    <product-periodicity>not_recurrent</product-periodicity>
    <product-expiration nil="true"/>
  </product-info>
</domain>
Type
any


Lista de hosts

GET: /domains/hosts (secured)


Possible Responses

200


Lista de hosts

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/hosts" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 224,
    "name" : "dns1",
    "ips" : [
      "8.8.8.8",
      "8.8.4.4"
    ]
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<hosts>
  <host>
    <id>224</id>
    <name>dns1</name>
    <ips>
      <ip>8.8.8.8</ip>
      <ip>8.8.4.4</ip>
    </ips>
  </host>
</hosts>
Type
any

Create host

POST: /domains/hosts (secured)


Possible Responses

201


Create host

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/hosts" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "host" : { "name" : "ns1", "ips" : ["8.8.8.8", "8.8.4.4"] } }
Type
any

{ "host" : { "name" : "ns1", "ips" : ["8.8.8.8", "8.8.4.4"] } }
Type
any

RESPONSE BODY

201

{
  "id" : 224,
  "name" : "dns1",
  "ips" : [
    "8.8.8.8",
    "8.8.4.4"
  ]
}
Type
any

201

<?xml version="1.0" encoding="UTF-8"?>
<host>
  <id>224</id>
  <name>dns1</name>
  <ips>
    <ip>8.8.8.8</ip>
    <ip>8.8.4.4</ip>
  </ips>
</host>
Type
any


Detalles de host

GET: /domains/hosts/{hostId} (secured)


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalles de host

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 224,
  "name" : "dns1",
  "ips" : [
    "8.8.8.8",
    "8.8.4.4"
  ]
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<host>
  <id>224</id>
  <name>dns1</name>
  <ips>
    <ip>8.8.8.8</ip>
    <ip>8.8.4.4</ip>
  </ips>
</host>
Type
any

Actualizar host (PUT)

PUT: /domains/hosts/{hostId} (secured)

Updates the IP addresses for a host or glue record.


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar host (PUT)

CURL EXAMPLE

curl -X PUT "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

[object Object]
Type
any

[object Object]
Type
any

RESPONSE BODY

200

[object Object]
Type
any

200

[object Object]
Type
any

Actualizar host (PATCH)

PATCH: /domains/hosts/{hostId} (secured)

Updates the IP addresses for a host or glue record.


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Actualizar host (PATCH)

CURL EXAMPLE

curl -X PATCH "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

[object Object]
Type
any

[object Object]
Type
any

RESPONSE BODY

200

[object Object]
Type
any

200

[object Object]
Type
any

Eliminar host

DELETE: /domains/hosts/{hostId} (secured)


URI Parameters

hostId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Eliminar host

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/domains/hosts/{hostId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

Can not resolve /examples/json/delete_host.json
Type
any

200

Can not resolve /examples/xml/delete_host.xml
Type
any


Registro masivo de dominios

POST: /domains/bulk/register (secured)


Possible Responses

200


Registro masivo de dominios

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/bulk/register" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

RESPONSE BODY


Transferencia masiva de dominios

POST: /domains/bulk/transfer (secured)


Possible Responses

200


Transferencia masiva de dominios

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/bulk/transfer" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

RESPONSE BODY


Renovación masiva de dominios

POST: /domains/bulk/renew (secured)


Possible Responses

200


Renovación masiva de dominios

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/bulk/renew" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

RESPONSE BODY


Actualización masiva de dominios

POST: /domains/bulk/update (secured)


Possible Responses

200


Actualización masiva de dominios

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/domains/bulk/update" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

RESPONSE BODY

Dns


Lista de zonas

GET: /dns/zones (secured)

Listado

Refiérete a la documentación del detalle de zona para saber más acerca de cada atributo.


Possible Responses

200


Lista de zonas

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/dns/zones" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 6,
    "name" : "myzone-ujuexzzzpw.com",
    "created_at" : "2015-09-21T12:19:04.000+02:00",
    "updated_at" : "2015-09-21T12:19:04.000+02:00",
    "human_name" : "myzone-ujuexzzzpw.com"
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<zones>
  <zone>
    <id>6</id>
    <name>myzone-ujuexzzzpw.com</name>
    <created-at>2015-09-21T12:19:04+02:00</created-at>
    <updated-at>2015-09-21T12:19:04+02:00</updated-at>
    <human-name>myzone-ujuexzzzpw.com</human-name>
  </zone>
</zones>
Type
any

Crear zona

POST: /dns/zones (secured)

Atributos obligatorios

name

Atributos opcionales

Ninguno

Refiérete a la documentación del detalle de zona para saber más acerca de cada atributo.


Possible Responses

201


Crear zona

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/dns/zones" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "zone" : { "name" : "myzone-kplhsjhlsa.com" } }
Type
any

{ "zone" : { "name" : "myzone-kplhsjhlsa.com" } }
Type
any

RESPONSE BODY

201

{
  "id" : 6,
  "name" : "myzone-ujuexzzzpw.com",
  "created_at" : "2015-09-21T12:19:04.000+02:00",
  "updated_at" : "2015-09-21T12:19:04.000+02:00",
  "human_name" : "myzone-ujuexzzzpw.com"
}
Type
any

201

<?xml version="1.0" encoding="UTF-8"?>
<zone>
  <id>6</id>
  <name>myzone-ujuexzzzpw.com</name>
  <created-at>2015-09-21T12:19:04+02:00</created-at>
  <updated-at>2015-09-21T12:19:04+02:00</updated-at>
  <human-name>myzone-ujuexzzzpw.com</human-name>
</zone>
Type
any


Detalle de zona

GET: /dns/zones/{zoneId} (secured)

AtributoTipoDescripción
idintegerIdentificador
namestringNombre del dominio en codificación IDN (RFC 5890)
human_namestringNombre del dominio en codificación UTF-8

URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de zona

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 6,
  "name" : "myzone-ujuexzzzpw.com",
  "created_at" : "2015-09-21T12:19:04.000+02:00",
  "updated_at" : "2015-09-21T12:19:04.000+02:00",
  "human_name" : "myzone-ujuexzzzpw.com"
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<zone>
  <id>6</id>
  <name>myzone-ujuexzzzpw.com</name>
  <created-at>2015-09-21T12:19:04+02:00</created-at>
  <updated-at>2015-09-21T12:19:04+02:00</updated-at>
  <human-name>myzone-ujuexzzzpw.com</human-name>
</zone>
Type
any

Eliminar zona

DELETE: /dns/zones/{zoneId} (secured)


URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

Eliminar zona

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/dns/zones/{zoneId}" \
	-H "X-TCpanel-Token: token"


Lista de registros

GET: /dns/zones/{zoneId}/records (secured)

Listado

Además de filtrar por los atributos documentados en listados, es posible filtrar por el campo type, que puede adoptar cualquiera de los valores documentados en el detalle de registro.

Refiérete a la documentación del detalle de registro para saber más acerca de cada atributo.

Obtener únicamente los registros de tipo NS

curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/dns/zones/8/records.json?type=NS"
curl -vvv -H 'X-TCpanel-Token: token' "https://api.virtualname.net/v1/dns/zones/8/records.xml?type=NS"

URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Lista de registros

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}/records" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

[
  {
    "id" : 98,
    "name" : "",
    "type" : "SOA",
    "content" : "ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800",
    "ttl" : 7200,
    "prio" : null,
    "created_at" : "2015-09-21T14:40:26.000+02:00",
    "updated_at" : "2015-09-21T14:40:26.000+02:00",
    "extra_fields" : {
      "primary" : "ns1.tecnocratica.net",
      "hostmaster" : "dns.tecnocratica.net",
      "serial" : "2015092102",
      "refresh" : "7200",
      "retry" : "7200",
      "expire" : "1209600",
      "negative_ttl" : "1800"
    }
  },
  {
    "id" : 99,
    "name" : "",
    "type" : "NS",
    "content" : "ns1.tecnocratica.net",
    "ttl" : 7200,
    "prio" : null,
    "created_at" : "2015-09-21T14:40:26.000+02:00",
    "updated_at" : "2015-09-21T14:40:26.000+02:00",
    "extra_fields" : null
  },
  {
    "id" : 100,
    "name" : "",
    "type" : "NS",
    "content" : "ns2.tecnocratica.net",
    "ttl" : 7200,
    "prio" : null,
    "created_at" : "2015-09-21T14:40:26.000+02:00",
    "updated_at" : "2015-09-21T14:40:26.000+02:00",
    "extra_fields" : null
  }
]
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<records>
  <record>
    <id>98</id>
    <name></name>
    <type>SOA</type>
    <content>ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800</content>
    <ttl>7200</ttl>
    <prio nil="true"/>
    <created-at>2015-09-21T14:40:26+02:00</created-at>
    <updated-at>2015-09-21T14:40:26+02:00</updated-at>
    <extra-fields>
      <primary>ns1.tecnocratica.net</primary>
      <hostmaster>dns.tecnocratica.net</hostmaster>
      <serial>2015092102</serial>
      <refresh>7200</refresh>
      <retry>7200</retry>
      <expire>1209600</expire>
      <negative-ttl>1800</negative-ttl>
    </extra-fields>
  </record>
  <record>
    <id>99</id>
    <name></name>
    <type>NS</type>
    <content>ns1.tecnocratica.net</content>
    <ttl>7200</ttl>
    <prio nil="true"/>
    <created-at>2015-09-21T14:40:26+02:00</created-at>
    <updated-at>2015-09-21T14:40:26+02:00</updated-at>
    <extra-fields nil="true"/>
  </record>
  <record>
    <id>100</id>
    <name></name>
    <type>NS</type>
    <content>ns2.tecnocratica.net</content>
    <ttl>7200</ttl>
    <prio nil="true"/>
    <created-at>2015-09-21T14:40:26+02:00</created-at>
    <updated-at>2015-09-21T14:40:26+02:00</updated-at>
    <extra-fields nil="true"/>
  </record>
</records>
Type
any

Crear registro

POST: /dns/zones/{zoneId}/records (secured)

Atributos obligatorios

type

El campo tipo es siempre obligatorio cuando se crea un registro.

Tipo A

content es obligatorio y debe ser una dirección IPv4 válida.

Tipo AAAA

content es obligatorio y debe ser una dirección IPv6 válida.

Tipo CNAME

content es obligatorio y debe ser un hostname válido. Además el campo name no puede ser vacío.

Tipo MX

Es obligatorio especificar el campo prio con la prioridad del registro.

Tipo SRV

Es necesario que se incluya el campo extra_fields con los siguientes atributos: service_name, protocol, weight, destination_host y destination_port. Además es obligatorio expecificar el campo prio con la prioridad del registro.

Tipo SPF

content es obligatorio.

Tipo TXT

content es obligatorio.

Refiérete a la documentación del detalle de registro para saber más acerca de cada atributo.


URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

Possible Responses

201


Crear registro

CURL EXAMPLE

curl -X POST "https://api.virtualname.net/v1/dns/zones/{zoneId}/records" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{
  "record": {
    "name": "blog",
    "type": "CNAME",
    "content": "my.domain.com"
  }
}

{
  "record": {
    "type": "SRV",
    "prio": 5,
    "extra_fields": {
      "service_name": "xmpp-client",
      "protocol": "tcp",
      "weight": 0,
      "destination_host": "server.example.net",
      "destination_port": 5222
    }
  }
}
Type
any

{
  "record": {
    "name": "blog",
    "type": "CNAME",
    "content": "my.domain.com"
  }
}

{
  "record": {
    "type": "SRV",
    "prio": 5,
    "extra_fields": {
      "service_name": "xmpp-client",
      "protocol": "tcp",
      "weight": 0,
      "destination_host": "server.example.net",
      "destination_port": 5222
    }
  }
}
Type
any

RESPONSE BODY

201

{
  "id": 101,
  "name": "www.myzone-hbbpocqwvu.com",
  "type": "CNAME",
  "content": "my.domain.com",
  "ttl": 7200,
  "prio": null,
  "created_at": "2015-09-21T14:40:27.127+02:00",
  "updated_at": "2015-09-21T14:40:27.127+02:00",
  "extra_fields": null
}

201

{
  "id": 103,
  "name": "_xmpp-client._tcp.myzone-hbbpocqwvu.com",
  "type": "SRV",
  "content": "0 5222 server.example.net",
  "ttl": 7200,
  "prio": 5,
  "created_at": "2015-09-21T14:40:27.253+02:00",
  "updated_at": "2015-09-21T14:40:27.253+02:00",
  "extra_fields": {
    "service_name": "xmpp-client",
    "protocol": "tcp",
    "weight": 0,
    "destination_host": "server.example.net",
    "destination_port": 5222
  }
}
Type
any

201

<?xml version="1.0" encoding="UTF-8"?><record><id>102</id><name>blog.myzone-hbbpocqwvu.com</name><type>CNAME</type><content>my.domain.com</content><ttl>7200</ttl><prio nil="true"/><created-at>2015-09-21T14:40:27+02:00</created-at><updated-at>2015-09-21T14:40:27+02:00</updated-at><extra-fields nil="true"/></record>

201

<?xml version="1.0" encoding="UTF-8"?><record><id>104</id><name>_xmpp-server._tcp.myzone-hbbpocqwvu.com</name><type>SRV</type><content>0 5269 server.example.net</content><ttl>7200</ttl><prio>5</prio><created-at>2015-09-21T14:40:27+02:00</created-at><updated-at>2015-09-21T14:40:27+02:00</updated-at><extra-fields><service-name>xmpp-server</service-name><protocol>tcp</protocol><weight>0</weight><destination-host>server.example.net</destination-host><destination-port>5269</destination-port></extra-fields></record>
Type
any


Detalle de registro

GET: /dns/zones/{zoneId}/records/{recordId} (secured)

AtributoTipoDescripción
idintegerIdentificador
namestringNombre de la entrada
typestringTipo de registro
contentstringContenido del registro
ttlintegerTTL
priointegerPrioridad

type

Valor
A
AAAA
CNAME
MX
NS
SOA
SPF
SRV
TXT

Campos adicionales

En el caso de los registros de tipo SOA, MX y SRV el campo content es automáticamente procesado y se añaden más atributos a la respuesta de la API en el atributo extra_fields.

SOA

AtributoTipoValor
primarystringNS primario
hostmasterstringHostmaster de la zona
serialstringSerial de la zona
refreshintegerValor de refresh
retryintegerValor de retry
expireintegerValor de expire
default_ttlintegerTTL por defecto de la zona

MX

AtributoTipoValor
serverstringServidor MX

SRV

AtributoTipoValor
service_namestringNombre del servicio
protocolstringProtocolo del servicio
weightintegerPeso
destination_hoststringHost destino
destination_portintegerPuerto destino

URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

Possible Responses

200


Detalle de registro

CURL EXAMPLE

curl -X GET "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
	-H "X-TCpanel-Token: token"

RESPONSE BODY

200

{
  "id" : 98,
  "name" : "",
  "type" : "SOA",
  "content" : "ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800",
  "ttl" : 7200,
  "prio" : null,
  "created_at" : "2015-09-21T14:40:26.000+02:00",
  "updated_at" : "2015-09-21T14:40:26.000+02:00",
  "extra_fields" : {
    "primary" : "ns1.tecnocratica.net",
    "hostmaster" : "dns.tecnocratica.net",
    "serial" : "2015092102",
    "refresh" : "7200",
    "retry" : "7200",
    "expire" : "1209600",
    "negative_ttl" : "1800"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<record>
  <id>98</id>
  <name></name>
  <type>SOA</type>
  <content>ns1.tecnocratica.net dns.tecnocratica.net 2015092102 7200 7200 1209600 1800</content>
  <ttl>7200</ttl>
  <prio nil="true"/>
  <created-at>2015-09-21T14:40:26+02:00</created-at>
  <updated-at>2015-09-21T14:40:26+02:00</updated-at>
  <extra-fields>
    <primary>ns1.tecnocratica.net</primary>
    <hostmaster>dns.tecnocratica.net</hostmaster>
    <serial>2015092102</serial>
    <refresh>7200</refresh>
    <retry>7200</retry>
    <expire>1209600</expire>
    <negative-ttl>1800</negative-ttl>
  </extra-fields>
</record>
Type
any

Actualizar registro (PUT)

PUT: /dns/zones/{zoneId}/records/{recordId} (secured)

Refiérete a la documentación del detalle de registro para saber más acerca de cada atributo.

Refiérete a la documentación de crear registro para saber qué atributos son obligatorios y cuáles son opcionales.


URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

Possible Responses

200

422


Actualizar registro (PUT)

CURL EXAMPLE

curl -X PUT "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "record" : { "extra_fields" : { "destination_host" : "server.example2.net" } } }
Type
any

{ "record" : { "extra_fields" : { "destination_host" : "server.example2.net" } } }
Type
any

RESPONSE BODY

200

{
  "id" : 104,
  "name" : "_xmpp-server._tcp.www.myzone-hbbpocqwvu.com",
  "type" : "SRV",
  "content" : "0 5269 server.example.net",
  "ttl" : 7200,
  "prio" : 5,
  "created_at" : "2015-09-21T14:40:27.000+02:00",
  "updated_at" : "2015-09-21T14:40:27.421+02:00",
  "extra_fields" : {
    "service_name" : "xmpp-server",
    "protocol" : "tcp",
    "weight" : "0",
    "destination_host" : "server.example.net",
    "destination_port" : "5269"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<record>
  <id>104</id>
  <name>_xmpp-server._tcp.www.myzone-hbbpocqwvu.com</name>
  <type>SRV</type>
  <content>0 5269 server.example.net</content>
  <ttl>7200</ttl>
  <prio>5</prio>
  <created-at>2015-09-21T14:40:27+02:00</created-at>
  <updated-at>2015-09-21T14:40:27+02:00</updated-at>
  <extra-fields>
    <service-name>xmpp-server</service-name>
    <protocol>tcp</protocol>
    <weight>0</weight>
    <destination-host>server.example.net</destination-host>
    <destination-port>5269</destination-port>
  </extra-fields>
</record>
Type
any

Actualizar registro (PATCH)

PATCH: /dns/zones/{zoneId}/records/{recordId} (secured)

Refiérete a la documentación del detalle de registro para saber más acerca de cada atributo.

Refiérete a la documentación de crear registro para saber qué atributos son obligatorios y cuáles son opcionales.


URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

Possible Responses

200

422


Actualizar registro (PATCH)

CURL EXAMPLE

curl -X PATCH "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
	-H "X-TCpanel-Token: token" \
	-H "Content-type: application/json" \
	-d @request_body

REQUEST BODY

{ "record" : { "name" : "www", "content" : "another.domain.com" } }
Type
any

{ "record" : { "name" : "www", "content" : "another.domain.com" } }
Type
any

RESPONSE BODY

200

{
  "id" : 104,
  "name" : "_xmpp-server._tcp.www.myzone-hbbpocqwvu.com",
  "type" : "SRV",
  "content" : "0 5269 server.example.net",
  "ttl" : 7200,
  "prio" : 5,
  "created_at" : "2015-09-21T14:40:27.000+02:00",
  "updated_at" : "2015-09-21T14:40:27.421+02:00",
  "extra_fields" : {
    "service_name" : "xmpp-server",
    "protocol" : "tcp",
    "weight" : "0",
    "destination_host" : "server.example.net",
    "destination_port" : "5269"
  }
}
Type
any

200

<?xml version="1.0" encoding="UTF-8"?>
<record>
  <id>104</id>
  <name>_xmpp-server._tcp.www.myzone-hbbpocqwvu.com</name>
  <type>SRV</type>
  <content>0 5269 server.example.net</content>
  <ttl>7200</ttl>
  <prio>5</prio>
  <created-at>2015-09-21T14:40:27+02:00</created-at>
  <updated-at>2015-09-21T14:40:27+02:00</updated-at>
  <extra-fields>
    <service-name>xmpp-server</service-name>
    <protocol>tcp</protocol>
    <weight>0</weight>
    <destination-host>server.example.net</destination-host>
    <destination-port>5269</destination-port>
  </extra-fields>
</record>
Type
any

Eliminar registro

DELETE: /dns/zones/{zoneId}/records/{recordId} (secured)


URI Parameters

zoneId

PropertyValue
requiredtrue
typestring

recordId

PropertyValue
requiredtrue
typestring

Eliminar registro

CURL EXAMPLE

curl -X DELETE "https://api.virtualname.net/v1/dns/zones/{zoneId}/records/{recordId}" \
	-H "X-TCpanel-Token: token"