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

Adicionar um registo a uma zona DNS

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

operationIdpostDomainZdns

Adiciona um novo registo à zona DNS do domínio indicado. A propagação do registo pode demorar até algumas horas.

Parâmetros do caminho

domain string obrigatório

Nome de domínio para o qual adicionar o registo DNS

Corpo do pedido

  • type string

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

    Exemplo: A

    obrigatório
  • name string

    Nome do registo 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: @

    obrigatório
  • value string

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

    Exemplo: 192.0.2.1

    obrigatório
  • ttl integer

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

    Exemplo: 86400

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

Respostas

200

Registo DNS adicionado com sucesso

{
  "code": 200,
  "info": "Added a new line in the DNS Zone",
  "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: Added a new line in the DNS Zone

  • 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; pode tratar-se de campos em falta, campos inválidos, ... Consulte os dados fornecidos para mais detalhes.

{
  "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
POST /domain/{domain}/zdns
LWS_AUTH_LOGIN='…'LWS_AUTH_PASS='…'curl -X POST \  "https://api.lws.net/v1/domain/{domain}/zdns" \  -H "X-Auth-Login: $LWS_AUTH_LOGIN" \  -H "X-Auth-Pass: $LWS_AUTH_PASS" \  -H "Content-Type: application/json" \  -d '{"type":"A","name":"@","value":"192.0.2.1","ttl":86400}'
$lwsAuthLogin = '…';$lwsAuthPass = '…';$ch = curl_init("https://api.lws.net/v1/domain/{domain}/zdns");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");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, '{"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.post(    "https://api.lws.net/v1/domain/{domain}/zdns",    headers={        "X-Auth-Login": LWS_AUTH_LOGIN,        "X-Auth-Pass": LWS_AUTH_PASS,    },    json={"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/{domain}/zdns", {  method: "POST",  headers: {    "X-Auth-Login": LWS_AUTH_LOGIN,    "X-Auth-Pass": LWS_AUTH_PASS,    "Content-Type": "application/json",  },  body: JSON.stringify({"type":"A","name":"@","value":"192.0.2.1","ttl":86400}),});const data = await res.json();
lwsAuthLogin := "…"lwsAuthPass := "…"body := strings.NewReader(`{"type":"A","name":"@","value":"192.0.2.1","ttl":86400}`)req, _ := http.NewRequest("POST",    "https://api.lws.net/v1/domain/{domain}/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)