DNS template : records update
Omschrijving
Wijzig de DNS records van een DNS templateEndpoint
PATCH https://api.nextname.nl/v2/dns/templates/dnstemplate/records
of
PUT https://api.nextname.nl/v2/dns/templates/dnstemplate/records
Content-type: application/json
of
PUT https://api.nextname.nl/v2/dns/templates/dnstemplate/records
Content-type: application/json
Parameters
Bij een PATCH kunnen DNS records worden toegevoegd via de arrays (add), gewijzigd (update) of worden verwijderd (del) in het 'records' object.
| Parameter | Datatype | Omschrijving |
|---|---|---|
| Record toevoegen 'add[]' array in 'records' object: | ||
| name | String | hostnaam van het record (subdomein) @ voor apex-domein |
| type | Array | Het type record, mogelijke waarden: A, CNAME, , TXT, MX, SRV, AAAA, NS, CAA, TLSA, URLFWD (URL Forward)*, URLFWD301 (URL Forward 301)*, URLCLO (URL Cloaking)*, * URLFWD, URLFWD301 en URLCLO zijn geen officiële DNS records. Stel je deze records in dan wordt er een A en AAAA record toegevoegd voor de betreffende hostnaam die naar onze server verwijst die de forwards op webserver-niveau afhandelt. |
| content | String |
De inhoud van het DNS record De tekst {domainname} wordt in de template vervangen door de naam van de domeinnaam. |
| priority | Integer | Prioriteit van het record, alleen voor MX en SRV |
| weight | Integer | Het gewicht van het record, alleen voor SRV |
| port | Integer | De poort van het record, alleen voor SRV |
| Record wijzigen 'update[]' array in 'records' object: | ||
| record_id | String | De unieke ID van het te wijzigen record |
| name | String | hostnaam van het record (subdomein) @ voor apex-domein |
| content | String | De inhoud van het DNS record
De tekst {domainname} wordt in de template vervangen door de naam van de domeinnaam. |
| priority | Integer | Prioriteit van het record, alleen voor MX en SRV |
| weight | Integer | Het gewicht van het record, alleen voor SRV |
| port | Integer | De poort van het record, alleen voor SRV |
| Record verwijderen 'del[]' array in 'records' object: | ||
| record_id | String | De unieke ID van het te wijzigen record |
Bij een PUT worden alle bestaande DNS records vervangen door de nieuwe DNS records.
| Parameter | Datatype | Omschrijving |
|---|---|---|
| name | String | hostnaam van het record (subdomein) @ voor apex-domein |
| type | Array | Het type record, mogelijke waarden: A, CNAME, , TXT, MX, SRV, AAAA, NS, CAA, TLSA, URLFWD (URL Forward)*, URLFWD301 (URL Forward 301)*, URLCLO (URL Cloaking)*, * URLFWD, URLFWD301 en URLCLO zijn geen officiële DNS records. Stel je deze records in dan wordt er een A en AAAA record toegevoegd voor de betreffende hostnaam die naar onze server verwijst die de forwards op webserver-niveau afhandelt. |
| content | String | De inhoud van het DNS record |
| priority | Integer | Prioriteit van het record, alleen voor MX en SRV |
| weight | Integer | Het gewicht van het record, alleen voor SRV |
| port | Integer | De poort van het record, alleen voor SRV |
Antwoord
Bij alleen wijzigen en/of verwijderen:
HTTP status code: 204 No Content
Bij toevoegen:
HTTP status code: 200 Ok
Alleen wanneer er records worden toegevoegd:
| Parameter | Type | Omschrijving |
|---|---|---|
| record_id | Array | De unieke ID's van de aangemaakte DNS records |
Voorbeelden
Beschrijving:
Wijzig de DNS records van een DNS template: voeg 2 records toe, wijzig 1 record en verwijder 2 records
Antwoord:
Wijzig de DNS records van een DNS template: voeg 2 records toe, wijzig 1 record en verwijder 2 records
Opdracht in PHP:
<?php
$env = "live"; // live or test
$api_key = "XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$api_url = "/v2/dns/templates/a78fcfb7ad682b2d/records";
$api_host = $env === "live" ? "https://api.nextname.nl" : "https://api-test.nextname.nl";
$a_data = [
"add" => [
[
"name" => "subdomain",
"type" => "A",
"content" => "123.123.123.123"
],
[
"name" => "mail",
"type" => "A",
"content" => "123.123.123.124"
],
[
"name" => "@",
"type" => "MX",
"content" => "mail.{domainname}",
"priority" => 10
]
],
"update" => [
[
"record_id" => "3d9c6e743da76b23",
"name" => "www",
"content" => "123.123.123.124"
]
],
"del" => [
[
"record_id" => "db5e725d9f0737fc"
],
[
"record_id" => "8c550d41ed68dae2"
]
]
];
$json_data = json_encode($a_data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_host . $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json_data );
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $api_key","Content-Type: application/json"));
$output = curl_exec($ch);
echo $output;
Opdracht in cURL:
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{"add":[{"name":"subdomain","type":"A","content":"123.123.123.123"},{"name":"@","type":"MX","content":"mail.somedomain.com","priority":10}],"update":[{"record_id":"3d9c6e743da76b23","name":"www","content":"123.123.123.124"}],"del":[{"record_id":"db5e725d9f0737fc"},{"record_id":"8c550d41ed68dae2"}]}' \
https://api-test.nextname.nl/v2/dns/templates/a78fcfb7ad682b2d/records
HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8
{
"record_id": [
"a7e41abec7d0afae",
"7ee77c4bf808bd98",
"cdfbd3c46108e99f"
]
}
Beschrijving:
Vervang alle DNS records van een DNS template door een nieuwe reeks
Antwoord:
Vervang alle DNS records van een DNS template door een nieuwe reeks
Opdracht in PHP:
<?php
$env = "live"; // live or test
$api_key = "XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$api_url = "/v2/dns/templates/a78fcfb7ad682b2e/records";
$api_host = $env === "live" ? "https://api.nextname.nl" : "https://api-test.nextname.nl";
$a_data = [
"records" => [
[
"name" => "www",
"type" => "CNAME",
"content" => "testdomeinnaam.nl"
],
[
"name" => "@",
"type" => "A",
"content" => "123.123.123.124"
],
[
"name" => "mail",
"type" => "A",
"content" => "123.123.123.123"
],
[
"name" => "@",
"type" => "MX",
"content" => "mail.somedomain.com",
"priority" => 10
]
[
"name" => "@",
"type" => "TXT",
"content" => "v=spf1 mx a ip4:123.123.123.124 -all"
],
],
];
$json_data = json_encode($a_data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_host . $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json_data );
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $api_key","Content-Type: application/json"));
$output = curl_exec($ch);
echo $output;
Opdracht in cURL:
curl -X PATCH -H "Content-Type: application/json" -H "Authorization: Bearer XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{"records":[{"name":"www","type":"CNAME","content":"testdomeinnaam.nl"},{"name":"@","type":"A","content":"123.123.123.124"},{"name":"mail","type":"A","content":"123.123.123.123"},{"name":"@","type":"MX","content":"mail.somedomain.com","priority":10},{"name":"@","type":"TXT","content":"v=spf1 mx a ip4:123.123.123.124 -all"}]}' \
https://api-test.nextname.nl/v2/dns/templates/a78fcfb7ad682b2d/records
HTTP/1.1 200 OK Content-Type: application/json;charset=utf-8
{
"record_id": [
"1dce64110e464fbe",
"c60a03dd83b7c2e7",
"6eabd1c01715889a",
"c2e321e7b80a2c6e",
"6b4dd7989ff92362"
]
}