Documentation API

Guide complet pour intégrer le serveur de licences AGS

Introduction

L'API AGS License Server vous permet d'intégrer facilement un système de gestion des licences sécurisé dans votre application. Cette API RESTful utilise le format JSON pour tous les échanges de données.

URL de base

https://ags.atnass.net

⚠️ Important

Toutes les requêtes doivent être envoyées via HTTPS. Les requêtes HTTP seront rejetées.

Authentification

Les endpoints publics de vérification ne nécessitent pas d'authentification. Pour les endpoints d'administration, utilisez l'authentification par token.

# Exemple avec token d'authentification
curl
-H "Authorization: Bearer YOUR_TOKEN" \
https://ags.atnass.net/api/admin/licenses

Endpoints de l'API

GET /api/license/check/{licenseKey}

Vérification simple d'une licence par sa clé.

Paramètres

  • licenseKey - Clé de licence à vérifier

Réponse

{
  "valid": true,
  "license": {
    "key": "AGS-XXXX-XXXX-XXXX",
    "type": "PREMIUM",
    "expires_at": "2025-12-31",
    "is_lifetime": false,
    "max_stores": 5,
    "max_users": 10,
    "max_products": 1000
  }
}
POST /api/license/activate

Active une licence sur le système actuel.

Corps de la requête

{
  "license_key": "AGS-XXXX-XXXX-XXXX",
  "system_info": {
    "cpu_id": "unique_cpu_id",
    "motherboard_id": "unique_mb_id",
    "disk_id": "unique_disk_id",
    "mac_address": "AA:BB:CC:DD:EE:FF",
    "os": "Windows 10"
  }
}

Réponse

{
  "success": true,
  "message": "Licence activée avec succès",
  "license": {
    "type": "PREMIUM",
    "expires_at": "2025-12-31",
    "max_stores": 5,
    "max_users": 10,
    "max_products": 1000,
    "is_lifetime": false
  }
}
POST /api/license/verify

Vérification complète avec empreinte système.

Corps de la requête

{
  "license_key": "AGS-XXXX-XXXX-XXXX",
  "system_info": {
    "cpu_id": "unique_cpu_id",
    "motherboard_id": "unique_mb_id",
    "disk_id": "unique_disk_id",
    "mac_address": "AA:BB:CC:DD:EE:FF",
    "os": "Windows 10"
  }
}
POST /api/license/validate

Valide le système actuel sans clé de licence.

Exemples d'utilisation

Exemple avec cURL

# Vérification simple curl https://ags.atnass.net/api/license/check/AGS-XXXX-XXXX-XXXX # Activation de licence curl -X POST \ -H "Content-Type: application/json" \ -d '{"license_key":"AGS-XXXX-XXXX-XXXX","system_info":{...}}' \ https://ags.atnass.net/api/license/activate

Exemple avec JavaScript

// Vérification avec fetch async function checkLicense(licenseKey) { const response = await fetch(`https://ags.atnass.net/api/license/check/${licenseKey}`); const data = await response.json(); if (data.valid) { console.log('Licence valide:', data.license); } else { console.log('Licence invalide'); } }

Exemple avec PHP

// Vérification avec cURL function checkLicense($licenseKey) { $url = "https://ags.atnass.net/api/license/check/" . $licenseKey; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $data = json_decode($response, true); return $data; }

Gestion des erreurs

L'API utilise les codes de statut HTTP standards et retourne des messages d'erreur en JSON.

Codes d'erreur courants

  • 400 - Requête invalide
  • 401 - Non autorisé
  • 404 - Licence non trouvée
  • 500 - Erreur serveur

Format des erreurs

{ "valid": false, "error": "LICENSE_NOT_FOUND", "message": "La licence spécifiée n'existe pas" }

SDK et intégration

Pour faciliter l'intégration, nous recommandons l'utilisation du SDK JavaScript inclus dans le projet AGS Gestion Stock.

💡 Conseil

Le SDK gère automatiquement la génération de l'empreinte système et les requêtes vers l'API. Consultez le fichier license.service.js pour plus de détails.

Points d'intégration recommandés

  • Vérification au démarrage de l'application
  • Validation périodique (toutes les 24h)
  • Contrôle avant les opérations critiques
  • Gestion des licences expirées

Bonnes pratiques

  • Stockez les réponses en cache pour éviter les requêtes répétées
  • Implémentez un fallback hors ligne pour les pannes réseau
  • Utilisez HTTPS pour toutes les communications
  • Gérez gracieusement les erreurs de réseau