Docs

Documentație SDK

Ghid complet de integrare a clientului de licențiere CannyRO în plugin-urile tale WordPress.

1. Getting Started

Descarcă fișierul SDK din contul tău și plasează-l în directorul inc/ al plugin-ului tău:

📄 class-cannyro-license-client.php

Integrare minimă

Adaugă următorul cod în fișierul principal al plugin-ului tău (de obicei în callback-ul plugins_loaded sau direct la nivelul rădăcinii):

require_once __DIR__ . '/inc/class-cannyro-license-client.php';
new CannyRO_License_Client([
    'server_url'  => 'https://license.cannyagency.com',
    'plugin_file' => __FILE__,
    'plugin_slug' => 'your-plugin-slug',
    'plugin_name' => 'Your Plugin Name',
    'version'     => '1.0.0',
]);

2. API Endpoints

Toate endpoint-urile sunt publice (nu necesită autentificare WordPress) și acceptă/returnează JSON.

Endpoint Metodă Descriere
/wp-json/cannyro-license/v1/activate POST Activează o licență pe un domeniu
/wp-json/cannyro-license/v1/deactivate POST Dezactivează licența
/wp-json/cannyro-license/v1/validate POST Validează token-ul activ
/wp-json/cannyro-license/v1/check-update GET Verifică dacă există un update
/wp-json/cannyro-license/v1/download GET Descarcă pachetul plugin-ului
/wp-json/cannyro-license/v1/health GET Status server

3. Parametri activate

Trimite un POST la endpoint-ul /wp-json/cannyro-license/v1/activate cu următorul body JSON:

{
  "purchase_code": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "site_url": "https://yoursite.com",
  "plugin_version": "1.0.0",
  "php_version": "8.2.0",
  "wp_version": "6.7"
}

Răspuns succes (HTTP 200)

{
  "success": true,
  "token": "...",
  "expires_at": 1234567890,
  "license_type": "regular"
}

Stochează token-ul returnat — acesta va fi trimis la fiecare cerere de validare ulterioară.

4. Coduri de eroare frecvente

Toate răspunsurile de eroare au forma { "code": "...", "message": "..." }.

Cod Descriere
purchase_code_not_found Codul nu există în sistem
already_activated Limita de activări atinsă
license_not_active Licența a fost revocată sau expirată
domain_mismatch Token-ul nu corespunde domeniului
rate_limited Prea multe cereri (429)

5. Support

Ai întrebări legate de integrare sau funcționare?

Timp de răspuns: de obicei în 24–48 de ore în zilele lucrătoare.