> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vicem.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Documentation de l'API Domains Reseller pour la gestion de noms de domaine

## 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.

<Card title="Spécification OpenAPI" icon="code" href="https://github.com/mintlify/starter/blob/main/api-reference/openapi.json">
  Voir le fichier de spécification OpenAPI complet
</Card>

## 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
   * Exemple : `louis@vicem.com`

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 :

```php theme={null}
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: `louis@vicem.com`)
* `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

```php theme={null}
$endpoint = "https://vicem.com/modules/addons/DomainsReseller/api/index.php";
$action = "/billing/credits";
$email = "louis@vicem.com";
$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
```
