Skip to main content

Bienvenue

Cette documentation présente l’API Domains Reseller qui permet aux revendeurs de gérer leurs noms de domaine, renouvellements, facturation et autres opérations liées aux domaines.

Spécification OpenAPI

Voir le fichier de spécification OpenAPI complet

Authentification

Tous les endpoints de l’API nécessitent une authentification via deux headers HTTP personnalisés :

Headers requis

  1. username : L’adresse e-mail du client revendeur enregistré dans votre WHMCS
  2. token : Un token généré avec HMAC-SHA256 et encodé en base64

Génération du token

Le token doit être généré en utilisant la formule suivante :
base64_encode(hash_hmac("sha256", "<api-key>", "<email>:<gmdate('y-m-d H')>"))
// Note: hash_hmac SANS le paramètre true (retourne hex), puis base64_encode
Paramètres :
  • <api-key> : Votre clé API (ex: wZnzWHicPER6LoHdzFGG8Rr9HfneSixh)
  • <email> : L’adresse e-mail du revendeur (ex: [email protected])
  • gmdate('y-m-d H') : La date/heure UTC actuelle au format année-mois-jour heure (ex: 24-12-15 14)
Important : Le token est valide uniquement pour l’heure courante. Il doit être régénéré chaque heure.

Exemple d’implémentation PHP

$endpoint = "https://vicem.com/modules/addons/DomainsReseller/api/index.php";
$action = "/billing/credits";
$email = "[email protected]";
$apiKey = "wZnzWHicPER6LoHdzFGG8Rr9HfneSixh";

// Génération du token
// IMPORTANT: hash_hmac SANS le paramètre true (retourne hex), puis base64_encode
$token = base64_encode(hash_hmac("sha256", $apiKey, $email . ":" . gmdate("y-m-d H")));

$headers = [
    "username: " . $email,
    "token: " . $token
];

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $endpoint . $action);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($curl);
curl_close($curl);

Base URL

Toutes les requêtes doivent être effectuées vers :
https://vicem.com/modules/addons/DomainsReseller/api/index.php