Documentação da API Alojamento web acessível a todos Visitar a LWS

Atualizar os servidores de nomes de um domínio

Diferido

PUT https://api.lws.net/v1/domain/{domain}/dns

operationIdputDomainDns

Atualiza os servidores de nomes (NS1-NS4) do domínio especificado. Os NS inválidos ou duplicados não serão tidos em conta e os 4 devem ser adicionados, mesmo que sejam iguais aos anteriores.

Este pedido é processado em segundo plano: responde de imediato enquanto o trabalho continua. Acompanhe-o com os endpoints de tarefas ou pedidos.

Parâmetros do caminho

domain string obrigatório

Nome de domínio cujo DNS se pretende alterar

Corpo do pedido

  • ns1 string

    Servidor de nomes primário

    Exemplo: ns1.lwsdns.com

    obrigatório
  • ns2 string

    Servidor de nomes secundário

    Exemplo: ns2.lwsdns.com

    obrigatório
  • ns3 string

    Servidor de nomes terciário

    Exemplo: ns3.lwsdns.com

    obrigatório
  • ns4 string

    Servidor de nomes quaternário

    Exemplo: ns4.lwsdns.com

    obrigatório
Exemplo de pedido
{
  "ns1": "ns1.lwsdns.com",
  "ns2": "ns2.lwsdns.com",
  "ns3": "ns3.lwsdns.com",
  "ns4": "ns4.lwsdns.com"
}

Respostas

200

Pedido de atualização dos servidores de nomes DNS pendente

{
  "code": 200,
  "info": "Your request to change the DNS of the domain is currently pending. If no changes are made after a few minutes, please make sure the nameservers are valid.",
  "data": "pending"
}
Campos da resposta 3 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 200

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Your request to change the DNS of the domain is currently pending. If no changes are made after a few minutes, please make sure the nameservers are valid.

  • data string

    Exemplo: pending

314

Domínio não encontrado na conta

314 não é um código de estado HTTP registado. É específico desta API.

{
  "code": 314,
  "info": "Provided domain has not been found on your account. You must own this domain to manage it."
}
Campos da resposta 2 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 314

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Provided domain has not been found on your account. You must own this domain to manage it.

400

Entrada inválida

{
  "code": 400,
  "info": "At least 2 nameservers are required",
  "data": [
    "string"
  ]
}
Campos da resposta 3 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 400

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: At least 2 nameservers are required

  • data string[]
500

Erro interno do servidor

{
  "code": 500,
  "info": "Internal Server Error",
  "data": "string"
}
Campos da resposta 3 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 500

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Internal Server Error

  • data string

    Mensagem de erro

502

Gateway inválido

{
  "code": 502,
  "info": "Invalid response from upstream server",
  "data": []
}
Campos da resposta 3 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 502

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Invalid response from upstream server

  • data object

    Resposta inválida devolvida pelo servidor

503

Estado inesperado

{
  "code": 503,
  "info": "Unexpected status: {status}",
  "data": [
    "string"
  ]
}
Campos da resposta 3 Estende ApiEnvelope
  • code integer

    Código de estado/erro ao nível da aplicação (nem sempre igual ao código de estado HTTP)

    Exemplo: 503

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Unexpected status: {status}

  • data string[]
401

Não autorizado - Faltam os cabeçalhos de autenticação

{
  "code": 401,
  "info": "Unauthorized access to the API. Please specify X-Auth-Pass and X-Auth-Login to proceed."
}
Campos da resposta 2
  • code integer

    Exemplo: 401

  • info string

    Exemplo: Unauthorized access to the API. Please specify X-Auth-Pass and X-Auth-Login to proceed.

429

Limite de pedidos excedido

{
  "code": 429,
  "info": "Rate limit exceeded. Please try again later."
}
Campos da resposta 2
  • code integer

    Exemplo: 429

  • info string

    Exemplo: Rate limit exceeded. Please try again later.

Mostrar os exemplos de código e a consola de testes
PUT /domain/{domain}/dns
LWS_AUTH_LOGIN='…'LWS_AUTH_PASS='…'curl -X PUT \  "https://api.lws.net/v1/domain/{domain}/dns" \  -H "X-Auth-Login: $LWS_AUTH_LOGIN" \  -H "X-Auth-Pass: $LWS_AUTH_PASS" \  -H "Content-Type: application/json" \  -d '{"ns1":"ns1.lwsdns.com","ns2":"ns2.lwsdns.com","ns3":"ns3.lwsdns.com","ns4":"ns4.lwsdns.com"}'
$lwsAuthLogin = '…';$lwsAuthPass = '…';$ch = curl_init("https://api.lws.net/v1/domain/{domain}/dns");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [    "X-Auth-Login: " . $lwsAuthLogin,    "X-Auth-Pass: " . $lwsAuthPass,    "Content-Type: application/json",]);curl_setopt($ch, CURLOPT_POSTFIELDS, '{"ns1":"ns1.lwsdns.com","ns2":"ns2.lwsdns.com","ns3":"ns3.lwsdns.com","ns4":"ns4.lwsdns.com"}');$res = json_decode(curl_exec($ch), true);
import requestsLWS_AUTH_LOGIN = "…"LWS_AUTH_PASS = "…"res = requests.put(    "https://api.lws.net/v1/domain/{domain}/dns",    headers={        "X-Auth-Login": LWS_AUTH_LOGIN,        "X-Auth-Pass": LWS_AUTH_PASS,    },    json={"ns1": "ns1.lwsdns.com", "ns2": "ns2.lwsdns.com", "ns3": "ns3.lwsdns.com", "ns4": "ns4.lwsdns.com"},)print(res.json())
const LWS_AUTH_LOGIN = "…";const LWS_AUTH_PASS = "…";const res = await fetch("https://api.lws.net/v1/domain/{domain}/dns", {  method: "PUT",  headers: {    "X-Auth-Login": LWS_AUTH_LOGIN,    "X-Auth-Pass": LWS_AUTH_PASS,    "Content-Type": "application/json",  },  body: JSON.stringify({"ns1":"ns1.lwsdns.com","ns2":"ns2.lwsdns.com","ns3":"ns3.lwsdns.com","ns4":"ns4.lwsdns.com"}),});const data = await res.json();
lwsAuthLogin := "…"lwsAuthPass := "…"body := strings.NewReader(`{"ns1":"ns1.lwsdns.com","ns2":"ns2.lwsdns.com","ns3":"ns3.lwsdns.com","ns4":"ns4.lwsdns.com"}`)req, _ := http.NewRequest("PUT",    "https://api.lws.net/v1/domain/{domain}/dns", body)req.Header.Set("X-Auth-Login", lwsAuthLogin)req.Header.Set("X-Auth-Pass", lwsAuthPass)req.Header.Set("Content-Type", "application/json")resp, err := http.DefaultClient.Do(req)