Pular para conteúdo

Websites e DNS

Criar entrada DNS

Criar uma entrada DNS para um domínio

POST /v1/dns/{dominio}
$ curl -i https://api.gocache.com.br/v1/dns/meudominio.com.br \
    -X POST \
    -H 'GoCache-Token: meu_token' \
    -d 'name=www' \
    -d 'type=A' \
    -d 'content=192.168.256.99' \
    -d 'ttl=600' \
    -d 'cloud=1'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/dns/meudominio.com.br");

curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$headers = array(
                    "GoCache-Token: meu_token"
                );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$args = array(
                "name=www",
                "type=A",
                "content=192.168.256.99",
                "ttl=600",
                "cloud=1"
            );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $args));
$response = curl_exec($ch);

$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
name String Prefixo da entrada (e.g.: www, blog, loja, ...)
type String Tipo de entrada DNS
Valores permitidos: "A", "CNAME", "NS", "TXT", "MX", "SRV"
content String Valor da entrada DNS. Para entradas do tipo SRV, este campo define o target.
ttl Number TTL da entrada DNS, em segundos
cloud Number Se a entrada está (1) ou não (0) habilitada para ser servida pela GoCache
Valores permitidos: 0, 1
priority Number Prioridade, apenas para entradas de tipo MX e SRV
weight Number Peso, obrigatório somente para entradas do tipo SRV
port Number Porta, obrigatório somente para entradas do tipo SRV
HTTP/1.1 200 OK
{
    "status_code": 1,
    "response": {
        "records" : [
            {
                "name" : "www"
                "content" : "192.168.256.99",
                "type" : "A",
                "ttl" : "600"
                "cloud" : "1",
                "record_id" : "99995",
            }
        ]
    }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("Resultado: ID da entrada: " . $obj->response->records[0]->record_id);
}
?>

Listar entradas DNS

Listar entradas DNS de um domínio

GET /v1/dns/{dominio}
$ curl -i https://api.gocache.com.br/v1/dns/meudominio.com.br \
    -X GET \
    -H 'GoCache-Token: meu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/dns/meudominio.com.br");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$headers = array(
                    "GoCache-Token: meu_token"
                );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>


HTTP/1.1 200 OK
{
    "status_code": 1,
    "response": {
        "records" : [
            {
                "name" : "www"
                "content" : "192.168.254.1",
                "ttl" : "600"
                "cloud" : "0",
                "type" : "A",
                "record_id" : "99990",
            },
            {
                "name" : "blog"
                "content" : "blogdomeusite.com",
                "ttl" : "1800"
                "cloud" : "1",
                "type" : "CNAME",
                "record_id" : "99991",
            },
            {
                "name" : "_mysrv"
                "content" : "servidor.com",
                "ttl" : "1800"
                "weight": "0",
                "port": "443",
                "priority": "0",
                "cloud" : "0",
                "type" : "SRV",
                "record_id" : "99992",
            },
            {
                "name" : "@"
                "content" : "ns.meudominio.com.br",
                "ttl" : "14400"
                "cloud" : "0",
                "type" : "NS",
                "record_id" : "99993",
            }
        ]
    }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("Resultado: Encontradas " . count($obj->response->records) . " entradas DNS\n");

}
?>

Alterar entrada DNS

Alterar uma entrada DNS de um domínio

PUT /v1/dns/{dominio}
$ curl -i https://api.gocache.com.br/v1/dns/meudominio.com.br \
        -X PUT \
        -H 'GoCache-Token: meu_token' \
        -d 'record_id=1234567' \
        -d 'name=www' \
        -d 'type=A' \
        -d 'content=12.34.56.78' \
        -d 'ttl=600' \
        -d 'cloud=1'
<?php

curl_init("https://api.gocache.com.br/v1/dns/meudominio.com.br");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$headers = array(
            "GoCache-Token: meu_token"
                );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$args = array(
            "name=www",
            "type=A",
            "content=12.34.56.78",
            "record_id=1234567",
            "ttl=600",
            "cloud=1"
            );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $args));

$response = curl_exec($ch);

$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

?>

Parâmetros

Campo Opcional Tipo Descrição
name String Prefixo da entrada (e.g.: www, blog, loja, ...)
type String Tipo de entrada DNS
Valores permitidos: "A", "CNAME", "NS", "TXT", "MX", "SRV"
content String Valor da entrada DNS. Para entradas do tipo SRV, este campo define o target
record_id Number ID da entrada a ser alterada
ttl Number TTL da entrada DNS, em segundos
cloud Number Se a entrada está (1) ou não (0) habilitada para ser servida pela GoCache
Valores permitidos: 0, 1
priority Number Prioridade, apenas para entradas de tipo MX e SRV
weight Number Peso, obrigatório somente para entradas do tipo SRV
port Number Porta, obrigatório somente para entradas do tipo SRV
HTTP/1.1 200 OK
{
    "status_code": 1
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("Resultado: " . $obj->status_code);
}
?>

Remover entrada DNS

Remover uma entrada DNS de um domínio

DELETE /v1/dns/{dominio}
$ curl -i https://api.gocache.com.br/v1/dns/meudominio.com.br \
    -X DELETE \
    -H 'GoCache-Token: meu_token' \
    -d 'record_id=99996'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/dns/meudominio.com.br");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$headers = array(
                    "GoCache-Token: meu_token"
                );
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_POSTFIELDS, "record_id=99996");
$response = curl_exec($ch);

$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
record_id Number ID da entrada a ser removida
HTTP/1.1 200 OK
{
    "status_code": 1
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("Resultado: " . $obj->status_code);
}
?>