A propos
Technique
Opérations

SOAPI OVH


Découvrez l'API OVH basée sur SOAP et WSDL. Cliquez ici.



Qu'est ce que c'est ?

Le Service de PRE-PAIEMENT est un moyen d'utiliser les points que vous avez cumulé ou acheté sur votre compte fidélité ou revendeur.
Le système se base sur le système de commande classique, ou sur un système specialisé pour l'automatisation des commandes.
100 points sur votre compte équivalent à 1 FCFA TTC.



Tarification

Un point sur votre compte, équivaut a un centime de Franc CFA hors taxe.
Pour acheter des points, vous devez vous acquiter de la TVA si vous y êtes soumis.




Utiliser des points :

Vous pouvez payer des bons de commande faits avec le systeme specialisé ou des bons de commande réalisés avec la commande classique.
Avec la règle "100 points = 1 FCFA hors taxe" , vous pouvez aisément savoir combien de points sont nécessaires pour payer votre bon de commande.

Par exemple : j'ai un bon de commande pour un serveur dédié de 54 500FCFA . Je peux le payer avec 54 500 000 points a partir de mon compte.



Revendeurs :

Le pack commercial web propose les noms de domaine à des tarifs ultra préférentiels, au plus près de ceux pratiqués par les Registres comme l’Afnic, Verisign, Nominet, DNSbe, ou encore Eurid.

Automatisation par batch-mail


Ce système vous permet de convertir vos points en commandes et d'effectuer des opérations sur vos services.

Le procédé de conversion se fait par l'envoi d'un mail formaté à l'adresse batch@ovh.com, ou par l'utlisation de SOAPI. Ce mail devra correspondre à une syntaxe définie ci-dessous et être authentifié par une des méthode suivante : mot de passe, signature MD5, PGP ou SMIME.

Synoptique à suivre:
  • 1. créez votre commande/opération en suivant la syntaxe définie ci-dessous
  • 2. authentifiez votre commande par une des méthodes suivantes : mot de passe, signature MD5, PGP ou SMIME
  • 3. envoyez votre commande/opération par mail à batch@ovh.com
    (utilisez batch-test@ovh.com si vous voulez effectuer un test)

Pour créer votre mail, voici les règles à respecter:
  • Le système de pré-paiement ne comprend que les mails formatés et envoyés en text/plain sur batch@ovh.com
  • Si vous utilisez l'authentification MD5, les signatures doivent être ajoutées à la fin de l'email en text/plain.
  • N'attachez pas de pièce jointe.

N'hésitez pas à utiliser l'adresse batch-test@ovh.com qui vous permet de simuler la commande/opération et donc de vous familiariser avec le système de mails.

Un assistant générateur de batch-mail est à votre disposition dans le manager, section Administration > Espace fidélité/revendeur > Outils d'automatisations.






Liste des commandes/opérations disponibles


Création d'un domaine / Rapatriement d'un domaine

                    ## this section specify batch options

                    batch.version: 4.0
                    batch.account: XXXXX-ovh
                    batch.referer: ma-ref-123456
                    batch.type: orderDomain
                    batch.auth.method: md5
                    batch.autopayment: yes

                    ## this section specify order

                    order.domain.name: ovh.com
                    order.domain.command: create    # can be: create | transfer | renew
                    order.offer: gold               # can be: gold | platine | diamond

                    ## this section specify owner

                    # give either contact.owner.id or contact.owner.<name|firstname|...>
                    contact.owner.legalform: corporation # can be: corporation | individual | association | other
                    contact.owner.vat:
                    contact.owner.name: XXXX
                    contact.owner.firstname: XXXXX
                    contact.owner.organisation: XXX
                    contact.owner.email: XXX@XXXX.net
                    contact.owner.address: XXX XXX XXX XXX
                    contact.owner.city: XXXXXX
                    contact.owner.zip: XXXXX
                    contact.owner.country: FR
                    contact.owner.language: fr
                    contact.owner.phone: +33.XXXXXXXX
                    contact.owner.fax:

                    ## this section specify contacts

                    contact.tech.id: ve174-ovh
                    # give either contact.tech.id or contact.tech.<name|firstname|...>
                    contact.admin.id: ve174-ovh
                    # give either contact.admin.id or contact.admin.<name|firstname|...>
                    contact.billing.id: ve174-ovh
                    # give either contact.billing.id or contact.billing.<name|firstname|...>

                    ## this section is mandatory for .fr

                    option.identification.method: birthPlace # can be: siren | inpi | birthPlace | afnicIdent
                    option.identification.legalName: XXX
                    option.identification.legalNumber: 123456789
                    option.identification.afnicIdent:
                    option.identification.birthDate: 01/01/2008
                    option.identification.birthCity: XXXXXX
                    option.identification.birthDepartement: XX
                    option.identification.birthCountry: FR

                    ## this section let you specify dns, not needed if you take a sharedHosting

                    option.dns.group: hosting # can be: hosting | dedicated | external
                    option.dns.master: dns12.ovh.net
                    option.dns.slave1: ns12.ovh.net
                    option.dns.slave2: XXXX.ovh.net 127.0.0.1
                    option.dns.slave3:
                    option.dns.slave4:

                    ## authinfo code for gTlds and .pl transfer

                    option.domain.authinfo: XXXXXXXXXXXXXXX

                    ## allow you protect your whois data in gtlds domain names

                    option.owo: yes
                        
                      






Renouvellement d'un domaine

                    batch.version: 4.0
                    batch.account: XXXXX-ovh
                    batch.referer: ma-ref-123456
                    batch.type: orderDomain
                    batch.auth.method: md5
                    batch.autopayment: yes

                    order.domain.name: ovh.com
                    order.domain.command: renew

                    batch.auth.md5: b0a24f10d535d1b9ef40e50e97a0c312
                        
                      






Appel à une fonction SOAPI : Changement des DNS d'un domaine

                        batch.version: 4.0
                        batch.account: XXXXXX-ovh
                        batch.referer: ma-ref-123456
                        batch.type: soapi
                        batch.auth.method: md5
                        batch.autopayment: yes

                        soapi.method: domainDnsUpdate
                        soapi.param.domain: ovh.com
                        soapi.param.dns1: dns12.ovh.net 
                        soapi.param.dns2: ns12.ovh.net
                        
                      






Explication des méthodes d'authentification




Signature en MD5


C'est une méthode qui se base sur le calcul du hash MD5 de l'email que vous envoyez et de la passphrase que vous avez saisi dans le manager. Pour utiliser cette méthode il suffit de :
  • indiquer que vous souhaitez utiliser la méthode MD5
    batch.auth.method: md5
  • calculer le hash en MD5 de cet email. Vous pouvez utiliser un des scripts, en perl ou en PHP, fournis ci-dessous

  • ajouter à la fin de l'email le hash
    batch.auth.md5: 9b02cb2890ce787fdfeef72473a7a149

Script de génération du MD5 en perl

                         #!/usr/bin/perl
                         use strict;
                         use Digest::MD5 qw(md5_hex);

                         # fichier à signer
                         my $file = "email.txt";
                         
                         my $body;
                         open (F, $file);
                         while(<F>) {
                            $body.=$_;
                            print $_;
                         }
                         close(F);

                         my $passphrase = "MaPassPhraseQuiEstUnique";
                         my $texte_a_hasher = $passphrase.$body;
                         $texte_a_hasher =~ s/\s//g;

                         # génération du MD5
                         my $signature = md5_hex($texte_a_hasher);

                         $body .= "batch.auth.md5: $signature\n";
                         print $body;
                                  
                                  


Script de génération du MD5 en PHP

                         <?
                         // ouverture du fichier source
                         $body = @file_get_contents("email.txt");

                         // PassPhrase saisie dans le MANAGER
                         $passphrase = 'MaPassPhraseQuiEstUnique';

                         $texte_a_hasher = preg_replace('/\s/','',$passphrase.$body);

                         //génération du MD5
                         $signature = md5($texte_a_hasher);
                         $body .= 'batch.auth.md5: '.$signature;

                         // Affichage du Mail à envoyer
                         echo "$body\n" ;
                         ?>
                                  
                                  



Tableau des sections obligatoires ou optionnelles


Les sections obligatoires sont indiquées par un et les sections optionnelles sont notées 'option'.

create transfer renew soapi
batch
order
contact
option option option
soapi






Conversion des points en une commande de domaine


Batch


batch.version


Il faut indiquer le numéro de version.

exemple:
batch.version: 4.0

batch.account


Il faut indiquer le NIC Handle du bon de commande. Si vous utilisez le compte prépayé, les opérations sont faites sur ce NIC Handle.

exemple:
batch.account: XXXXXX-OVH

batch.referer


Vous pouvez indiquer une référence pour indentifier votre requête.

exemple:
batch.referer: ma-ref-123456

batch.type


Il faut indiquer le type de la requête, les valeurs possibles sont 'orderDomain' pour une création, rapatriement ou transfert d'un domaine, et 'soapi' pour une requête via SOAPI.

exemple:
batch.type: orderDomain

batch.auth.method


Le type de méthode d'authentification : md5, pgp, smime ou plain. Pour plus d'information sur les méthodes d'authentification, consultez la page technique du service de pré-paiement.

exemple:
batch.auth.method: md5

batch.autopayment


Il faut indiquer si le bon de commande doit être payé en utlisant le compte prepayé.

exemple:
batch.autopayment: yes






Order


order.domain.name


Il faut indiquer le nom du domaine.

exemple:
order.domain.name: ovh.com

order.domain.command


Il faut indiquer le type de la commande pour le nom de domaine : create, transfer ou renew.

exemple:
order.domain.command: create

order.hosting.type


Il faut indiquer le type d'hébergement: none pour aucun, 90plan, 720plan, mediaplan ou xxlplan.

exemple:
order.hosting.type: xxlplan

order.offer


Il faut indiquer le type d'offre pour le nom de domaine: gold, platine ou diamond.

exemple:
order.offer: diamond

order.resellerProfile


Il faut indiquer le type de revendeur: none pour aucun, whiteLabel pour marque blanche et agent pour agent.

exemple:
order.resellerProfile: none






Contact


Cette section définie les contacts du domaine :
  • propriétaire (owner),
  • administrateur (admin),
  • technique (tech),
  • et facturation (billing).

contact.owner.id


vous permet de définir le propriétaire en indiquant un nichandle.

exemple:
contact.owner.id: XXXXXX-OVH


contact.owner.name
contact.owner.firstname
contact.owner.legalform
contact.owner.organisation
contact.owner.address
contact.owner.zip
contact.owner.city
contact.owner.country
contact.owner.phone
contact.owner.fax
contact.owner.email
contact.owner.language
contact.owner.vat


Vous permet de définir le propriétaire en indiquant toutes les informations.

exemple:
                            contact.owner.name: MonNom contact.owner.firstname: MonPrénom contact.owner.legalform: individual contact.owner.organisation: OVH contact.owner.address: 140 Quai du Sartel contact.owner.city: Roubaix contact.owner.zip: 59100 contact.owner.country: FR contact.owner.phone: +33.123456789 contact.owner.fax: contact.owner.email: support@ovh.net contact.owner.language: fr contact.owner.vat:
                            

contact.admin.*
contact.tech.*
contact.billing.*


Le système est identique pour les autres contacts.






Option


option.identification.method
option.identification.legalName
option.identification.legalNumber
option.identification.afnicIdent
option.identification.birthDate
option.identification.birthCity
option.identification.birthDepartement
option.identification.birthCountry


Cette section est obligatoire pour la création et le rapatriement de domaine en .fr .

exemple:
                            option.identification.method: birthPlace option.identification.legalName: OVH option.identification.legalNumber: 123456789 option.identification.afnicIdent: option.identification.birthDate: XX/XX/2009 option.identification.birthCity: MaVille option.identification.birthDepartement: 59 option.identification.birthCountry: FR
                            


option.dns.master
option.dns.slave1
option.dns.slave2
option.dns.slave3
option.dns.slave4
option.dns.slave5


Cette section vous permet de définir les dns à utliliser pour la création ou le rapatriement d'un nom de domaine.

exemple:
                            option.dns.master: dns12.ovh.net option.dns.slave1: ns12.ovh.net option.dns.slave2: option.dns.slave3: option.dns.slave4: option.dns.slave5:
                            


option.owo


Cette section vous permet d'activer OwO (protection des données dans le Whois) pour vos domaines en .com, .net, .org, .info, .biz.

exemple:
                            option.owo: yes
                            


option.domain.authinfo


Cette section vous permet d'indiquer le code authinfo obligatoire pour les transferts des domaines gTlds (.com, .net, .org, .info, .biz) et .pl .

exemple:
                            option.domain.authinfo: XXXXXXXXXXXXXXX
                            






Soapi


soapi.method
soapi.param.*


Cette section permet d'appeler simplement des fonctions SOAPI. soapi.method indique le nom de la méthode à utiliser, le préfixe soapi.param. permet de définir tous les paramètres à passer à la fonction.

exemple:
                            soapi.method: zoneEntryAdd soapi.param.domain: ovh.com soapi.param.subdomain: sousdmaines soapi.param.fieldtype: A soapi.param.target: 127.0.0.1