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

Atualizar um registo da zona DNS

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

operationIdputDomainZdns

Atualiza um registo existente da zona DNS para o domínio especificado. O ID do registo pode ser encontrado efetuando um pedido GET sobre a zona DNS do domínio. Se o registo não existir, será antes adicionado

Parâmetros do caminho

domain string obrigatório

Nome de domínio cujo registo DNS se pretende atualizar

Exemplo: example.fr

Corpo do pedido

  • id integer

    ID do registo a atualizar

    Exemplo: 234851

    obrigatório
  • type string

    Tipo de registo DNS

    Exemplo: A

    obrigatório
  • name string

    Nome do registo

    Exemplo: @

    obrigatório
  • value string

    Valor do registo

    Exemplo: 192.0.2.1

    obrigatório
  • ttl integer

    Tempo de vida (TTL) em segundos

    Exemplo: 86400

    obrigatório
Exemplo de pedido
{
  "id": 234851,
  "type": "A",
  "name": "@",
  "value": "192.0.2.1",
  "ttl": 86400
}

Respostas

200

Registo DNS atualizado com sucesso

{
  "code": 200,
  "info": "Updated record",
  "data": {
    "id": "568470",
    "type": "AAAA",
    "name": "@",
    "value": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
    "ttl": 86400
  }
}
Campos da resposta 8 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: Updated record

  • data object
  • id integer

    ID do registo. Utilizado para funções específicas do registo como DELETE

    Exemplo: 568470

  • type string

    Tipo de campo a adicionar à zona DNS. Deve ser A, AAAA, CNAME, ANAME, MX, NS, TXT, SRV, SPF ou CAA

    Exemplo: AAAA

  • name string

    Nome do campo a adicionar à zona DNS. O seu conteúdo depende do tipo de registo a adicionar. Por exemplo, @ ou mail para registos A, www para registos CNAME, @ para NS, etc...

    Exemplo: @

  • value string

    Valor do campo a adicionar à zona DNS. Pode ser um endereço IP, um nome de domínio, um DNS, ...

    Exemplo: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

  • ttl integer

    Tempo de vida (TTL) do campo a adicionar à zona DNS. Deve ser 86400, 43200, 21600, 7200, 3600, 1800 ou 900

    Exemplo: 86400

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": "Invalid input",
  "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: 400

  • info string

    Mensagem legível que descreve o resultado do pedido

    Exemplo: Invalid input

  • data object

    Detalhes dos erros de validação

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

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}/zdns
LWS_AUTH_LOGIN='…'LWS_AUTH_PASS='…'curl -X PUT \  "https://api.lws.net/v1/domain/example.fr/zdns" \  -H "X-Auth-Login: $LWS_AUTH_LOGIN" \  -H "X-Auth-Pass: $LWS_AUTH_PASS" \  -H "Content-Type: application/json" \  -d '{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}'
$lwsAuthLogin = '…';$lwsAuthPass = '…';$ch = curl_init("https://api.lws.net/v1/domain/example.fr/zdns");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, '{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}');$res = json_decode(curl_exec($ch), true);
import requestsLWS_AUTH_LOGIN = "…"LWS_AUTH_PASS = "…"res = requests.put(    "https://api.lws.net/v1/domain/example.fr/zdns",    headers={        "X-Auth-Login": LWS_AUTH_LOGIN,        "X-Auth-Pass": LWS_AUTH_PASS,    },    json={"id": 234851, "type": "A", "name": "@", "value": "192.0.2.1", "ttl": 86400},)print(res.json())
const LWS_AUTH_LOGIN = "…";const LWS_AUTH_PASS = "…";const res = await fetch("https://api.lws.net/v1/domain/example.fr/zdns", {  method: "PUT",  headers: {    "X-Auth-Login": LWS_AUTH_LOGIN,    "X-Auth-Pass": LWS_AUTH_PASS,    "Content-Type": "application/json",  },  body: JSON.stringify({"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}),});const data = await res.json();
lwsAuthLogin := "…"lwsAuthPass := "…"body := strings.NewReader(`{"id":234851,"type":"A","name":"@","value":"192.0.2.1","ttl":86400}`)req, _ := http.NewRequest("PUT",    "https://api.lws.net/v1/domain/example.fr/zdns", 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)