OVH Community, votre nouvel espace communautaire.

Modifier DNS avec API


trandbert
07/10/2016, 14h38
Bonjour,

Je suis développeur en PHP et j'ai besoin d'utiliser l'api OVH dans un projet.

L'objectif est de pouvoir commander un nom de domaine et de lui affecter des DNS particuliers directement à l'achat.
J'arrive à commander un nom de domaine dans un premier temps et à modifier les DNS dans un second temps mais je n'arrive pas à modifier les DNS avant de commander le nom de domaine.

Voici un extrais du code que j'ai fait:
Code PHP:
            $ovh = new OvhApi();
            
$url 'monsupersite.ovh';
            
// On créé un panier
            
$cart $ovh->post('/order/cart', array(
                
'ovhSubsidiary' => 'FR'
            
));
            
// on assigne le panier au compte
            
$ovh->post('/order/cart/' $cart ["cartId"] . '/assign');
            
// recuperation des infos de domaine
            
$domain_res $ovh->get('/order/cart/'.$cart ["cartId"].'/domain', [ 'domain' => $url]);
            
// S'il est disponible
            
if(isset($domain_res) && $domain_res[0]['orderable']){
                
$domain $ovh->post('/order/cart/'.$cart ["cartId"].'/domain', [ 'domain' => $url]);
                
// Et on change les DNS
                
$nameServerType $ovh->put('/domain/'.$url, [
                    
'nameServerType' => 'external'
                
]);
                
$dns $ovh->post('/domain/'.$url.'/nameServers/update', [
                    
'nameServers' => [
                        [
                            
'host' => 'sdns2.ovh.net'
                        
],
                        [
                            
'host' => 'swhs01.heosys.net'
                        
]
                    ]
                ]);
                
// On envoie la configuration DNS
                
$ovh->post('/order/cart/'.$cart ["cartId"].'/item/'.$domain['itemId'].'/configuration', [
                    
'label' => 'DNS',
                    
'value' => '/domain/'.$url.'/nameServer'
                
]);
                 
// On valide le panier
                 
$ovh->get('/order/cart/'.$cart ["cartId"].'/checkout');
                 
$bonDeCommande $ovh->post('/order/cart/'.$cart ["cartId"].'/checkout'); 
Mais l'api me retourne ça (dans la variable $dns):
Code:
array (
  'message' => 'This service does not exist',
)
Je comprend pourquoi il me dit que le service n’existe pas (je ne l'ai pas encore acheté) mais je ne comprends pas comment faire pour contourner le problème.

Merci d'avance et bonne journée
Alex