jquery - mexico - godaddy us
Agregar un registro A con GoDaddy API (2)
Intento agregar un registro A a un dominio usando la API de GoDaddy, pero obtengo un error de respuesta 422 (Entidad no procesable) en la consola de mi navegador. Sin embargo, cuando pruebo la solicitud usando la documentación de GoDaddy en https://developer.godaddy.com/doc#!/_v1_domains/recordAdd/ArrayOfDNSRecord recibo un error de respuesta 404 con el siguiente cuerpo:
Cuerpo de respuesta de error:
{
"code": "UNKNOWN_DOMAIN",
"message": "The given domain is not registered, or does not have a zone file",
"name": "_Class"
}
El dominio al que estoy intentando agregar el registro A definitivamente existe, por lo que no sé por qué devolvería un error 404. No tengo problemas para recuperar todos los registros A que pertenecen al dominio mediante una solicitud GET, pero cuando intento ejecutar la solicitud PATCH a continuación, obtengo los errores.
¿Hay algún problema con la API de GoDaddy o hay algún problema con la forma en que estoy estructurando mi solicitud?
Petición PATCH que devuelve error
$.ajax({
type: ''PATCH'',
url: ''https://api.godaddy.com/v1/domains/{domain}/records'',
data: {
''records'': [{
''type'': ''A'',
''name'': ''test'',
''data'': ''255.255.255.255''
}]
},
headers: {
''Authorization'': ''sso-key {API_KEY}:{API_SECRET}''
},
success: function(body) {
console.log(body);
}
});
GET solicitud que funciona bien
$.ajax({
type: ''GET'',
url: ''https://api.godaddy.com/v1/domains/{domain}/records/A'',
headers: {
''Authorization'': ''sso-key {API_KEY}:{API_SECRET}''
},
success: function(body) {
$.each(body, function(i, v) {
$(''body'').append(''<p>Name: '' + v.name + ''<br/>Data: '' + v.data + ''</p>'');
});
}
});
Luché para hacer una solicitud de jQuery al servidor api.godaddy.com a través del navegador, y no estoy seguro de que el servidor permita el verbo PATCH por algún motivo.
Probé esta solicitud curl e ingresé con éxito un nuevo registro A para uno de mis dominios. Obtuve el objeto vacío = {}
devuelto después de curl-ing.
También lo dig
y grabé después de un par de minutos:
curl -X PATCH https://api.godaddy.com/v1/domains/{domain}/records /
-H ''Authorization: sso-key xyz:xyz'' /
-H ''Content-Type: application/json'' /
--data ''[{"type": "A","name": "blnk1","data": "192.1.2.3","ttl": 3600}]''
➜ ~ dig blnk.{domain}
;; ANSWER SECTION:
blnk.{domain}. 3599 IN A 192.1.2.3
También debe especificar el dominio:
$.ajax({
type: ''PATCH'',
url: ''https://api.godaddy.com/v1/domains/{domain}/records'',
data: {
''domain'': ''<domain>'',
''records'': [{
''type'': ''A'',
''name'': ''test'',
''data'': ''255.255.255.255''
}]
},
headers: {
''Authorization'': ''sso-key {API_KEY}:{API_SECRET}''
},
success: function(body) {
console.log(body);
}
});
También tenga en cuenta que el campo ttl opcional debe ser de al menos 600.